五、kafka集群搭建
本系列目录:
五、kafka集群搭建
本节需要的安装包有:
※kafka_2.11-2.1.0.tgz
※scala-2.11.12.tgz
※slf4j-1.7.25.zip
1.安装Scala
1.1 将scala-2.11.12.tgz主机Mac的终端分别传输到a1中的/usr/local目录下
1.2 使用命令进行解压缩scala-2.11.12.tgz,
命令为:tar -zvxf scala-2.11.12.tgz
1.3 重命名:mv scala-2.11.12 scala
1.4 配置scala相关的环境变量
vi ~/.bashrc
export SCALA_HOME=/usr/local/scala
export PATH=$SCALA_HOME/bin
source ~/.bashrc
1.5 查看scala是否安装成功,命令:scala -version
出现图5.1.1所示,即代表安装成功
图5.1.11.6 将a1中的scala、~/.bashrc通过scp命令拷贝到a2,a3中的/usr/local目录下,并将~/.bashrc生效
2 安装kafka包
2.1 将kafka_2.11-2.1.0.tgz主机Mac的终端分别传输到a1中的/usr/local目录下
2.2 使用命令进行解压缩kafka_2.11-2.1.0.tgz,
命令为:tar -zvxf kafka_2.11-2.1.0.tgz
2.3 重命名:mv kafka_2.11-2.1.0 kakfa
2.4 配置kafka
键入命令:vi /usr/local/kafka/config/server.properties
修改a1的broker.id=0,a2的broker.id=1,a3的broker.id=2,以此类推,集群中的Broker是唯一id
zookeeper.connect=192.168.43.107:2181,192.168.43.108:2181,192.168.43.109:2181
如图5.1.2所示
图5.1.23 安装slf4j
3.1 将slf4j-1.7.25.zip主机Mac的终端分别传输到a1中的/usr/local目录下
3.2 使用命令解压缩slf4j-1.7.25.zip,命令:unzip slf4j-1.7.25.zip
遇到问题,如图5.1.3所示
图5.1.3解决办法:键入命令,下载unzip,命令:yum install unzip
3.3 更改slf4j-1.7.25,命令:mv slf4j-1.7.25 slf4j
3.4 将slf4j中的slf4j-nop-1.7.25.jar复制到kafka的libs目录下,
命令:cp slf4j-nop-1.7.25.jar /usr/local/kafka/libs
4 搭建kafka集群
4.1 使用scp命令,将a1中的kafka拷贝到a2和a3的/usr/local目录下
4.2 需要修改/usr/local/kafka/config/server.properties中的broker.id的值(注,前面已经叙述过)
5 启动kafka集群
5.1 在三台虚拟机的/usr/local/kafka目录下分别执行
命令:nohup bin/kafka-server-start.sh config/server.properties &
结果如图5.1.4所示
图5.1.4错误一、如果不在/usr/local/kafka目录下执行命令,则会报错导致无法启动,如图5.1.5所示
图5.1.5错误二,这个版本的kafka不会出现,如果使用2.9.2-0.8.1版本的kafka会报错,导致无法启动,解决方法①更换成本文的版本,②如图5.1.6所示
图5.1.66 测试kafka集群
首先进入在a1的/usr/local/kafka目录
6.1 键入命令:bin/kafka-topics.sh --zookeeper 192.168.43.107:2181,192.168.43.108:2181,192.168.43.109:2181 --topic TestTopic --replication-factor 1 --partitions 1 --create
报错,如图5.1.7:
图5.1.7解决方法和正确结果,如图5.1.8
图5.1.86.2 键入命令:bin/kafka-console-producer.sh --broker-list 192.168.43.107:9092,192.168.43.108:9092,192.168.43.109:9092 --topic TestTopic
然后复制a1,选择clone Session,如图5.1.9所示
图5.1.96.3 在克隆出来的a1窗口键入命令:bin/kafka-console-consumer.sh --zookeeper 192.168.43.107:2181,192.168.43.108:2181,192.168.43.109:2181 --topic TestTopic --from-beginning
报错,如图5.1.10所示
图5.1.10原因和解决办法:上述命令在0.9版本以下适用,本文的kafka版本为2.1.0版本,所以使用命令:bin/kafka-console-consumer.sh --bootstrap-server 192.168.43.107:9092,192.168.43.108:9092,192.168.43.109:9092 --topic TestTopic --from-beginning
结果如图5.1.11、5.1.12所示:
图5.1.11 图5.1.12至此kafka集群搭建完成~