您现在的位置是:首页 > 技术人生 > 服务器相关服务器相关

Ubuntu 20.04安装kafka_2.11-2.2.1集群

高晓波2021-09-23【服务器相关】人已围观

简介kafka安装需要zookeeper和jdk的支持。本篇不再赘述这两个软件安装。
zookeeper安装可以参照:《Ubuntu 20.04 安装zookeeper 3.5.9 集群》
此次安装集群的三台机器是vm-13、vm

kafka安装需要zookeeper和jdk的支持。本篇不再赘述这两个软件安装。
zookeeper安装可以参照:《Ubuntu 20.04 安装zookeeper 3.5.9 集群》
此次安装集群的三台机器是vm-13、vm-14、vm-15。


1、下载安装包

sudo wget https://archive.apache.org/dist/kafka/2.2.1/kafka_2.11-2.2.1.tgz


2、解压kafka到/user/local目录下

sudo tar -zxvf /usr/local/src/kafka_2.11-2.2.1.tgz -C /usr/local/
创建日志文件夹
sudo mkdir /usr/local/kafka_2.11-2.2.1/logs
 

3、修改配置文件server.properties


(1)修改每台机器broker id,看官方注释可知,集群中的每个broker id需要唯一。
# The id of the broker. This must be set to a unique integer for each broker.
broker.id=0

(2)修改日志位置
log.dirs=/usr/local/kafka_2.11-2.2.1/logs

(3)修改zookeeper连接信息
#我这里三台zookeeper主机名是vm-10,vm-11,vm-12,已在host文件修改ip映射
zookeeper.connect=vm-10:2181,vm-11:2181,vm-12:2181

将修改好的配置文件发送到其他2台kafak机器上,并不要忘记修改broker.id。
 

4、创建kafka用户组、用户

养成良好的操作习惯,我们创建kafka的运行用户
sudo groupadd kafka
sudo useradd -g kafka kafka

修改kafka目录归属
sudo chgrp -R kafka kafka_2.11-2.2.1/
sudo chown -R kafka kafka_2.11-2.2.1/
 

5、启动kafak,三台机器依次启动。

#以kafka用户启动
sudo su - kafka -c './bin/kafka-server-start.sh -daemon config/server.properties'

我们连接zookeeper,查看brokers节点信息,发现三台kafka id已经正确写入了
[zk: localhost:2181(CONNECTED) 0] ls /
[admin, brokers, cluster, config, consumers, controller, controller_epoch, hbase, isr_change_notification, latest_producer_id_block, log_dir_event_notification, zookeeper]
[zk: localhost:2181(CONNECTED) 1] ls /brokers/
Path must not end with / character
[zk: localhost:2181(CONNECTED) 2] ls /brokers
[ids, seqid, topics]
[zk: localhost:2181(CONNECTED) 3] ls /brokers/ids
[0]
[zk: localhost:2181(CONNECTED) 4] ls /brokers/ids
[0, 1]
[zk: localhost:2181(CONNECTED) 5] ls /brokers/ids
[0, 1, 2]
[zk: localhost:2181(CONNECTED) 6] 


6、测试kafka是否正常工作


(1)创建topic
cd /usr/local/kafka_2.11-2.2.1

./bin/kafka-topics.sh --create --zookeeper vm-10:2181 --replication-factor 1 --partitions 1 --topic hello_kafka

zk上查看刚刚创建的topic
[zk: localhost:2181(CONNECTED) 8] ls /config/topics
[hello_kafka]


(2)启动控制台producer,为了方便直观的测试,我在vm-13这台机器启动producer
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic hello_kafka

(3)启动控制台consumer,为了方便直观的测试,我在vm-14这台机器启动consumer
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic hello_kafka --from-beginning

在vm-13这台机器的控制台窗口中发送消息,验证vm-14中启动的消费端是否可以正常收到消息。
 

Tags:kafka

很赞哦! ()

文章评论