搭建kafka集群
ben 2020-03-02
kafka
# 准备三部服务器
ssh ubuntu@192.168.1.129
ssh ubuntu@192.168.1.132
ssh ubuntu@192.168.1.134
1
2
3
2
3
# 下载jdk
wget https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/8/jdk/x64/linux/OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz
1
# 下载zookeeper
wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
1
# 下载kafka
wget http://mirrors.hust.edu.cn/apache/kafka/2.4.0/kafka_2.11-2.4.0.tgz
1
# 一律解压到/data目录下
# 配置环境变量
vim /etc/profile
## ---- zookeeper ----
export ZK_HOME=/data/zookeeper-3.4.14
export PATH=$ZK_HOME/bin:$PATH
## ---- jdk ----
export JAVA_HOME=/data/jdk8u252-b09
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
## ---- kafka ----
export KAFKA_HOME=/data/kafka_2.11-2.4.0
export PATH=${KAFKA_HOME}/bin:$PATH
source /etc/profile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# zookeeper
当前单节点,直接启动
/data/zookeeper-3.4.14/bin/zkServer.sh start
/data/zookeeper-3.4.14/bin/zkServer.sh status
1
2
2
# kafka
# 修改kafka配置
vim /data/kafka_2.11-2.4.0/config/server.properties
# broker节点编号,按实际填写
broker.id=1
# 实际宿主机
listeners=PLAINTEXT://192.168.1.135:9092
# 链接的zookeeper,集群用,分隔开
zookeeper.connect=192.168.1.135:2181
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
启动kafka
/data/kafka_2.11-2.4.0/bin/kafka-server-start.sh -daemon /data/kafka_2.11-2.4.0/config/server.properties
1
创建topic
/data/kafka_2.11-2.4.0/bin/kafka-topics.sh --create --zookeeper 192.168.1.135:2181 --replication-factor 1 --partitions 1 --topic testTopic
1
查询指定topic信息
/data/kafka_2.11-2.4.0/bin/kafka-topics.sh --describe --zookeeper 192.168.1.135:2181 --topic testTopic
1
列出当前集群所有可用topic
/data/kafka_2.11-2.4.0/bin/kafka-topics.sh --list --zookeeper 192.168.1.135:2181
1
发送消息
/data/kafka_2.11-2.4.0/bin/kafka-console-producer.sh --broker-list 192.168.1.129:9092 --topic hello_topic
1
消费消息
/data/kafka_2.11-2.4.0/bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.129:9092 --from-beginning --topic testTopic
1
查看当前消费者
/data/kafka_2.11-2.4.0/bin/kafka-consumer-groups.sh --zookeeper 192.168.1.135:2181 --list
1
命令解释
partitions:主题分区数,kafka通过分区策略,将不同分区分散到集群中的不同broker中,分区数越多,可以在一定程度上提高吞吐量;
replication-factor:主题副本数,用来设置每个主题的副本数,分散在集群中的不同kroker中;
1
2
3
2
3