搭建kafka及zookeeper集群

要搭建一个kafka集群,但是kafka又是基于zookeeper的,所以需要先搭建一个zookeeper集群

环境:centos 7(虚拟机)

jdk :1.8(官网下载)

zookeeper:3.4.9(官网下载即可)

接下来:

1. 解压 tar --zxvf zookeeper-3.4.9.tar.gz

2. 重命名 mv zookeeper-3.4.9 zookeeper

3. 创建文件夹

cd zookeeper

mkdir logs

mkdir data

4. 进入conf文件夹下,复制配置文件zoo_sample.cfg,并将新文件夹命令为zoo.cfg

5. 修改zoo.cfg的内容:vi zoo.cfg

clientPort=2181
dataDir=/opt/zookeeper/data
dataLogDir=/opt/zookeeper/logs

server.1=192.168.56.72:2881:3881
server.2=192.168.56.73:2881:3881
server.3=192.168.56.74:2881:3881

其中的data和logs文件夹就是之前创建的

 6. 创建myid文件,就是在data目录下创建即可

值是面server后面的数字,我的三台虚拟机的myid文件的值分别是1,2,3,和上面的配置对应上了

 这样配置就可以了。

验证一下效果:

分别启动一下zookeeper,进入bin目录 ./zkServer.sh start

通过jps查看:

看到QuorumPeerMain就代表成功了,也可以执行./zkServer.sh status

zookeeper已经安装完毕接下来进行kafka的安装:

我用的kafak是 https://archive.apache.org/dist/kafka/0.8.1/kafka_2.9.2-0.8.1.tgz 

1.解压:tar -zxvf kafka_2.9.2-0.8.1.tgz 并命名为kafka

2.创建logs文件夹,后面配置会用到

3.修改config文件下的server.properties文件

broker.id=0 //这个值建议与zookeeper里面的myid保持一致

host.name = 192.168.56.72 //本机ip,不要配置为localhost

log.dir= /opt/kafka/logs  //刚才创建的logs文件夹

zookeeper.connect = 192.168.56.72:2181,192.168.56.73:2181,192.168.56.74:2181

message.max.byte=5048576     //kafka一条消息容纳的消息最大为多少

default.replication.factor=2   //每个分区默认副本数量

replica.fetch.max.bytes=5048576

4.配置完成后启动kafka

bin/kafak-server-start.sh ./config/server.properties (如需后台启动,加上参数-daemon)

另外如果报错,需要加入slf4j-nop-1.7.6.jar(放置在kafak/lib下面)

附链接:http://www.slf4j.org/dist/slf4j-1.7.6.zip

如果还报错,尝试关闭防火墙,由于用的是centos 7:

systemctl stop firewalld.service

systemctl disable firewalld.service

验证结果:

创建topic

./kafak-topics.sh --create zookeeper 192.168.56.72:2181 --replication-factor 1 --partition --topic check

查看topic列表

./kafka-topics.sh --lst --zookeeper 192.168.56.72:21281

生产者发送消息

./kafak-console-producer.sh --broker-list 192.168.56.72:9092 --topic check

消费者消费消息

./kafka-console-consumer.sh --zookeeper 192.168.56.72:2181 --topic check --from-beginning

实例截图:

 

posted @ 2019-05-17 01:08  telunike  阅读(1447)  评论(1编辑  收藏  举报