CentOS上集群部署kafka

本文详细介绍Kafka集群的安装部署过程,包括环境配置、依赖安装、配置文件修改及服务启动等步骤,并提供了如何进行基本的功能验证。

1.基本信息

版本2.11-0.9.0.0
安装机器三台机器
账号hadoop
源路径/opt/software/kafka_2.11-0.9.0.0.tgz
目标路径

/opt/kafka -> /opt/kafka_2.11-0.9.0.0

依赖关系zookeeper

2.11代表着Kafka源代码的Scala编译器版本

2.安装过程

1).使用hadoop账户,通过tar -zxvf命令将kafka-0.9.0.tar.gz解压缩至目的安装目录,并设置软连接。

[root@bgs-5p173-wangwenting opt]# su hadoop
[hadoop@bgs-5p173-wangwenting opt]$ cd /opt/software
[hadoop@bgs-5p173-wangwenting software]$  tar -xf kafka-${version}.tgz  -C /opt


 

2).修改server.properties配置文件。

[hadoop@bgs-5p173-wangwenting software]$ cd /opt/kafka/config
[hadoop@bgs-5p173-wangwenting config]$  vim server.properties
在server.properties文件中添加如下配置:
broker.id=1       
log.retention.hours=1
zookeeper.connect=172.24.5.173:2181,172.24.5.174:2181,172.24.5.175:2181/kafka
host.name=bgs-5p173-wangwenting

kafka-2.12-2.3.0版本配置

broker.id=3
listeners=PLAINTEXT://172.16.100.14: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=/opt/kafka-9092/logs
num.partitions=1
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
log.roll.hours=168
log.retention.check.interval.ms=60000
auto.create.topics.enable=true
zookeeper.connect=172.16.100.13:2181,172.16.100.14:2181,172.16.100.15:2181/kafka9092

zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0

 

3).创建logs目录:

[hadoop@bgs-5p173-wangwenting config]$ mkdir /opt/kafka/logs

 

4).配置kafka运行的环境变量。

 

[hadoop@bgs-5p173-wangwenting config]$ vim  /etc/profile
添加下面的内容:
export KAFKA_HOME=/opt/kafka
export PATH=$KAFKA_HOME/bin:$PATH
配置成功后,执行source /etc/profile使配置生效。
[hadoop@bgs-5p173-wangwenting config]$ source /etc/profile

 

 

 

 

 

5).将安装包从bgs-5p173-wangwenting服务器复制到bgs-5p174-wangwenting,bgs-5p175-wangwenting两台机器,并配置环境变量:

[hadoop@bgs-5p173-wangwenting config]$ scp -r /opt/kafka_${version}/  hadoop@bgs-5p174-wangwenting:/opt
[root@bgs-5p174-wangwenting opt]# su hadoop
[hadoop@bgs-5p174-wangwenting opt]$ cd /opt
[hadoop@bgs-5p174-wangwenting opt]$ ln -s /opt/kafka_${version}  /opt/kafka
[hadoop@bgs-5p173-wangwenting config]$ scp -r /opt/kafka_${version}/  hadoop@bgs-5p175-wangwenting:/opt
[hadoop@bgs-5p175-wangwenting opt]$ cd /opt
[hadoop@bgs-5p175-wangwenting opt]$ ln -s /opt/kafka_${version}  /opt/kafka
并修改server.properties配置文件中broker.id(bgs-5p174-wangwenting为2,bgs-5p174-wangwenting为3),host.name(bgs-5p174-wangwenting为bgs-5p174-wangwenting,bgs-5p175-wangwenting为bgs-5p175-wangwenting)
[hadoop@bgs-5p174-wangwenting config]$ vim server.properties
修改以下内容
broker.id=2
host.name=bgs-5p174-wangwenting
[hadoop@bgs-5p175-wangwenting config]$ vim server.properties
修改以下内容
broker.id=3
host.name=bgs-5p175-wangwenting

 

6).在三台机器上分别执行Kafka启动命令:

[hadoop@bgs-5p173-wangwenting config]$ nohup kafka-server-start.sh $KAFKA_HOME/config/server.properties &
查看服务是否开启成功
[hadoop@bgs-5p173-wangwenting config]$ ps -ef | grep kafka
如果进程存在,则表示Kafka已经启动

 

7).测试Kafka的生产者和消费者:

 

[hadoop@bgs-5p173-wangwenting config]$ kafka-topics.sh --create --zookeeper bgs-5p173-wangwenting:2181,bgs-5p173-wangwenting:2181,bgs-5p173-wangwenting:2181/kafka --replication-factor 2 --partitions 1 --topic test

 

注意:复制指令的时候不能多或者少空格,否则会报错,不易察觉。

查看topics列表

[hadoop@bgs-5p173-wangwenting config]$ kafka-topics.sh --list --zookeeper bgs-5p173-wangwenting:2181,bgs-5p173-wangwenting:2181,bgs-5p173-wangwenting:2181/kafka

如果发现存在${topicName}自定义的test名称则表示创建成功

在bgs-5p173-wangwenting上启动生产者producer(${topicName}为自定义的test的名称)

 

[hadoop@bgs-5p173-wangwenting config]$ kafka-console-producer.sh --broker-list 172.24.5.173:9092,172.24.5.174:9092,172.24.5.175:9092 --topic test

 

重新打开终端在bgs-5p173-wangwenting上启动消费者

[hadoop@bgs-5p173-wangwenting config]$ kafka-console-consumer.sh --zookeeper ${producer_ip}:2181/kafka  --topic   test --from-beginning

在生产者机器上输入一条信息如: this is a comment(随意输入)

在消费者机器上观察是否能接收到此信息,若接收到说明成功.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值