kafka三节点集群搭建

虚拟机VMware® Workstation 16 Pro(VMware-16.0.0 build-16894299)上安装了三个centos7的节点,IP地址分别为:
192.168.28.128、192.168.28.129、192.168.28.130。
利用xshell访问三个centos节点,启动发送键盘到所有会话 ,即可同时对三个节点进行操作。

zookeeper集群安装
下载zookeeper安装包:
cd /usr/opt
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.8.tar.gz
tar xf apache-zookeeper-3.5.8-bin.tar.gz -C /usr/local
配置zookeeper:
cd /usr/local
#软链接
ln -sv apache-zookeeper-3.5.8-bin zookeeper

cd /zookeeper/conf/
cp  zoo_sample.cfg  zoo.cfg

vim zoo.cfg
#客户端与服务器或者服务器与服务器之间每个tickTime时间就会发送一次心跳。通过心跳不仅能够用来监听机器的工作状态,还可以通过心跳来控制Flower跟Leader的通信时间,默认2秒
tickTime=2000

initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data/data
dataLogDir=/data/zookeeper/data/log
clientPort=2181
server.1=172.16.150.154:2888:3888
server.2=172.16.150.155:2888:3888
server.3=172.16.150.156:2888:3888
分别在在192.168.28.128~130上执行:
mkdir -p /data/zookeeper/data/data
mkdir -p /data/zookeeper/data/log

在192.168.28.128上执行:
echo "1" > /data/zookeeper/data/data/myid
在192.168.28.129上执行:
echo "2" > /data/zookeeper/data/data/myid
在192.168.28.130上执行:
echo "3" > /data/zookeeper/data/data/myid

#######启动zookeeper并查看日志:

分别在在192.168.28.128~130上执行:
cd /usr/local/zookeeper/bin && ./zkServer.sh start
tail /usr/local/zookeeper/logs/zookeeper-root-server-localhost.localdomain.out
验证zookeeper集群访问:
分别在在192.168.28.128~130上执行:
netstat -nlpt | grep -E "2181|2888|3888"
分别在在192.168.28.128~130上执行:
./zkCli.sh  -server 192.168.28.128:2181
./zkCli.sh  -server 192.168.28.129:2181
./zkCli.sh  -server 192.168.28.130:2181
kafka集群安装
下载kafka安装包:
cd /usr/opt
wget https://mirror.bit.edu.cn/apache/kafka/2.7.0/kafka_2.13-2.7.0.tgz
tar xf kafka_2.13-2.7.0.tgz -C /usr/local
配置kafka集群:
cd /usr/local
ln -sv kafka_2.13-2.7.0 kafka
cd kafka/config/
cp server.properties server.properties-bak
grep "^[a-Z]" server.properties
vi server.properties
broker.id=1  #唯一
listeners=PLAINTEXT://192.168.28.128:9092  #修改为本机地址
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/data/kafka/data/log
num.partitions=3
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=192.168.28.128:2181,192.168.28.129:2181,192.168.28.130:2181  #zokeeper集群地址,以","为分割
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
其他节点192.168.28.129、192.168.28.130配置相同,除了以下内容
#192.168.28.129
broker.id=2
listeners=PLAINTEXT://192.168.28.129:9092  #修改为本机地址
#192.168.28.130
broker.id=3
listeners=PLAINTEXT://192.168.28.130:9092  #修改为本机地址
启动kafka集群:
./bin/kafka-server-start.sh -daemon  config/server.properties
启动报错:
[2021-01-10 16:08:35,982] ERROR Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection while in state: CONNECTING
    at kafka.zookeeper.ZooKeeperClient.waitUntilConnected(ZooKeeperClient.scala:262)
    at kafka.zookeeper.ZooKeeperClient.<init>(ZooKeeperClient.scala:119)
    at kafka.zk.KafkaZkClient$.apply(KafkaZkClient.scala:1881)
    at kafka.server.KafkaServer.createZkClient$1(KafkaServer.scala:441)
    at kafka.server.KafkaServer.initZkClient(KafkaServer.scala:466)
    at kafka.server.KafkaServer.startup(KafkaServer.scala:233)
    at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:44)
    at kafka.Kafka$.main(Kafka.scala:82)
    at kafka.Kafka.main(Kafka.scala)
原因:zookeeper.connection.timeout.ms的值太短了,调大了server.properties文件里的超时时间就可以了
登录zookeeper验证,验证服务是否正常
cd /usr/local/zookeeper/bin
./zkCli.sh -server 192.168.28.128
get  /brokers/ids/1

{"features":{},"listener_security_protocol_map":{"PLAINTEXT":"PLAINTEXT"},"endpoints":["PLAINTEXT://192.168.28.128:9092"],"jmx_port":-1,"port":9092,"host":"192.168.28.128","version":5,"timestamp":"1610264776275"}

get  /brokers/ids/2

{"features":{},"listener_security_protocol_map":{"PLAINTEXT":"PLAINTEXT"},"endpoints":["PLAINTEXT://192.168.28.129:9092"],"jmx_port":-1,"port":9092,"host":"192.168.28.129","version":5,"timestamp":"1610280011339"}

get  /brokers/ids/3

{"features":{},"listener_security_protocol_map":{"PLAINTEXT":"PLAINTEXT"},"endpoints":["PLAINTEXT://192.168.28.129:9092"],"jmx_port":-1,"port":9092,"host":"192.168.28.129","version":5,"timestamp":"1610280011339"}

创建topic验证,验证服务是否正常
./kafka-topics.sh --create --zookeeper 192.168.28.128:2181 --replication-factor 1 --partitions 1 --topic love
创建主题报错:
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
Error while executing topic command : Replication factor: 1 larger than available brokers: 0.
[2021-01-10 15:17:45,154] ERROR org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 1 larger than available brokers: 0.
 (kafka.admin.TopicCommand$)
原因:kafka集群中的两个节点服务因为连接zookeeper集群服务超时导致服务没有变动起来。
--创建主题
./kafka-topics.sh --create --zookeeper 192.168.28.128:2181 --replication-factor 1 --partitions 1 --topic love
--生产者给该主题发了个消息
./kafka-console-producer.sh --broker-list 192.168.28.128:9092 --topic love
--消费者收到了消息
./kafka-console-consumer.sh --bootstrap-server 192.168.28.129:9092 --topic love --from-beginning
--消费者收到了消息
./kafka-console-consumer.sh --bootstrap-server 192.168.28.130:9092 --topic love --from-beginning

参考手册:https://www.cnblogs.com/panwenbin-logs/p/10369402.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,776评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,527评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,361评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,430评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,511评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,544评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,561评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,315评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,763评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,070评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,235评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,911评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,554评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,173评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,424评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,106评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,103评论 2 352

推荐阅读更多精彩内容