kafka集群搭建

1、先搭建zookeeper集群

2、kafka集群配置

1、zookeeper

zookeeper安装与配置

(1)下载并解压

    去下载Index of /apache/zookeeper

   在node01 /opt/kafka/下 解压 tar -zxvf zookeeper-3.7.1.tar.gz  和apache-zookeeper-3.7.1-bin.tar.gz

mv zookeeper-3.7.1  zookeeper

cd kafka/
cd zookeeper/
  cd conf/   cp zoo_sample.cfg  zoo.cfg
  vim zoo.cfg 

修改下 dataDir 和dataLogDir的地址

修改下下面server的地址可直接IP地址(master,slave1,slave2) 

创建所需目录和新建的myid文件
创建/opt/kafka/zookeeper/data与/opt/kafka/zookeeper/datalog目录

sudo mkdir /opt/kafka/zookeeper/data
sudo mkdir /opt/kafka/zookeeper/datalog
sudo vim /opt/kafka/zookeeper/data/myid
1
2
3
将myid内容设置为1
设置为1是由于配置文件zoo.cfg中“server.id=host:port:port”,配置项master机器对应的“id”为"1"

同步zookeeper文件到salve1、slave2
su root
scp -r /opt/kafka/zookeeper root@slave1:/opt/kafka/zookeeper
scp -r /opt/kafka/zookeeper root@slave2:/opt/kafka/zookeeper

解压apache-zookeeper-3.7.1-bin后将lib 文件传到zookeeper目录下

在用户主目录中添加环境变量

在这里插入图片描述

export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH
  • 在这里插入图片描述
  • source  /etc/profile

验证zookeeper集群
zkServer.sh status
jps

leader角色按照内部算法分配 这次slave1为leader, master与slave2为follower


master、slave1、slave2 三机器jps出现上图QuorumPeerMain 说明zookeeper集群配置成功

 

、下载安装包
cd /opt/module
# 下载kafka安装包
wget https://archive.apache.org/dist/kafka/2.6.0/kafka_2.13-2.6.0.tgz

2、解压
# 解压kafka安装包
tar -zxvf kafka_2.13-2.6.0.tgz
mv kafka_2.13-2.6.0 kafka

3、创建存放kafka消息的目录
cd kafka
mkdir kafka-logs

4、修改配置文件
vim /opt/module/kafka/config/server.properties
# 修改如下参数
broker.id=0 
listeners=PLAINTEXT://hadoop1:9092
log.dirs=/opt/module/kafka/kafka-logs
zookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop3:2181

参数说明:
broker.id : 集群内全局唯一标识,每个节点上需要设置不同的值
listeners:这个IP地址也是与本机相关的,每个节点上设置为自己的IP地址
log.dirs :存放kafka消息的
zookeeper.connect : 配置的是zookeeper集群地址

5、分发kafka安装目录
# 分发kafka安装目录给其他集群节点
scp -r /opt/module/kafka/ hadoop2:/opt/module
scp -r /opt/module/kafka/ hadoop3:/opt/module

分发完成后,其他集群节点都需要修改配置文件server.properties中的 broker.id 和listeners 参数。

6、编写kafka集群操作脚本


# 导入java环境
vim /etc/profile
# 添加如下内容(注意:填写自己的java安装目录)
export JAVA_HOME=/usr/java/jdk1.8.0_131
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

脚本命令说明:

启动kafka集群命令
./kafka-cluster.sh start

停止kafka集群命令
./kafka-cluster.sh stop

7、启动kafka集群
首先启动zookeeper集群
然后执行kafka集群脚本启动命令

cd /opt/module/kafka/bin
./kafka-cluster.sh start

8、测试
kafka集群启动成功后,我们就可以对kafka集群进行操作了。

创建主题
cd /opt/module/kafka
./bin/kafka-topics.sh --create --bootstrap-server hadoop1:9092 --replication-factor 3 --partitions 1 --topic test

查看主题列表
./bin/kafka-topics.sh --list --bootstrap-server hadoop1:9092
1
启动控制台生产者
./bin/kafka-console-producer.sh --broker-list hadoop1:9092 --topic test
1
启动控制台消费者
./bin/kafka-console-consumer.sh --bootstrap-server hadoop1:9092 --topic test --from-beginning
1
在生产者控制台输入hello kafka,消费者控制台,就可以消费到生产者的消息,输出 hello kafka,表示消费端成功消费了生产者生产的消息!

至此,我们就顺利完成了kafka集群搭建的整个过程!

希望大家都能有所收获,喜欢的可以点赞和收藏,有疑问的可以在评论区留言,也欢迎转发分享给更多的人!

谢谢大家!
————————————————
版权声明:本文为优快云博主「笑看风云路」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/u011109589/article/details/124920047

### Kafka集群部署教程和最佳实践 #### 选择合适的硬件资源 为了确保Kafka集群能够稳定高效地工作,需要根据预期的消息吞吐量来评估所需的CPU、内存、磁盘I/O能力和网络带宽。通常建议使用SSD作为存储介质以提升读写速度[^3]。 #### 安装依赖组件-Zookeeper 由于Zookeeper在Kafka架构里承担着至关重要的职责,包括但不限于元数据保存、Broker状态跟踪、领导者推选等功能,在安装Kafka之前先要搭建好Zookeeper服务环境,并确认其正常运作[^2]。可以通过命令`sh zkCli.sh -server <zookeeper_ip>:2181`测试客户端能否顺利连通指定地址上的Zookeeper实例[^4]。 #### 下载并解压Kafka软件包 前往官方网站获取最新版本的Apache Kafka压缩文件,将其放置于服务器上适当位置之后执行解压缩操作。这一步骤完成后即可看到包含bin目录在内的多个子文件夹结构。 #### 修改配置参数 编辑`$KAFKA_HOME/config/server.properties`文档调整如下几个方面: - `broker.id`: 设置唯一的整数值代表当前节点身份; - `listeners`: 明确监听端口及协议类型(如PLAINTEXT://:9092); - `log.dirs`: 指定日志存放路径; - `zookeeper.connect`: 输入已建立好的Zookeeper连接字符串。 #### 启动各节点的服务进程 依次启动每一个Broker所在的机器上面对应的Kafka守护程序。对于多台物理机组成的分布式场景而言,则需分别登录到相应主机重复此过程直至全部成员均已加入集群。 #### 实施安全措施 考虑到敏感信息传输的安全性问题,应当启用SSL加密通信机制或者设置SASL认证方式保护消息交换渠道免受非法访问威胁;另外还可以利用ACL权限控制系统限定特定用户的操作范围。 #### 建立合理的监控体系 针对Kafka本身及其关联设施设立全面细致的状态监测方案,比如JVM堆外内存占用情况、磁盘剩余空间比例、网络流量统计等重要维度均应纳入考量范畴之内,以便及时发现潜在风险因素并采取有效应对策略[^1]。 ```bash # 这是一个简单的脚本用于启动单个kafka broker nohup bin/kafka-server-start.sh config/server.properties & ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值