kafka集群环境配置安装搭建

kafka | 2020-03-06 16:28:32

kafka新版本自带zookeeper,单机模式使用自带zookeeper就可以,我这里使用kafka自带的zookeeper进行集群安装,如果要自己安装zookeeper参考linux安装zookeeper集群模式 。Kafka集群模式需要至少3台服务器。


1.环境准备

1.1 三台服务器(192.168.1.100,192.168.1.101,192.168.1.102)


1.2 修改host和hostname

vi /etc/hosts

192.168.1.100 master100
192.168.1.101 slave101
192.168.1.102 slave102


然后对应修改hostname,参考linux修改hostname永久生效


2.下载kafka

官网下载地址:http://kafka.apache.org/downloads


我下载的kafka_2.11-0.11.0.2

解压到 /opt/hadoop/kafka_2.11-0.11.0.2


3.kafka zookeeper配置

3.1创建kafka日志和zk数据文件夹

kafka日志目录和zk的data默认目录是/tmp目录,我想保存在kafka目录下。

创建目录 /opt/hadoop/kafka_2.11-0.11.0.2/data和 /opt/hadoop/kafka_2.11-0.11.0.2/logs


3.3 配置kafka server.properties

进入kafka的config目录

vim server.properties

修改内容如下:

broker.id=1       #保证每个broker唯一,第一台可以不修改默认为0,后面两台需要修改,如改为2和3
num.partitions=3      #分区数量一般与broker保持一致
listeners=PLAINTEXT://master:9092     #修改为本机ip
zookeeper.connect=master:2181,slave1:2181,slave2:2181      #配置三台服务zookeeper连接地址
host.name=master    #新增host.name值,分别设为不同的值(3台机器根据自己的ip设置)
log.dirs= /opt/hadoop/kafka_2.11-0.11.0.2/logs       #修改log.dirs目录为之前自定义的目录


注意:分区的数量不能大于broker数量


3.4 配置zookeeper.properties

vim zookeeper.properties

修改内容如下:

dataDir=/opt/hadoop/kafka_2.11-0.11.0.2/data  #修改为自定义的目录
#maxClientCnxns=0  #注释掉
#设置连接参数,添加如下配置
tickTime=2000
initLimit=10
syncLimit=5
#设置broker Id的服务地址
server.0=master:2888:3888
server.1=slave1:2888:3888
server.2=slave2:2888:3888


4.启动kafka集群

4.1 先启动zookeeper

zookeeper是选举机制,不一定谁是master,所以没有启动顺序。

在各节点分别运行

nohup ./zookeeper-server-start.sh &

 启动zk


4.2 启动kafka

在各节点分别运行

nohup ./kafka-server-start.sh &

启动kafka


5.测试

5.1 创建topic testTopic

./bin/kafka-topics.sh -create --zookeeper master:2181,slave1:2181,slave2:2181 -replication-factor 3 --partitions 3 --topic testTopic

查看topic

./bin/kafka-topics.sh --list --zookeeper slave1:2181

创建成功就能列出创建的topic

#./bin/kafka-topics.sh --list --zookeeper slave1:2181
__consumer_offsets
testTopic


5.2 测试发送消息

打开一个窗口启动消费者

./bin/kafka-console-consumer.sh --zookeeper master:2181,slave1:2181,slave2:2181 --topic testTopic --from-beginning

打开另一个窗口启动生产者

./bin/kafka-console-producer.sh --broker-list master:9092,slave1:9092,slave2:9092 --topic testTopic

在生产者发送消息:hello bcxw.net

1.png

在消费者端窗口查看接受消息

2.png


登录后即可回复 登录 | 注册
    
关注编程学问公众号