参考博文:kafka 配置文件参数详解
参考博文:Kafka【第一篇】Kafka集群搭建
参考博文:如何为Kafka集群选择合适的Partitions数量
参考博文:Kafka Server.properties
参考博文:kafka常用配置【重要】
参考博文:kafka常用配置
1. 主机规划
主机名称
|
IP信息
|
内网IP
|
操作系统
|
安装软件
|
备注:运行程序
|
mini01
|
10.0.0.11
|
172.16.1.11
|
CentOS 7.4
|
jdk、zookeeper、kafka
|
QuorumPeerMain、Kafka
|
mini02
|
10.0.0.12
|
172.16.1.12
|
CentOS 7.4
|
jdk、zookeeper、kafka
|
QuorumPeerMain、Kafka
|
mini03
|
10.0.0.13
|
172.16.1.13
|
CentOS 7.4
|
jdk、zookeeper、kafka
|
QuorumPeerMain、Kafka
|
mini04
|
10.0.0.14
|
172.16.1.14
|
CentOS 7.4
|
jdk、zookeeper
|
QuorumPeerMain
|
mini05
|
10.0.0.15
|
172.16.1.15
|
CentOS 7.4
|
jdk、zookeeper
|
QuorumPeerMain
|
其中zookeeper的安装可参见:Hbase-2.0.0_01_安装部署
添加hosts信息,保证每台Linux都可以相互ping通
- 1 [root@mini01 ~]# cat /etc/hosts
- 2 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
- 3 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- 4
- 5 172.16.1.11 mini01
- 6 172.16.1.12 mini02
- 7 172.16.1.13 mini03
- 8 172.16.1.14 mini04
- 9 172.16.1.15 mini05
windows的hosts文件也追加如下信息
- 1 c:\windows\system32\drivers\etc
- 2 ########################################## 追加信息如下:
- 3 10.0.0.11 mini01
- 4 10.0.0.12 mini02
- 5 10.0.0.13 mini03
- 6 10.0.0.14 mini04
- 7 10.0.0.15 mini05
2. Kafka的部署与配置修改
2.1. 软件部署
- 1 [yun@mini01 software]$ pwd
- 2 /app/software
- 3 [yun@mini01 software]$ tar xf kafka_2.11-2.0.0.tgz
- 4 [yun@mini01 software]$ mv kafka_2.11-2.0.0 /app/
- 5 [yun@mini01 software]$ cd /app/
- 6 [yun@mini01 ~]$ ln -s kafka_2.11-2.0.0/ kafka
- 7 [yun@mini01 ~]$ ll -d kafka*
- 8 lrwxrwxrwx 1 yun yun 17 Sep 15 11:46 kafka -> kafka_2.11-2.0.0/
- 9 drwxr-xr-x 6 yun yun 89 Jul 24 22:19 kafka_2.11-2.0.0
2.2. 环境变量
需要使用root权限
- 1 [root@mini01 ~]# tail /etc/profile
- 2 done
- 3
- 4 unset i
- 5 unset -f pathmunge
- 6
- 7 # kafka
- 8 export KAFKA_HOME=/app/kafka
- 9 export PATH=$KAFKA_HOME/bin:$PATH
- 10
- 11 [root@mini01 profile.d]# logout
- 12 [yun@mini01 hbase]$ source /etc/profile # 使用yun用户,并重新加载环境变量
2.3. 配置修改
2.4. 其他配置修改
- 1 [yun@mini01 config]$ pwd
- 2 /app/kafka/config
- 3 [yun@mini01 config]$ vim producer.properties
- 4 ………………
- 5 # 用于建立到Kafka集群的初始连接的主机/端口对列表。客户机将使用所有服务器,而不管这里为引导绑定指定了哪些服务器——此列表只影响用于发现完整服务器集的初始主机。
- 6 # 由于这些服务器仅用于初始连接,以发现完整的集群成员关系(可能会动态更改),因此这个列表不需要包含完整的服务器集(但是,如果服务器宕机,您可能需要多个服务器)。
- 7 bootstrap.servers=mini01:9092,mini02:9092,mini03:9092
- 8 ………………
- 9 [yun@mini01 config]$ vim consumer.properties
- 10 ………………
- 11 bootstrap.servers=mini01:9092,mini02:9092,mini03:9092
- 12 ………………
2.5. 启动/停止kafka
- 1 [yun@mini01 ~]$ kafka-server-start.sh -daemon /app/kafka/config/server.properties # -daemon 可选参数,后台运行
- 2 # 如果是后台运行,则控制台没有下面日志信息
- 3 [2018-09-15 18:38:38,700] INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
- 4 [2018-09-15 18:38:39,564] INFO starting (kafka.server.KafkaServer)
- 5 ……………………
- 6 [yun@mini01 ~]$ kafka-server-stop.sh # 停止kafka
2.6. zookeeper命令行查看
- 1 [zk: localhost:2181(CONNECTED) 10] ls /
- 2 [cluster, controller, brokers, zookeeper, admin, isr_change_notification, log_dir_event_notification, controller_epoch, zhang01, consumers, latest_producer_id_block, config, hbase]
- 3 [zk: localhost:2181(CONNECTED) 11] ls /brokers
- 4 [ids, topics, seqid]
- 5 [zk: localhost:2181(CONNECTED) 12] ls /brokers/ids
- 6 [0, 1, 2]