Kafka 集群搭建过程

这篇具有很好参考价值的文章主要介绍了Kafka 集群搭建过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

跟着尚硅谷海哥文档搭建的Kafka集群环境,在此记录一下,侵删

注意:博主在服务器上搭建环境的时候使用的是一个服务器,所以这篇博客可能会出现一些xsync分发到其他服务器时候的错误,如果你在搭建的过程中出现了错误,欢迎评论来访,我们一起解决。

准备工作

准备三台服务器:hadoop102,hadoop103,hadoop104,在opt文件下先创建两个文件modulesoftware

Hadoop 部分(Hadoop如果不使用的话,可以不用安装Hadoop,但是在此阶段的环境搭建还要进行)

JDK的安装

1、用XShell传输工具将JDK导入到 opt 目录下的 software 文件夹下面

Kafka 集群搭建过程,kafka

2、在software目录下解压JDK到/opt/module目录下

[root@hadoop102 software]# tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module

3、配置JDK环境变量

新建/etc/profile.d/my_env.sh文件

[root@hadoop102 /]# sudo vim /etc/profile.d/my_env.sh

添加一下内容,然后保存后退出

#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

source一下/etc/profile文件,让新的环境变量PATH生效

[root@hadoop102 /]# source /etc/profile

4、测试JDK是否安装成功

[root@hadoop102 /]# java -version

看到以下结果,代表Java安装成功

java version "1.8.0_212"

集群分发脚本:xsync

1、在/usr/bin中添加脚本

[root@hadoop102 /]# cd /usr/bin
[root@hadoop102 bin]# vim xsync

2、在该文件中编写以下代码

#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
 echo Not Enough Arguement!
 exit;
fi
#2. 遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104
do
 echo ==================== $host ====================
 #3. 遍历所有目录,挨个发送
 for file in $@
 do
 #4. 判断文件是否存在
 if [ -e $file ]
 then
 #5. 获取父目录
 pdir=$(cd -P $(dirname $file); pwd)
 #6. 获取当前文件的名称
 fname=$(basename $file)
 ssh $host "mkdir -p $pdir"
 rsync -av $pdir/$fname $host:$pdir
 else
 echo $file does not exists!
 fi
 done
done

3、修改脚本 xsync 执行权限

[root@hadoop102 bin]# chmod +x xsync

4、同步jdk1.8.0_212到其他服务器

[root@hadoop102 /]# xsync jdk1.8.0_212

5、同步环境变量

[root@hadoop102 /]# sudo xsync /etc/profile.d/my_env.sh

6、在各自的服务器让环境变量生效

[root@hadoop102 /]# source /etc/profile

查看服务器Java进程脚本:jpsall

1、在/usr/bin中添加脚本

[root@hadoop102 /]# cd /usr/bin
[root@hadoop102 bin]# vim jpsall

2、输入以下内容,然后保存退出

#!/bin/bash
for host in hadoop102 hadoop103 hadoop104
do
 echo =============== $host ===============
 ssh $host jps
done

3、赋予脚本执行权限

[root@hadoop102 bin]# chmod +x jpsall

4、分发 jpsall 脚本,保证其在三台服务器上都可以使用

[root@hadoop102 /]# xsync /usr/bin

Zookeeper 部分

Zookeeper 本地安装

1、用XShell传输工具将Zookeeper导入到 opt 目录下的 software 文件夹下面

2、在software目录下解压JDK到/opt/module目录下

[root@hadoop102 software]# tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module

3、修改名称

[root@hadoop102 module]# mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7

4、在/opt/module/zookeeper-3.5.7/这个目录下创建 zkData

[root@hadoop102 zookeeper-3.5.7]# mkdir zkData

5、在/opt/module/zookeeper-3.5.7/zkData 目录下创建一个 myid 的文件

[root@hadoop102 zkData]# vim myid

在文件中添加与server对应的编号,如hadoop102中填写2(上下不要用空行,左右不要有空格)

