2.7 Kafka安装及配置
上传kafka安装包到安装目录/opt/software下,并解压,修改文件夹名为kafka
修改kafka的启动脚本:bin/kafka-server-start.sh
# 找到export KAFKA_HEAP_OPTS=”-Xmx1G –Xms1G”,修改为 export KAFKA_HEAP_OPTS=”-Xmx3G –Xms3G”
修改config/server.properties
# 该值必须是一个唯一的int类型,每台机器上的broker.id的值都不能相同 broker.id=0 # kafka的数据盘尽量不要与zookeeper和hdfs的数据盘放到一起,这里测试将其放在data2数据盘下 log.dirs=/data3/kafka-logs,/data4/kafka-logs,/data5/kafka-logs,/data6/kafka-logs(此处可写多个数据盘路径,用逗号隔开) # 是否允许删除topic,可选项 # delete.topic.enable=true log.roll.hours=3 # kafka的生命周期根据项目配置,一般配置成3天 log.retention.hours=3 # 默认分区数,将该值配置的大一些,否则后期更改会很麻烦。一般配置成{机器数量}*{cpu vcores数}*2,推荐设置为LSQL的Executor总数*2 num.partions=8 # broker进行IO处理的线程数,调整成cpu线程数的两倍 num.io.threads=80 # broker进行网络处理的线程数,调整成CPU线程数+1 num.network.threads=41 # 存储消息的副本数,根据项目情况评估是否配置冗余 #default.replication.factor=1 # 最大待处理请求数,默认500太少,IO繁忙时会拒绝请求 queued.max.requests=10000 # kafka监听地址和端口 listeners=PLAINTEXT://node4:9092 log.flush.interval.ms=1000 # 添加磁盘刷新策略 log.flush.interval.messages=10000 # 改成自己zk集群的ip和端口,不要配置在主节点上 zookeeper.connect=node4:2181,node5:2181,node6:2181....
通过scp分发到其他机器上,注意分别修改每台机器上的server.properties中的broker.id,以及listeners
需要在Zk启动的基础上启动Kafka:
# cd /opt/software/kafka # sh ./bin/kafka-server-start.sh -daemon config/server.properties
查看Kafka是否启动成功可通过jps或Kafka消费、生产数据等命令进行验证
# 创建topic ./bin/kafka-topics.sh --create --zookeeper node4:2181 --replication-factor 1 --partitions 8 --topic test # 查看topic ./bin/kafka-topics.sh --list --zookeeper node4:2181 # 启动控制台生产者 ./bin/kafka-console-producer.sh --broker-list node4:9092 --topic test # 启动控制台消费者 /bin/kafka-console-consumer.sh --bootstrap-server node4:9092 --topic test --from-beginning