当前位置: 首页 > news >正文

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

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端,可以看到控制台有相同的数据输出

--实验结束!

http://www.lryc.cn/news/391439.html

相关文章:

  • 阿里Qwen2-72B大模型已是开源榜的王者,为什么还要推出其他参数模型,被其他模型打榜?
  • 7.基于SpringBoot的SSMP整合案例-表现层开发
  • 【server】3、注册中心与配置中心
  • 【大数据】—量化交易实战案例(海龟交易策略)
  • 014-GeoGebra基础篇-快速解决滑动条的角度无法输入问题
  • Diffusion模型的微调和引导
  • 零基础学MySQL:从入门到实践的完整指南
  • 澳蓝荣耀时刻,6款产品入选2024年第一批《福州市名优产品目录》
  • Frrouting快速入门——OSPF组网(一)
  • 记录通过Cloudflare部署属于自己的docker镜像源
  • 波动方程 - 在三维图中动态显示二维波动方程的解就像水面波澜起伏
  • yum命令提示 错误:rpmdb: BDB0113 Thread/process 4153/139708200269632
  • 欢乐钓鱼大师游戏攻略:在什么地方掉称号鱼?云手机游戏辅助!
  • 什么是构造函数?Java 中构造函数的重载如何实现?
  • Linux内核 -- ARMv7 与 ARMv8 中的 asmlinkage 作用及使用
  • GPT提示词模板
  • WRF学习——使用CMIP6数据驱动WRF/基于ncl与vdo的CMIP6数据处理
  • 机器人控制系列教程之Delta机器人动力学分析
  • VIM介绍
  • 课设:选课管理系统(Java+MySQL)
  • 动态规划 剪绳子问题
  • 上位机图像处理和嵌入式模块部署(mcu项目1:实现协议)
  • 【NLP学习笔记】load_dataset加载数据
  • 企业如何选择好用的供应商管理系统
  • 震惊!运气竟能如此放大!运气的惊人作用,你了解吗?
  • 记录一次Apache Tomcat 处理返回自定义的404页面
  • 【piania 的用法】
  • 上海计算机考研炸了,这所学校慎报!上海大学计算机考研考情分析!
  • 面对全球新能源汽车合作发展创维汽车如何实现共赢
  • 安全和加密常识(1)对称加密和非对称加密以及相应算法