当前位置:   article > 正文

zookeeper 和 kafka 搭建集群

zookeeper 和 kafka 搭建集群

zookeeper 和 kafka 搭建集群步骤:

操作系统:linuxcentos7

准备3台机器,3个IP:
192.168.211.149 es01
192.168.211.137 es02
192.168.211.132 es03

zookeeper版本号:zookeeper-3.4.5

kafka版本号:kafka_2.13-3.1.0

1.搭建zookeeper集群

1.1.上传软件包至 /opt 目录并解压

1.2.修改zoo.cfg内容
cd   /opt/zookeeper-3.4.5/conf/
cp   zoo_sample.cfg zoo/cfg
vi zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zk/data
dataLogDir=/opt/zk/logs
clientPort=2181
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
server.1=192.168.211.149:2888:3888
server.2=192.168.211.137:2888:3888
server.3=192.168.211.132:2888:3888

1.3  修改完成后,可以把这个文件复制到另外两台机器同样的目录中,命令如下:
scp /opt/zookeeper-3.4.5/conf/zoo.cfg    root@192.168.211.137:/opt/zookeeper-3.4.5/conf/
输入yes  输入137机器的密码即可
scp /opt/zookeeper-3.4.5/conf/zoo.cfg    root@192.168.211.132:/opt/zookeeper-3.4.5/conf/
输入yes  输入132机器的密码即可

1.4  3台机器需要创建目录并创建myid
mkdir -p  /opt/zk/data
mkdir -p  /opt/zk/logs
cd  /opt/zk/data
es01 输入:echo 1 >myid
es02 输入:echo 2 >myid
es03 输入:echo 3 >myid

1.5  启动zookeeper
cd  /opt/zookeeper-3.4.5/bin
./zkServer.sh  start

3台机器启动后,输入:jps  查看是否有进程,如有进程,则启动成功
情况1:如出现以下情况(本次是03节点出现这种情况)

需要打开目录:/tmp/hsperfdata_es03 看一下是否存在4420 这个文件
存在  rm -rf  4420 删除即可

情况2.输入:jps  有如下报错:

需要执行命令:yum install -y java-1.8.0-openjdk-devel
安装完毕,重新输入jps 即可。

查看角色命令:
./kServer.sh   status
3台机器中1台出现:Mode:leader    另外2台出现:Mode:follower
即zookeeper集群安装并启动成功


2. 安装kafka
2.1.上传软件包至 /opt 目录并解压
2.2.修改zoo.cfg内容

cd   /opt/kafka_2.13-3.1.0/conf/
vi  server.properties

broker.id=3
listeners=PLAINTEXT://192.168.211.132:9092
zookeeper.connect=192.168.211.149:2181,192.168.211.137:2181,192.168.211.132:2181
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/opt/kafka_2.13-3.1.0/logs
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=18000
group.initial.rebalance.delay.ms=0



scp /opt/kafka_2.13-3.1.0/config/server.properties    root@192.168.211.137:/optkafka_2.13-3.1.0/config/
输入yes  输入137机器的密码即可
scp /opt/kafka_2.13-3.1.0/config/server.properties     root@192.168.211.132:/optkafka_2.13-3.1.0/config/
输入yes  输入132机器的密码即可
传输完成后,打开另外两台机器这个文件,修改该文件的第1-2行,id 即myid的内容,listeners后边跟本主机的IP

完成后,启动kafka,命令如下:
  nohup /opt/kafka_2.11-0.10.0.1/bin/kafka-server-start.sh /opt/kafka_2.11-0.10.0.1/config/server.properties &>> /opt/kafka_2.11-0.10.0.1/kafka.log &
输入:jps   


创建主题:
./bin/kafka-topics.sh --bootstrap-server 192.168.211.149:9092,192.168.211.137:9092,192.168.211.132:9092  --create --topic wozaijia --partitions 2 --replication-factor 2
备注说明:
:9092是端口号
wozaijia是主题名
partitions 2 是2个分区
replication-factor 2  副本2个



打开生产端,命令:
./bin/kafka-console-producer.sh --broker-list  192.168.211.149:9092  --topic wozaijia
备注说明:
kafka-console-producer.sh 生产端的脚本
broker-list broker列表
9092   端口号
wozaijia    主题名称


 

  打开消费端,命令:
./bin/kafka-console-consumer.sh --bootstrap-server 192.168.211.149:9092 --topic wozaijia -- from-beginning
备注说明:
kafka-console-consumer.sh 消费端的脚本
bootstrap-server    服务端
9092    端口号
wozaijia    主题名称
-- from-beginning    把消费端之前输出的再输出出来


在生产端输入内容,在消费端输出相同的内容,即kafka集群安装并启动成功!


3.  打开zookeeper的zkCli.sh 查询kafka的信息

topic:wozaiijia 即是上个步骤新建成功的主题。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/839717
推荐阅读
相关标签
  

闽ICP备14008679号