2

6、分发到其他服务器上

[root@hadoop102 /]# xsync zookeeper-3.5.7

并分别在 hadoop103、hadoop104上修改myid文件中的内容为3、4

7、将/opt/module/zookeeper-3.5.7/conf 这个路径下的 zoo_sample.cfg 修改为 zoo.cfg

[root@hadoop102 conf]# mv zoo_sample.cfg zoo.cfg

8、打开zoo.cfg文件,修改 dataDir 路径

[root@hadoop102 conf]# vim zoo.cfg
# 修改数据存储路径配置
dataDir=/opt/module/zookeeper-3.5.7/zkData
# 增加如下配置
#######################cluster##########################
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
server.4=hadoop104:2888:3888

9、同步zoo.cfg配置文件

[root@hadoop102 conf]# xsync zoo.cfg

10、分别启动Zookeeper

[root@hadoop102 zookeeper-3.5.7]$ bin/zkServer.sh start
[root@hadoop103 zookeeper-3.5.7]$ bin/zkServer.sh start
[root@hadoop104 zookeeper-3.5.7]$ bin/zkServer.sh start

11、查看状态

[root@hadoop102 zookeeper-3.5.7]$ bin/zkServer.sh status
[root@hadoop103 zookeeper-3.5.7]$ bin/zkServer.sh status
[root@hadoop104 zookeeper-3.5.7]$ bin/zkServer.sh status

ZK集群启动停止脚本:zk.sh

1、在/usr/bin中添加脚本

[root@hadoop102 bin]$ vim zk.sh

在脚本中编写如下内容

#!/bin/bash

case $1 in
"start"){
   for i in VM-16-14-centos
   do
      echo ---------- zookeeper $i 启动 ------------
      ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
   done
};;
"stop"){
   for i in VM-16-14-centos
   do
      echo ---------- zookeeper $i 停止 ------------ 
      ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
   done
};;
"status"){
   for i in VM-16-14-centos
   do
      echo ---------- zookeeper $i 状态 ------------ 
      ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
   done
};;
esac

2、增加脚本执行权限

[root@hadoop102 bin]$ chmod u+x zk.sh

3、Zookeeper 集群启动脚本

[root@hadoop102 /]$ zk.sh start

4、Zookeeper 集群停止脚本

[root@hadoop102 /]$ zk.sh stop

6、同步脚本

[root@hadoop102 /]# xsync /usr/bin

Kafka 部分

Kafka 安装

1、用XShell传输工具将Zookeeper导入到 opt 目录下的 software 文件夹下面

2、在software目录下解压JDK到/opt/module目录下

[root@hadoop102 software]# tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/module

3、修改解压的名称

[root@hadoop102 module]# mv kafka_2.12-3.0.0/ kafka

4、进入到/opt/module/kafka 目录,修改配置文件

[root@hadoop102 kafka]$ cd config/
[root@hadoop102 config]$ vim server.properties

5、修改 dataDir 路径

# broker 的全局唯一编号,不能重复,只能是数字。
broker.id=0

# kafka 运行日志(数据)存放的路径,路径不需要提前创建,kafka 自动帮你创建,可以配置多个磁盘路径,路径与路径之间可以用","分隔
log.dirs=/opt/module/kafka/datas

# 增加以下内容
# 配置连接 Zookeeper 集群地址(在 zk 根目录下创建/kafka,方便管理)
zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181/kafka

6、分发安装包到其他服务器

[root@hadoop102 module]$ xsync kafka/

7、分别在 hadoop103 和 hadoop104 上修改配置文件/opt/module/kafka/config/server.properties 中的 broker.id=1、broker.id=2(注:broker.id 不得重复,整个集群中唯一。)

