CentOS 7部署Kafka和Kafka集群
注意事项
需要启动多个shell脚本交互客户端进行验证,运行中的客户端不要停止。
准备工作:
安装java并设置java环境变量,在`/etc/profile`中加入
export JAVA_HOME=/usr/java/jdk1.8.0_65
export PATH=$PATH:$JAVA_HOME/bin
安装kafka
- 下载:
wget http://mirrors.cnnic.cn/apache/kafka/0.10.0.1/kafka_2.10-0.10.0.1.tgz
- 解压:
tar -zxvf kafka_2.10-0.10.0.1.tgz
- 移动到指定目录:
mv kafka_2.10-0.10.0.1 /usr/local/kafka
功能验证
- 启动
zookeeper
/usr/local/kafka/bin/zookeeper-server-start.sh -daemon /usr/local/kafka/config/zookeeper.properties
- 启动
kafka
服务
/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
- 创建topic
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
- 产生消息
/usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
输入以下内容:
Hello world!
Hello Kafka!
- 消费消息
/usr/local/kafka/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
如果能正常接收消息,则说明kafka配置成功
集群配置
单机多broker 集群配置
利用单节点部署多个broker。 不同的broker 设置不同的 id,监听端口及日志目录。 例如:
cp /usr/local/kafka/config/server.properties /usr/local/kafka/config/server-1.properties
编辑配置:
config/server-1.properties:
broker.id=1
port=9093
log.dir=/tmp/kafka-logs-1
启动Kafka服务:
bin/kafka-server-start.sh config/server-1.properties &
启动多个服务,按上文类似方式产生和消费消息。
多机多broker 集群配置
分别在多个节点按上述方式安装Kafka,配置启动多个Zookeeper 实例。 例如: 在10.4.253.22,10.4.253.23,10.4.253.24三台机器部署,Zookeeper配置如下:
initLimit=5
syncLimit=2
server.1=10.4.253.22:2888:3888
server.2=10.4.253.23:2888:3888
server.3=10.4.253.24:2888:3888
分别配置多个机器上的Kafka服务 设置不同的broke id,zookeeper.connect设置如下:
zookeeper.connect=10.4.253.22:2181,10.4.253.23:2181,10.4.253.24:2181
启动Zookeeper与Kafka服务,按上文方式产生和消费消息,验证集群功能。
参考文档: