CentOS 7.2 中 Kafka,Zookeeper的单机部署,伪分布式部署以及真正的分布式部署

Posted ChenHui_GXNU

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 7.2 中 Kafka,Zookeeper的单机部署,伪分布式部署以及真正的分布式部署相关的知识,希望对你有一定的参考价值。

由于kafka依赖于zookeeper,所以这里先安装zookeeper。

安装环境

先列一下安装环境:

操作系统:centos 7.2

JDK版本:1.8.1

kafka版本:2.11-0.10.1.1

zookeeper版本:zookeeper-3.4.9

 

zookeeper的下载、配置、启动

 

zookeeper下载链接:

http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.9/

zookeeper的安装路径:/usr/local/src

zookeeper配置

首先去到zookeeper配置文件所在目录:cd /usr/local/src/zookeeper-3.4.9/conf

然后复制一份zoo_sample.cfg并重命名为zoo.cfg,通过命令vi修改zoo.cfg 文件,改动的参数如下:

修改dataDir目录的位置,dataDir=/usr/local/src/zookeeper-3.4.9/data/zookeeper

修改dataLofDir目录的位置,dataLogDir=/usr/local/src/zookeeper-3.4.9/log

注意,上面两个文件夹的位置,要确保他们是真的存在,如果不存在,先手动创建他们。可以通过如下命令创建文件夹:

mkdir -p /usr/local/src/zookeeper-3.4.9/data/zookeeper

mkdir -p /usr/local/src/zookeeper-3.4.9/log

 

在/usr/local/src/zookeeper-3.4.9/data/zookeeper 目录下创建一个myid文件,里面写1,第二个zookeeper机器写2,第三个zookeeper写3。

可以通过命令来创建myid文件,并写入数字1,2,3,命令如下:

 echo "1"> /usr/local/src/zookeeper-3.4.9/data/zookeeper/myid

 echo "2"> /usr/local/src/zookeeper-3.4.9/data/zookeeper/myid

 echo "3"> /usr/local/src/zookeeper-3.4.9/data/zookeeper/myid

 

在配置文件底部添加zookeeper集群的ip

server.1=192.168.7.64:2888:3888

server.2=192.168.7.65:2888:3888

server.3=192.168.7.66:2888:3888

server.数字中的1,2,3 就是上面myid里面写的1,2,3

注意,上面只是一个机器的配置文件的修改,你还要修改其他两个机器的配置文件,修改步骤都是一样的

其他2个机器也是这样修改配置文件。

 

zookeeper启动

 

当3个机器的配置文件都修改好了之后,可以开启zookeeper,启动如下:./zkServer.sh start

 

 

验证启动状态:./zkServer.sh status

 

 

 

Kafka下载、配置、启动

 

kafka目前使用版本为2.11-0.10.1.1。

kafka下载

下载地址:https://www.apache.org/dyn/closer.cgi?path=/kafka/0.10.1.1/kafka_2.11-0.10.1.1.tgz

 

Kafka的安装路径为:/usr/local/src

 

kafka配置

去到kafka配置文件所在目录:cd /usr/local/src/kafka_2.11-0.10.1.1/config,

然后通过命令vi修改配置文件:vi server.properties

在Server Basics 添加如下信息:host.name 是本机ip, port 默认端口号可不改,broker.id 如果是配第一个写1,第二个写2

 

 

修改log的存放路径,例如:log.dirs=/usr/local/src/kafka_2.11-0.10.1.1/tmp/kafka-pogs. 主要要确保该路径是存在的。

如果路径不存在,可以通过命令来创建:mkdir -p /usr/local/src/kafka_2.11-0.10.1.1/tmp/kafka-logs

 

 

修改zookeeper的连接地址

 

 

 

kafka启动

 

去到kafka的bin目录:cd /usr/local/src/kafka_2.11-0.10.1.1/bin

 

然后通过命令启动kafka:[root@CentOS7 bin]# ./kafka-server-start.sh ../config/server.properties

你也可以通过守护进程的方式启动kafka:

[root@CentOS7 bin]# ./kafka-server-start.sh -daemon ../config/server.properties

或者[root@CentOS7 bin]# nohup ./kafka-server-start.sh  ../config/server.properties &

 

当kafka和zookeeper都启动好之后,可以通过在kafka生产消息和消费消息来验证kafka是否能正常使用。

生产消息命令:

./kafka-console-producer.sh --broker-list 192.168.7.63:9092,192.168.7.64:9092,192.168.7.65:9092 --topic albert

 

 

消费消息命令:

./kafka-console-consumer.sh --zookeeper 192.168.7.64:2181,192.168.7.65:2181,192.168.7.66:2181 --topic albert

 

以上是关于CentOS 7.2 中 Kafka,Zookeeper的单机部署,伪分布式部署以及真正的分布式部署的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot Kafka

kafka单机环境搭建及其基本使用

Kafka实战-Kafka的自我定位

[异常处理]class kafka.common.UnknownTopicOrPartitionException (kafka.server.ReplicaFetcherThread)

Kafka 0.7.2 是不是与 Java 8 兼容

CentOS 7.2 开发环境 配置