kafka集群搭建

kafka集群搭建

kafka集群需要zookeeper集群支持。本文使用的kafka版本为kafka_2.11-0.10.2.1,只需要jdk1.7。
kafka_2.12-0.11.0.0需要jdk1.8。

配置

server.properties
# 每个节点单独配置
# 当前机器在集群中的唯一标识,每个节点都不能一样
broker.id=0
# 这个参数默认是关闭的,可以不配置。
host.name=192.168.5.185
# 当前kafka对外提供服务的端口默认是9092
port=9092

# 节点共通配置
# 设置zookeeper的连接端口
zookeeper.connect=192.168.5.172:2181,192.168.5.173:2181,192.168.5.174:2181

如果不配置 host.name 时,linux 默认会使用 hostname,在集群环境下需要把每个节点的 ip 和 hostname 映射加入 /etc/hosts,否则会出现 LEADER_NOT_AVAILABLE 错误

server.properties 配置属性说明

启动

cd /usr/hadoop/application/kafka/bin
./kafka-server-start.sh 

 -daemon ../config/server.properties

查看日志:

cd /kafka/bin
./kafka-server-start.sh -daemon ../config/server.properties

测试

#创建Topic
./kafka-topics.sh --create --zookeeper 192.168.5.172:2181,192.168.5.173:2181,192.168.5.174:2181 --replication-factor 1 --partitions 1 --topic test

#查看topic
./kafka-topics.sh --list --zookeeper 192.168.5.172:2181,192.168.5.173:2181,192.168.5.174:2181

#在一台服务器上创建一个发布者,创建后在控制台输入字符后换行即可发送消息
./kafka-console-producer.sh --broker-list 192.168.5.185:19092 --topic test

#在一台服务器上创建一个订阅者
./kafka-console-consumer.sh --zookeeper 192.168.5.172:2181,192.168.5.173:2181,192.168.5.174:2181 --topic test --from-beginning

kafka集群监控

kafka-manager

github地址:https://github.com/yahoo/kafka-manager
####编译
1、安装sbt,可能不需要安装也可以执行下一步

curl https://bintray.com/sbt/rpm/rpm |tee /etc/yum.repos.d/bintray-sbt-rpm.repo
yum install sbt

2、编译 kafka-manager,下载速度很慢,请耐心等待
编译完以后,生成的包位于 kafka-manager/target/universal/kafka-manager-1.3.3.4.zip 。只需要JAVA环境就可以运行了,在部署的机器上不需要安装sbt。

cd kafka-manager
# 终端后可以使用sbt dist
sbt clean dist

3、修改配置,conf/application.conf

kafka-manager.zkhosts="192.168.5.172:2181,192.168.5.173:2181,192.168.5.174:2181"

或者配置环境变量

ZK_HOSTS="192.168.5.172:2181,192.168.5.173:2181,192.168.5.174:2181"

4、(可选配置)开启JMX,默认kafka是不开启JMX监控。修改kafka/bin/kafka-server-start.sh文件,加入JMX_PORT

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
    export JMX_PORT="9999"
fi

5、启动

cd /usr/hadoop/application/kafka-manager
nohup bin/kafka-manager -Dconfig.file=/usr/hadoop/application/kafka-manager/conf/application.conf &

-Dhttp.port=8080可以控制启动端口号,默认为9000

6、初始化,kafka-manager需要在页面上手动添加集群,访问http://localhost:9000/
添加集群
添加完成后点击保存

Kafka日志清理策略

Kafka的默认日志清理策略时间比较久,不能满足生产环境需要,于是修改了日志清理策略
Kafka 日志清理涉及两个配置,配置文件位于 conf/server.properties

# 默认值 168,不设置即为 168
# 按照时间删除,超过 168 小时的文件会自动删除
log.retention.hours=168

# segment 文件删除大小,超过当单个 segment 文件超过 log.retention.bytes 值时,会自动进行删除,因此如果想此项生效,必须 log.retention.bytes 小于 log.segment.bytes
log.retention.bytes=1073741824

# 每个 segment 文件最大大小
log.segment.bytes=1073741824
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值