[root@hadoop103 module]$ vim kafka/config/server.properties
# 修改:
# The id of the broker. This must be set to a unique integer for each broker.
broker.id=1
[root@hadoop104 module]$ vim kafka/config/server.properties
# 修改:
# The id of the broker. This must be set to a unique integer for each broker.
broker.id=2

8、在/etc/profile.d/my_env.sh 文件中增加 kafka 环境变量配置

[root@hadoop102 module]$ sudo vim /etc/profile.d/my_env.sh

增加如下内容:

#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin

9、source一下/etc/profile文件,让新的环境变量PATH生效

[root@hadoop102 /]# source /etc/profile

10、分发环境变量文件到其他节点,并 source。

[root@hadoop102 /]# sudo xsync /etc/profile.d/my_env.sh
[root@hadoop103 module]$ source /etc/profile
[root@hadoop104 module]$ source /etc/profile

11、先启动Zookeeper集群,在启动Kafka

[root@hadoop102 kafka]$ zk.sh start 

12、依次在 hadoop102、hadoop103、hadoop104上启动Kafka

[root@hadoop102 kafka]$ bin/kafka-server-start.sh -daemon config/server.properties
[root@hadoop103 kafka]$ bin/kafka-server-start.sh -daemon config/server.properties
[root@hadoop104 kafka]$ bin/kafka-server-start.sh -daemon config/server.properties

13、关闭集群

[root@hadoop102 kafka]$ bin/kafka-server-stop.sh 
[root@hadoop103 kafka]$ bin/kafka-server-stop.sh 
[root@hadoop104 kafka]$ bin/kafka-server-stop.sh 

Kafka集群启动停止脚本:kf.sh

1、在/usr/bin中添加脚本

[root@hadoop102 bin]$ vim zk.sh

在脚本中编写以下内容

#! /bin/bash
case $1 in
"start"){
 for i in hadoop102 hadoop103 hadoop104
 do
 echo " --------启动 $i Kafka-------"
 ssh $i "/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties"
 done
};;
"stop"){
 for i in hadoop102 hadoop103 hadoop104
 do
 echo " --------停止 $i Kafka-------"
 ssh $i "/opt/module/kafka/bin/kafka-server-stop.sh "
 done
};;
esac

2、增加脚本执行权限

[root@hadoop102 bin]$ chmod u+x kf.sh

3、Kafka 集群启动脚本

[root@hadoop102 /]$ kf.sh start 

4、Kafka 集群停止脚本

[root@hadoop102 /]$ kf.sh stop

注意:停止 Kafka 集群时,一定要等 Kafka 所有节点进程全部停止后再停止 Zookeeper 集群。因为 Zookeeper 集群当中记录着 Kafka 集群相关信息,Zookeeper 集群一旦先停止, Kafka 集群就没有办法再获取停止进程的信息,只能手动杀死 Kafka 进程了。

总结

以上就是博主总结的 Kafka 搭建的过程了,在此过程中并没有使用SSL免密登录,每次执行脚本的时候需要输入服务器的登录密码,有点麻烦,如果想要实现SSL免密登录,可以看尚硅谷海哥的hadoop视频:尚硅谷大数据Hadoop教程,hadoop3.x搭建到集群调优,百万播放文章来源地址https://www.toymoban.com/news/detail-655047.html

