博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zookeeper+kafka集群搭建
阅读量:7062 次
发布时间:2019-06-28

本文共 3688 字,大约阅读时间需要 12 分钟。

hot3.png

基本环境:

操作系统 : ubuntu-16.04.2 

jdk : jdk1.8.0_144 
zookeeper : zookeeper3.4.6 
kafka : kafka_2.12-0.11.0.0 
搭建过程中,用三台虚拟机来实现环境的配置,3台虚拟机的ip如下:

  • 192.168.131.130
  • 192.168.131.131
  • 192.168.131.132

zookeeper环境搭建

1、确保已经安装并配置了jdk环境 

2、开始搭建zookeeper集群 
3台虚拟机均进行以下操作:

// 解压下载好的zookeeper压缩包并重命名cd /usr/localtar -zxvf /home/jwing/Downloads/zookeeper-3.4.6.tar.gzmv zookeeper-3.4.6 zookeeper// 创建日志文件的存放位置mkdir ./zookeeper/logs// 修改配置文件cd zookeeper/conf// 若原本文件不存在,执行cp zoo_sample.cfg zoo.cfgvi zoo.cfg
// 修改dataDir=/usr/local/zookeeper/data// 添加dataLogDir=/usr/local/zookeeper/logsserver.1=192.168.131.130:2888:3888server.2=192.168.131.131:2888:3888server.3=192.168.131.132:2888:3888
// 创建myid,内容与上方server.*中的*对应,如192.168.131.130如下cd ../dataecho "1" > myid
// 在系统环境中配置zookeeper的路径vi /etc/profile
// 在文件最下方添加zookeeper路径export ZOOKEEPER_HOME=/usr/local/zookeeper// 多路径PATH写法为PATH=${ZOOKEEPER_HOME}/bin:${KAFKA_HOME}/bin:$PATHPATH=${ZOOKEEPER_HOME}/bin:$PATHexport PATH
  •  
// 使修改完的环境变量生效source /etc/profile
// 开启zookeeper/usr/local/zookeeper/bin/zkServer.sh start// 查看zookeeper集群的状态,出现Mode:follower或是Mode:leader则代表成功/usr/local/zookeeper/bin/zkServer.sh status

kafka环境搭建:

3台虚拟机均进行以下操作:

// 解压下载好的kafka压缩包并重命名cd /usr/localtar -zxvf /home/jwing/Downloads/kafka_2.12-0.11.0.0.tgzmv kafka_2.12-0.11.0.0 kafka// 修改配置文件vi ./kafka/config/server.properties
  •  

需要修改的内容如下(192.168.131.130):

broker.id=0listeners=PLAINTEXT://192.168.131.130:9092zookeeper.connect=192.168.131.130:2181,192.168.131.131:2181,192.168.131.132:2181

需要修改的内容如下(192.168.131.131):

broker.id=1listeners=PLAINTEXT://192.168.131.131:9092zookeeper.connect=192.168.131.130:2181,192.168.131.131:2181,192.168.131.132:2181

需要修改的内容如下(192.168.131.132):

broker.id=2listeners=PLAINTEXT://192.168.131.132:9092zookeeper.connect=192.168.131.130:2181,192.168.131.131:2181,192.168.131.132:2181
// 在系统环境中配置kafka的路径vi /etc/profile
// 在文件最下方添加kafka路径export KAFKA_HOME=/usr/local/kafka// 多路径PATH写法为PATH=${ZOOKEEPER_HOME}/bin:${KAFKA_HOME}/bin:$PATHPATH=${KAFKA_HOME}/bin:$PATHexport PATH
// 使修改完的环境变量生效source /etc/profile

测试

1、开启3台虚拟机的zookeeper程序 

/usr/local/zookeeper/bin/zkServer.sh start 
开启成功后查看zookeeper集群的状态 
/usr/local/zookeeper/bin/zkServer.sh status 
出现Mode:follower或是Mode:leader则代表成功 
2、在后台开启3台虚拟机的kafka程序(cd /usr/local/kafka) 
./bin/kafka-server-start.sh -daemon config/server.properties 
3、在其中一台虚拟机(192.168.131.130)创建topic 
/usr/local/kafka/bin/kafka-topics.sh –create –zookeeper 192.168.131.130:2181 –replication-factor 3 –partitions 1 –topic my-replicated-topic 
// 查看创建的topic信息 
/usr/local/kafka/bin/kafka-topics.sh –describe –zookeeper 192.168.131.130:2181 –topic my-replicated-topic 

这里写图片描述

4、将192.168.131.130作为生产者,将192.168.131.131作为消费者 
在192.168.131.130中运行 
/usr/local/kafka/bin/kafka-console-producer.sh –broker-list 192.168.131.130:9092 –topic my-replicated-topic 
在192.168.131.131中运行 
/usr/local/kafka/bin/kafka-console-consumer.sh –bootstrap-server 192.168.131.131:9092 –from-beginning –topic my-replicated-topic 
(在老版本的kafka中使用/usr/local/kafka/bin/kafka-console-consumer.sh –zookeeper 192.168.131.131:2181 –from-beginning –topic my-replicated-topic命令) 
5、在192.168.131.130主机中输入消息,192.168.131.131主机中将会接收 
(更多测试可以在中查看)

 

注意事项: 

1、确保/etc/profile中环境配置是正确的,并在更新后启用(source /etc/profile) 
2、开启kafka前必须先开启所有zookeeper 
3、server.properties中broker.id不能重复 
4、server.properties中listeners参数后面的ip地址最好写上 
5、若server.properties中listeners,zookeeper.connect参数后填写的是ip地址(192.168.131.130等),则在运行命令时也应该使用ip地址代替localhost(如/usr/local/kafka/bin/kafka-console-producer.sh –broker-list 192.168.131.130:9092 –topic my-replicated-topic避免写为/usr/local/kafka/bin/kafka-console-producer.sh –broker-list localhost:9092 –topic my-replicated-topic) 
6、出现内存不足的错误时,尝试关闭多余的程序,还是不行就重启了。

转载于:https://my.oschina.net/martin123/blog/2050749

你可能感兴趣的文章
[KMP]字符串匹配算法
查看>>
Copies in Seconds
查看>>
范内瓦·布什发表《诚如所思》,被信息界公认为是信息科学经典之作
查看>>
javascript基础修炼(10)——VirtualDOM和基本DFS
查看>>
算符优先文法,中缀式求值,栈的典型应用
查看>>
垃圾收集器(一)
查看>>
[转] 随机数是骗人的,.Net、Java、C为我作证
查看>>
第一天
查看>>
VUE基础插值表达式
查看>>
如何在mysql客户端即mysql提示符下执行操作系统命令
查看>>
人月神话读后感
查看>>
Learning Agile software Development
查看>>
window7利用Nexus搭建maven私有服务器
查看>>
java中的多态
查看>>
态度!!!
查看>>
[洛谷P4688][Ynoi2016]掉进兔子洞
查看>>
Android org.json.JSONArray cannot be converted to JSONObject
查看>>
Android2.3系统 自定义的PopupWindow在实例化时报空指针异常
查看>>
javascript 要注意的事项
查看>>
phpexcel中文手册
查看>>