Kafka集群部署(手把手部署图文详细版)

CloudJourney 2024-09-07 11:07:03 阅读 55

1.1.1 部署zookpeer

在node02下载并解压zookeeper软件包

cd /usr/local

wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

或者:scp cat@192.168.28.100:/home/cat/zookeeper-3.4.6.tar.gz /tmp(注意目录)

mv zookeeper-3.4.6.tar.gz /usr/local

tar -zxvf zookeeper-3.4.6.tar.gz

ln -s zookeeper-3.4.6 zookeeper(创建软链接,创建快捷方式)

 设置环境变量,在node02-4节点执行命令vim /etc/profile后,在文件末尾添加以下内容:

export ZOOKEEPER_HOME=/usr/local/zookeeper

export PATH=$ZOOKEEPER_HOME/bin:$PATH

添加完成后,执行命令source /etc/profile,使环境变量生效

 修改Zookeeper配置文件,在node02节点执行以下命令,进入Zookeeper所在目录。

cd /usr/local/zookeeper/conf

拷贝配置文件。

cp zoo_sample.cfg zoo.cfg

修改配置文件中以下内容

vim zoo.cfg

dataDir=/usr/local/zookeeper/tmp

server.1=node02:2888:3888

server.2=node03:2888:3888

server.3=node04:2888:3888

步骤 3   创建并编辑myid文件

在node02节点执行以下命令

在node02节点创建zookpeer数据目录

mkdir /usr/local/zookeeper/tmp

touch /usr/local/zookeeper/tmp/myid

echo 1 > /usr/local/zookeeper/tmp/myid

 同步配置, 在node02节点执行以下命令,同步配置到其它节点

scp -r /usr/local/zookeeper-3.4.6 root@node03:/usr/local

scp -r /usr/local/zookeeper-3.4.6 root@node04:/usr/local

修改其它节点配置, 登录node03、node04,创建软链接、修改myid内容。node03:

cd /usr/local

ln -s zookeeper-3.4.6 zookeeper

echo 2 > /usr/local/zookeeper/tmp/myid

node04:

cd /usr/local

ln -s zookeeper-3.4.6 zookeeper

echo 3 > /usr/local/zookeeper/tmp/myid

运行验证分别在node02-4上执行以下命令,启动Zookeeper

cd /usr/local/zookeeper/bin

./zkServer.sh start

注:停止Zookpeer的命令是./zkServer.sh stop查看Zookeeper状态,显示信息如下,表示状态正常

[root@node02 bin]# ./zkServer.sh status

JMX enabled by default

Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg

Mode: follower

[root@node03 bin]# ./zkServer.sh status

JMX enabled by default

Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg

Mode: leader

[root@node04 bin]# ./zkServer.sh status

JMX enabled by default

Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg

Mode: follower

2.1.1 部署Kafka

 下载并解压Kafka, 在node02上执行以下命令:

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

mv kafka_2.11-0.10.1.1.tgz /usr/local

tar -zxvf kafka_2.11-0.10.1.1.tgz

ln -s kafka_2.11-0.10.1.1 kafka

 设置环境变量, 在node02-4节点执行命令vim /etc/profile后,在文件末尾添加以下内容:

export KAFKA_HOME=/usr/local/kafka

export PATH=$KAFKA_HOME/bin:$PATH

添加完成后,执行命令source /etc/profile,使环境变量生效

修改Kafka配置文件在node02执行以下命令,切换到配置文件目录下

cd $KAFKA_HOME/config

在node02上执行命令vim server.properties,修改server.properties的部分内容如下所示:

broker.id=0

host.name=node02

listeners=PLAINTEXT://node02:9092

zookeeper.connect=node02:2181,node03:2181,node04:2181

 同步配置,在node02上执行以下命令,拷贝kafka_2.11-0.10.1.1到node03、4的“/usr/local”目录下

scp -r /usr/local/kafka_2.11-0.10.1.1 root@node03:/usr/local

scp -r /usr/local/kafka_2.11-0.10.1.1 root@node04:/usr/local

登录到node03、4节点,为kafka_2.11-0.10.1.1建立软链接

cd /usr/local

ln -s kafka_2.11-0.10.1.1 kafka

登录到node03节点,切换到$KAFKA_HOME/config目录下,执行命令vim server.properties,修改server.properties的部分内容如下所示:

broker.id=1

host.name=node03# 可填对应的IP地址

listeners=PLAINTEXT://node03:9092

登录到node04节点,切换到$KAFKA_HOME/config目录下,执行命令vim server.properties,修改server.properties的部分内容如下所示:

broker.id=2

host.name=node04# 可填对应的IP地址

listeners=PLAINTEXT://node04:9092

分 运行验证分别在node02-4节点上执行以下命令,启动Kafka。

cd /usr/local/kafka/bin

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

然后在node02-4节点上执行jps命令,查看进程状态

[root@node02 bin]# jps

2002 QuorumPeerMain

2901 Jps

2827 Kafka

1502 WrapperSimpleApp

[root@node03 bin]# jps

4625 Kafka

1515 WrapperSimpleApp

2012 QuorumPeerMain

4701 Jps

[root@node04 bin]# jps

7346 Jps

1483 WrapperSimpleApp

2380 QuorumPeerMain

7277 Kafka

显示以上进程状态,表示kafka正常

3.1.1 消息订阅实战

 创建Kafka主题在node02上执行命令:

[root@node02 bin]# kafka-topics.sh --create --topic topic-test1 --partitions 1 --replication-factor 1 --zookeeper 192.168.253.129:2181, 192.168.253.130:2181, 192.168.253.131:2181

Created topic "topic-test1".

在node02、3、4上执行以下命令,都可以查看到上一步骤创建的topic主题

[root@node02 bin]# kafka-topics.sh --list --zookeeper 192.168.253.129:2181, 192.168.253.130:2181, 192.168.253.131:2181

__consumer_offsets

topic-test1

在node03或node04上执行命令,创建消费者,模拟目标系统

[root@node03 bin]# kafka-console-consumer.sh --topic topic-test1 --bootstrap-server 192.168.253.129:9092, 192.168.253.130:9092, 192.168.253.131:9092 --new-consumer

该命令执行后,就会消费topic数据,此窗口不要再做其他操作,不要关闭。

在node02上执行命令,创建生产者,模拟业务系统

[root@node02 bin]# kafka-console-producer.sh --broker-list 192.168.253.129:9092, 192.168.253.130:9092, 192.168.253.131:9092 --topic topic-test1命令执行后,在shell端自行输入数据

在生产者的shell段输入数据后,切换到消费者的shell端,可以看到控制台有相同的数据输出

--实验结束!



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。