kafka集群环境搭建

1. 环境准备
(1)安装文件 kafka_2.11-1.0.0.tgz  zookeeper-3.4.11.tar.gz, java jdk 1.8
(2)3个节点,centos 7 , ip 分别为10.119.119.145、10.119.119.146、10.119.119.147
(3)iptables防火墙配置
2. zookeeper集群安装及配置
(1) 创建目录 zookeeper、 zookeeper/log、/data/zookeeper/

# mkdir -p /opt/zookeeper  /opt/zookeeper/log /data/zookeeper/

kafka集群环境搭建

(2)分别在3个节点解压zookeeper-3.4.11.tar.gz到/opt/zookeeper

# tar  -zxvf  zookeeper-3.4.11.tar.gz

(3)分别在3个节点编辑配置文件zoo.cfg、设置zookeeper的id,并保存

# vim /opt/zookeeper/zookeeper-3.4.11/conf/zoo.cfg

kafka集群环境搭建

#10.119.119.145 在zookeeper 中id是1 执行下面
#  echo 1 > /data/zookeeper/myid

#10.119.119.146 在zookeeper 中id是2 执行下面
#  echo 2 > /data/zookeeper/myid

#10.119.119.147 在zookeeper 中id是3 执行下面
# echo 3 > /data/zookeeper/myid


(4)防火墙开放端口

# vim /etc/sysconfig/iptables

kafka集群环境搭建

(5)启动zookeeper

# /opt/zookeeper/zookeeper-3.4.11/bin/zkServer.sh start

(6)查看zookeeper状态

#/opt/zookeeper/zookeeper-3.4.11/bin/zkServer.sh status

kafka集群环境搭建


3. kafka集群安装及配置
(1) 创建目录 kafka

# mkdir -p /opt/kafka

(2)解压kafka_2.11-1.0.0.tgz 到/opt/kafka

# tar -zxvf kafka_2.11-1.0.0.tgz

(3)编辑配置文件

# vim /opt/kafka/kafka_2.11-1.0.0/config/server.properties

注意:橙色部分,三个节点需要修改成各自的值,broker.id 唯一标识kafka进程,三个节点broker.id 值必须唯一

#配置id
broker.id=1
#broker.id=2
#broker.id=3

listeners=PLAINTEXT://:9092
port=9092
host.name=10.119.119.147

advertised.host.name=10.119.119.147
advertised.port=9092
#配置zookeeper connect
zookeeper.connect=knode1:2181,knode2:2181,knode3:2181

(4)启动kafka集群

# /opt/kafka/kafka_2.11-1.0.0/bin/kafka-server-start.sh -daemon config/server.properties

(5)测试集群


创建topic ethantest, 2分区,2复制
# /opt/kafka/kafka_2.11-1.0.0/bin/kafka-topics.sh --create --zookeeper knode1:2181,knode2:2181,knode3:2181 --replication-factor 2 --partitions 2 --topic ethantest
查看topic ethantest
# /bin/kafka-topics.sh --describe --zookeeper knode1:2181,knode2:2181,knode3:2181  --topic ethantest

kafka集群环境搭建


# /opt/kafka/kafka_2.11-1.0.0/bin/kafka-console-producer.sh --broker-list knode1:9092,knode3:9092 --topic ethantest
可以通过控制台发送一条消息
> hello ethan

kafka集群环境搭建

# /opt/kafka/kafka_2.11-1.0.0/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic ethantest --from-beginning

kafka集群环境搭建

4. kafka集群安装完毕