1.基础环境
Zookeeper集群共三台服务器,分别为:master、slave1、slave2。
Kafka集群共三台服务器,分别为:master、slave1、slave2。
jdk 1.8+
2.下载
zookeeper
zookeeper
注意事项:下载版本号后加bin.tar.gz
kafka
kafka
注意事项:下载版本后加tgz
3.环境配置
1)解压
tar -xvf apache-zookeeper-3.6.3-bin.tar.gz
2)修改名称
mv apache-zookeeper-3.6.3-bin apache-zookeeper-3.6.3
3)创建文件
mkdir /opt/apache-zookeeper-3.6.3/data
mkdir /opt/apache-zookeeper-3.6.3/dataLog
4.创建myid文件
1)进入创建好的data
cd /opt/apache-zookeeper-3.6.3/data
2)编辑文件内容,其他两个节点分别位2、3
echo 1 > myid
3)复制配置文件
cp zoo_sample.cfg zoo.cfg
4)编辑zoo.cfg
vi zoo.cfg
5)添加内容
dataDir=/opt/apache-zookeeper-3.6.3/data
dataLogDir=/opt/apache-zookeeper-3.6.3/dataLog
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
5.赋权限
chmod 777 -R /opt/apache-zookeeper-3.6.3
6.把修改的zookeeper目录远程复制另外两个节点上
scp -r apache-zookeeper-3.6.0 root@slave1:/opt/
scp -r apache-zookeeper-3.6.0 root@slave2:/opt/
salve1,salve2需要hosts映射当前ip 查看里面有映射地址
7.启动zookeeper
/opt/apache-zookeeper-3.6.3/bin/zkServer.sh start
如果配置了在~/.bashrc,可以直接启动zkServer.sh start
export ZOOKEEPER_HOME=/opt/apache-zookeeper-3.6.3
export PATH=$PATH:$ZOOKEEPER_HOME/bin
source ~/.bashrc生效配置环境
jps查看进程,有QuorumPeerMain 即是成功
[root@slave1 bin]# jps
2163 QuorumPeerMain
2742 Kafka
6326 Jps
2970 ConsoleConsumer
3327 ConsoleConsumer
4063 TopicCommand
1.配置kafka
1.解压
tar -xvf kafka_2.12-2.8.0.tgz
2.修改配置环境
vi /opt/kafka_2.12-2.8.0/config/server.properties
1)修改 broker.id=1 与上面配置的zookeeper myid 保持一致
broker.id=1
2)配置日志
log.dirs=/kafka_2.12-2.8.0/kafka-logs
3)配置zookeeper 对应端口,这里需要注意,现在新版本kafka有默认zookeeoer端口为2182,这三个端口不冲突即可。
zookeeper.connect=192.168.149.11:2185,192.168.149.12:2182,192.168.149.13:2183
3.远程复制给其他两个节点
scp -r kafka_2.12-2.8.0 root@slave1:/opt/
scp -r kafka_2.12-2.8.0 root@slave2:/opt/
4.启动kafka集群
1)可以配置环境,随时在哪个目录就可以启动
export KAFKA_HOME=/opt/kafka_2.12-2.8.0
export PATH=$PATH:$KAFKA_HOME/bin
kafka-server-start.sh -daemon ../config/server.properties
2)jps查看进程
[root@slave1 bin]# jps
2163 QuorumPeerMain
2742 Kafka
6326 Jps
2970 ConsoleConsumer
3327 ConsoleConsumer
4063 TopicCommand
测试
1)这里可以选择发送的节点
./bin/kafka-topics.sh --create --zookeeper master:2185, slave1:2182, slave2:2183 --replication-factor 3 --partitions 3 --topic test
2)查看列表
/kafka-topics.sh --zookeeper localhost:2185 --list
常用命令
启动zookeeper
./zkServer.sh start
启动Kafka
./kafka-server-start.sh ../config/server.properties
这个是后台启动
./kafka-server-start.sh -daemon config/server.properties
二者选其一
停止Kafka
./kafka-server-stop.sh
停止zookeeper
./zkServer.sh stop
创建topic
## kafka版本 >= 2.2
./kafka-topics.sh --create --bootstrap-server --zookeeper master:2181 --replication-factor 3 --partitions 1 --topic test
展示topic
./kafka-topics.sh --zookeeper master:2181 --list
描述topic
./kafka-topics.sh --describe --zookeeper master:2181 --topic test
删除topic
./kafka-topics.sh --delete --zookeeper master:2181 --topic test
启动生产者producer
./kafka-console-producer.sh --bootstrap-server master:9092 --topic test
启动消费者consumer
./kafka-console-consumer.sh --zookeeper master:2181 --topic test --from-beginning