zookeeper+kafka环境搭建

依然范特西╮ 提交于 2020-02-25 15:50:01

一、JDK安装配置
1、新建文件夹
# mkdir /usr/local/java
2、上传jdk到文件夹中,解压(官网下载 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,以jdk-8u111-linux-x64.tar.gz为例)
# tar -xzvf jdk-8u111-linux-x64.tar.gz
3、配置jdk环境变量
# vi ~/.bashrc
#java
export JAVA_HOME=/usr/local/java/jdk1.8.0_111
export JAVA_BIN=$JAVA_HOME/bin
export JAVA_LIB=$JAVA_HOME/lib
export CLASSPATH=.:$JAVA_LIB/tools.jar:$JAVA_LIB/dt.jar
export PATH=$JAVA_BIN:$PATH
4、环境变量配置生效
# source ~/.bashrc
5、检查jdk版本
# java -version
6、公司安装
# yum install jdk7u51

二、zookeeper搭建
1、zk安装
(1)解压:这里假定以root作为用户名进行安装,将zookeeper-3.4.6.tar.gz放入/apps/svr/zookeeper目录下,然后解压。
# tar zxf zookeeper-3.4.6.tar.gz
(2)配置:将conf/zoo_sample.cfg拷贝一份命名为zoo.cfg,也放在conf目录下
# cp conf/zoo_sample.cfg conf/zoo.cfg
(3)创建目录:/apps/svr/zookeeper/zookeeper-3.4.6/data 和 /apps/svr/zookeeper/zookeeper-3.4.6/dataLog
# mkdir /apps/svr/zookeeper/zookeeper-3.4.6/data # mkdir /apps/svr/zookeeper/zookeeper-3.4.6/dataLog
(4)公司安装(安装路径/apps/svr/zookeeper)
# yum install zookeeper
2、配置Zookeeper
# vim conf/zoo.cfg
dataDir=/apps/svr/zookeeper/data
dataLogDir=/apps/svr/zookeeper/dataLog
server.1=192.168.164.150:2888:3888
server.2=192.168.164.72:2888:3888
server.3=192.168.164.73:2888:3888
3、将zk放到另外两个机器上面
scp -r /apps/svr/zookeeper root@IP:/apps/svr/zookeeper
4、配置集群ID
在每台服务器上创建myid文件
# touch /apps/svr/zookeeper/data/myid
将服务器ID写入myid文件中:
(1)192.168.164.150
# echo 1 >> /apps/svr/zookeeper/data/myid
(2)192.168.164.72
# echo 2 >> /apps/svr/zookeeper/data/myid
(3)192.168.164.73
# echo 3 >> /apps/svr/zookeeper/data/myid
注:zk服务器ID必须与conf/zoo.cfg中的server.X对应。
5、启动zk
# /apps/svr/zookeeper/bin/zkServer.sh start
可通过zookeeper.out文件查看启动日志。
注:启动第一台的时候可能会报错,提示zoo2和zoo3无法连接,等全部启动完成之后就不会报错了。
6、安装验证
可以通过ZooKeeper的脚本来查看启动状态,包括集群中各个结点的角色(或是Leader,或是Follower),如下所示,是在ZooKeeper集群中的每个结点上查询的结果: 
[root@zookeeper-node1 ~]# /apps/svr/zookeeper/bin/zkServer.sh status
JMX enabled by default
Using config: /apps/svr/zookeeper/bin/../conf/zoo.cfg
Mode: leader
[root@zookeeper-node2 ~]# /apps/svr/zookeeper/bin/zkServer.sh status
JMX enabled by default
Using config: /apps/svr/zookeeper/bin/../conf/zoo.cfg
Mode: follower
[root@zookeeper-node3 ~]# /apps/svr/zookeeper/bin/zkServer.sh status
JMX enabled by default
Using config: /apps/svr/zookeeper/bin/../conf/zoo.cfg
Mode: follower
其中Mode:leader即为主服务器。
通过上面状态查询结果可见,zookeeper-node1是集群的Leader,其余的两个结点是Follower。

三、kafka搭建
1、安装kafka,并进入安装目录
# yum install kafka
# cd /apps/svr/kafka
2、修改host,绑定本机host和ip,以150机器为例:
# vim /etc/hosts
192.168.164.150 kafka-test1-s8mrg.vclound.com
3、修改server.properties文件
# vim conf/server.properties 修改
broker.id=1 //该属性需要针对不同的服务器1号机就是1,二号机就是2。确保机器之间的数值彼此不冲突:150-1,72-2,73-3
host.name=kafka-test1-s8mrg.vclound.com //host绑定本机hostname,hostname可以用 # uname -n 查询
log.dirs=/apps/logs/kafka //日志记录位置
zookeeper.connect=192.168.164.150:2181,192.168.164.72:2181,192.168.164.73:2181 //指定zk的IP
//其他配置
kafka.metrics.polling.interval.secs=5
kafka.metrics.reporters=kafka.metrics.KafkaCSVMetricsReporter
kafka.csv.metrics.dir=/tmp/kafka_metrics
kafka.csv.metrics.reporter.enabled=false
4、启动kafka 
# bin/kafka-server-start.sh
# bin/kafka-server-start.sh conf/server.properties &
5、测试创建一个topic消息
# bin/kafka-topics.sh --create --replication-factor 2 --zookeeper localhost:2181 --partitions 1 --topic my-test-topic
# bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic test001 --partitions 2 --replication-factor 1
6、显示消息
# bin/kafka-topics.sh --list --zookeeper localhost:2181

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!