centos搭建kafka集群环境

最近公司项目需要用到kafka消息队列,所以特地花了一个周末的时间对kafka的搭建以及使用做了一个了解,特地记录一下。

kafka搭建需要依赖于zookeeper作为注册中心,前面两篇文已经介绍了zookeeper的环境搭建,现在将记录一下kafka的搭建,同样也是选取三个节点

如下:

Node1:192.168.153.133

Node2:192.168.153.137

Node3:192.168.153.138

开始安装kafka,参照官网地址:http://kafka.apachecn.org/quickstart.html
执行命令:
/#进入下载目录
cd /usr/opt/
#下载kafka
wget http://archive.apache.org/dist/kafka/1.0.0/kafka_2.11-1.0.0.tgz
#解压文件并且重命名
tar -zxvf kafka_2.11-1.0.0.tgz && mv kafka_2.11-1.0.0 kafka
编辑配置文件(三台机器都是如此配置,记得修改ip以及broker.id):
#修改日志存储地址
log.dirs=/usr/opt/kafka/data
#节点id,用于区分子节点,就算是节点ip改变了,也能找到此节点
broker.id=1
#将使用外部的zookeeper配置
zookeeper.connect=192.168.153.133:2008,192.168.153.137:2008,192.168.153.138:2008
#指定主机地址,区分localhost,避免出错
host.name=192.168.153.137
#监听地址
listeners = PLAINTEXT://192.168.153.137:9092
#添加此项是为了api能够监听到此服务
advertised.listeners = PLAINTEXT://192.168.153.137:9092
配置kafka环境变量:
#编辑环境配置
vim /etc/profile

加入以下配置:

export PATH=$PATH:$ZOOKEEPER_HOME/bin
export KAFKA_HOME=/usr/opt/kafka

然后生效配置文件:

#环境配置文件生效
source /etc/profile

后台启动kafka

./bin/kafka-server-start.sh -daemon config/server.properties
检查kafka是否启动成功:
jps
启动成功之后显示:
更多命令查看官网介绍:http://kafka.apachecn.org/quickstart.html
创建生产者
bin/kafka-topics.sh --create --zookeeper 192.168.153.137:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic
测试:
查看主题列表
> bin/kafka-topics.sh --list --bootstrap-server 192.168.153.137:9092

启动控制台消费者        
> bin/kafka-console-consumer.sh --bootstrap-server 192.168.153.137:9092 --topic my-replicated-topic--from-beginning

启动控制台消费者        
> bin/kafka-console-consumer.sh --bootstrap-server 192.168.153.138:9092 --topic my-replicated-topic--from-beginning
在生产者发送一条消息,可以再消费者都接收到,成功!
 
另外出现Connection to node 1 (/192.168.153.133:9092) could not be established. Broker may not be available.错误的时候,可能是防火墙未关闭,或者是端口访问不同,注意检查,
还有就是kafka 发送消息 报错 topic test with key: null
可能是9092端口未打开,此时只要打开端口并关闭防火墙就行
firewall-cmd --zone=public --add-port=9092/tcp --permanent 
service firewalld stop

然后重启kafka即可

原文地址:https://www.cnblogs.com/advanceBlog/p/11877003.html