到了这里,关于Kafka 集群搭建过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kafka 搭建过程

    本文主要介绍Kafka基本原理,以及搭建过程。 Apache Kafka是一个开源的分布式事件流平台,被设计用来实现实时数据流的发布、订阅、存储和处理。 Kafka的主要特性包括: 高吞吐量:Kafka可以处理高速流动的数据,并保证数据的写入和读取的高速性。 分布式:Kafka集群由多个服

    2024年02月08日
    浏览(28)
  • Kafka三节点集群搭建

    部署kafka集群最好是奇数台至少3台服务器,也可以在一台服务中部署三个kaf

    2024年02月11日
    浏览(34)
  • kafka---- zookeeper集群搭建

    Hostname Ip Root Prac-zk-133 172.16.144.133 root Prac-zk-134 172.16.144.134 root Prac-zk-135 172.16.144.135 root 172.16.144.133 Prac-zk-133 172.16.144.134 Prac-zk-134 172.16.144.135 Prac-zk-135 zkServer.sh start-foreground 使用它启动会出现地址已在使用 Zookeeper启动失败(java.net.BindException: 地址已在使用 端口被占用了,把218

    2024年02月11日
    浏览(38)
  • kafka 集群搭建 & 常用命令

    1、集群搭建: 1 将kafka 压缩包解压到某一目录 tar -zxvf kafka_2.12-3.5.1.tgz 2 修改节点配置文件 vim config/server.properties broker.id=0 log.dirs=/tmp/kafka-logs zookeeper 连接配置 zookeeper.connect=节点1:2181,节点2:2181,节点3:2181 3 将安装好的kafka 分发到其他服务器 scp -r kafka_2.12-2.4.1/ xxx 4配置KAFKA_HOME环

    2024年02月07日
    浏览(52)
  • Kafka之集群搭建

            单机服务下,Kafka已经具备了非常高的性能。TPS能够达到百万级别。但是,在实际工作中使用时,单机搭建的Kafka会有很大的局限性。         ​ 消息太多,需要分开保存。 Kafka是面向海量消息设计的,一个Topic下的消息会非常多,单机服务很难存得下来。这些

    2024年01月24日
    浏览(32)
  • Kafka集群搭建步骤

    安装 Java 运行环境:Kafka 是用 Java 语言编写的,因此需要安装 Java 运行环境。可以从 Oracle 官网下载并安装对应版本的 JDK。 安装 ZooKeeper:ZooKeeper 是 Kafka 集群所必需的组件。在 官网 下载并解压对应版本的 ZooKeeper,配置 zoo.cfg 配置文件,启动 ZooKeeper。 下载并解压 Kafka:在

    2024年02月07日
    浏览(27)
  • kafka集群搭建

    准备三台互通服务器(关闭防火墙) 192.168.203.136 192.168.203.137 192.168.203.138 一.搭建zookeeper集群 1、在/usr/local目录下解压安装包, tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz 链接:百度网盘 请输入提取码 提取码:bd2u 2、进入zookeeper目录下新建文件夹zkData mkdir zkData 3、进入conf目录下修改

    2024年02月01日
    浏览(30)
  • 【Kafka】Kafka3.1.1集群搭建指南KRaft版本

    目录 一、背景和描述 二、资源情况 三、技术选型 四、部署Kraft版本集群 五、配置SSL模式 六、Springboot使用SSL集成 参考资料 考虑资源安全性,需要搭建不依赖Zookeeper的kafka集群环境,并且配置SSL访问控制 Apache Kafka Raft 是一种共识协议,它的引入是为了消除 Kafka 对 ZooKeeper 的

    2024年02月03日
    浏览(42)
  • 【Kafka】Kafka3.3.1集群搭建指南KRaft版本

    目录 一、背景和描述 二、资源情况 三、技术选型 四、部署Kraft版本集群 五、配置SSL模式 六、Springboot使用SSL集成 参考资料 考虑资源安全性,需要搭建不依赖Zookeeper的kafka集群环境,并且配置SSL访问控制 Apache Kafka Raft 是一种共识协议,它的引入是为了消除 Kafka 对 ZooKeeper 的

    2024年02月05日
    浏览(55)
  • 【分布式应用】kafka集群、Filebeat+Kafka+ELK搭建

    主要原因是由于在高并发环境下,同步请求来不及处理,请求往往会发生阻塞。比如大量的请求并发访问数据库,导致行锁表锁,最后请求线程会堆积过多,从而触发 too many connection 错误,引发雪崩效应。 我们使用消息队列,通过异步处理请求,从而缓解系统的压力。消息队

    2024年02月16日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包