centos6.5中kafka集群搭建

前提条件:安装好java配置好环境变量、zookeeper集群(可参考:https://blog.csdn.net/qq_34258346/article/details/80423787)
(3台服务器)
10.1.32.85 hadoop7
10.1.32.193 hadoop8
10.1.32.161 hadoop9

1、下载kafka的安装包
cd home/hadoop/app/
或者直接把包上传上去

2、解压安装包
tar -zxvf kafka_2. 12- 0.10. 2.1.tgz

3、添加环境变量
在vi /etc/profile文件下增加
export KAFKA_HOME=/home/hadoop/app/kafka_2.12-0.10.2.1
export PATH=$KAFKA_HOME/bin:$PATH
使用source /etc/profile使配置生效

4、修改kafka配置文件
cd /home/hadoop/app/kafka_2.12-0.10.2.1/config/
用ll查看目录下的文件,发现zookeeper文件,我们可以根据Kafka内带的zk集群来启动,但是建议使用独立的zk集群。我们主要关注server.properties 这个文件即可

修改server.properties配置文件,配置如下:
broker.id=1 #当前机器在集群中的唯一标识,和zookeeper的myid性质一样
listeners=PLAINTEXT://10.1.32.85:9092 #kafka监听地址
num.network.threads=3 #这个是borker进行网络处理的线程数
num.io.threads=8 #这个是borker进行I/O处理的线程数
socket.send.buffer.bytes=102400 #发送缓冲区buffer大小,数据不是一下子就发送的,先回存储到缓冲区了到达一定的大小后在发送,能提高性能
socket.receive.buffer.bytes=102400 #kafka接收缓冲区大小,当数据到达一定大小后在序列化到磁盘
socket.request.max.bytes=104857600 #这个参数是向kafka请求消息或者向kafka发送消息的请请求的最大数,这个值不能超过java的堆栈大小
log.dirs=/tmp/kafka-logs #消息存放的目录,这个目录可以配置为“,”逗号分割的表达式,上面的num.io.threads要大于这个目录的个数这个目录,如果配置多个目录,新创建的topic他把消息持久化的地方是,当前以逗号分割的目录中,那个分区数最少就放那一个
num.partitions=1 #默认的分区数,一个topic默认1个分区数
num.recovery.threads.per.data.dir=1
log.retention.hours=168 #默认消息的最大持久化时间,168小时,7天
message.max.byte=5242880
default.replication.factor=2
replica.fetch.max.bytes=5242880
log.segment.bytes=1073741824 #这个参数是:因为kafka的消息是以追加的形式落地到文件,当超过这个值的时候,kafka会新起一个文件
log.retention.check.interval.ms=300000 #每隔300000毫秒去检查上面配置的log失效时间(log.retention.hours=168 ),到目录查看是否有过期的消息如果有,删除
zookeeper.connect=10.1.32.85:2181,10.1.32.193:2181,10.1.32.161:2181 #设置zookeeper的连接端口
zookeeper.connection.timeout.ms=6000 #连接zookeeper的超时时间

上面是参数的解释,实际的修改项为:
broker.id= 1 每台服务器的broker.id都不能相同
listeners=PLAINTEXT://10.1.32.85:9092
在log.retention.hours=168下面新增下面三项
message.max.byte=5242880
default.replication.factor=2
replica.fetch.max.bytes=5242880
zookeeper.connect=10.1.32.85:2181,10.1.32.193:2181,10.1.32.161:2181 设置zookeeper的连接端口

以上是hadoop7( 10.1.32.85)一台机器的配置,同理在另外两台(hadoop8( 10.1.32.193)、hadoop9( 10.1.32.161))机器做相应的配置

5、 启动Kafka集群并测试
从后台启动Kafka集群(3台都需要启动):
kafka-server-start.sh -daemon /home/hadoop/app/kafka_2.12-0.10.2.1/config/server.properties

检查服务是否启动:
执行jps命令

创建Topic来验证是否创建成功:
1、创建Topic
kafka-topics.sh --create --zookeeper 10.1.32.85:2181 --replication-factor 2 --partitions 1 --topic lujin
解释:
--replication-factor 2 #复制两份--partitions 1 #创建1个分区--topic #主题为shuaige
2、创建一个broker,发布者(hadoop7机器)kafka-console-producer.sh --broker-list 10.1.32.85: 9092 --topic lujin
3、创建订阅者(hadoop8或者hadoop9机器)
kafka-console-consumer.sh --zookeeper 10.1.32.193: 2181 --topic lujin -- from-beginning


发布者发送的消息,订阅者成功收到。
到此,kafka集群搭建完毕!

6、常用命令
查看创建的topic
kafka-topics.sh --list --zookeeper 10.1.32.85:2181
查看topic的状态
kafka-topics.sh --describe --zookeeper 10.1.32.85:2181 --topic lujin


以上是个人搭建kafka集群的总结,有错的地方烦请各位大神指出!




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值