kafka集群部署

1.部署环境:

VMware虚拟机

使用centos7.6最小化镜像文件

2.部署前准备:

2.1.安装jdk(本演示安装Oracle jdk8):

下载地址:Java 存档下载 — Java SE 8 | Oracle 中国

下载适合自己机器的版本,此处我选择下载 

可以选择使用wget下载,也可以下载到本地后上传到系统中 ,上传到系统之后进行解压(可以不指定位置解压)

tar -zxvf jdk-8u202-linux-x64.tar.gz

解压完成之后可以看到解压后的目录:

 然后使用命令:

alternatives --install /usr/bin/java java /opt/jdk1.8.0_202/bin/java  2

因为我之前安装过别的版本的jdk,这里选择使用版本管理工具来是安装的java版本生效, 对于上述语句只需修改后两个值,将其替换为你实际的解压路径和你想要指代的编号(编号是在我们后续执行版本选择时输入的数字,详见下)

运行下列语句选择java版本:

alternatives --config java

然后输入编号选择我们想要使用的jdk

选择生效之后可以执行java -version查看是否成功生效:

另外如果你要使这个版本长期生效则需要修改环境变量:

vim /etc/profile

在文件底部加入下列行:

export JAVA_HOME=实际的解压目录
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

然后保存退出,再source /etc/profile 

然后查看java版本信息

 2.2部署zookeeper集群(参考下列文章)

http://t.csdnimg.cn/ZRcds

部署完成之后按照步骤启动集群

2.3部署kafka集群:

三台机器还是node01 node02 node03,以下操作全部在node01上操作:

2.3.1下载kafka的包,解压:

下载地址:阿里开源镜像站

apache-kafka安装包下载_开源镜像站-阿里云 (aliyun.com)

此处选择3.5.2版本下载:

进入到/usr/local目录下,使用下列命令:

wget https://mirrors.aliyun.com/apache/kafka/3.5.2/kafka_2.12-3.5.2.tgz

解压完成之后创建一个数据目录,先进入解压后的目录 ,创建一个data目录

2.3.2修改环境变量:

解压后的目录为/usr/local根据实际情况:

vim /etc/profile

在文件底部加上:

export KAFKA_HOME=/usr/local/kafka-3.5.2

然后保存退出并source /etc/profile使配置生效

2.3.3修改配置文件:

进入到解压后的目录下:

vim config/server.properties
#指定id,这个是这个节点在集群中的唯一标识,设为数字
broker.id=2
#指定主机
listeners=PLAINTEXT://192.168.88.62:9092
#指定数据目录
log.dirs=/usr/local/kafka-3.5.2/data
#连接到我们的zookeeper集群
zookeeper.connect=192.168.88.61:2181,192.168.88.62:2181,192.168.88.63:2181/kafka

然后保存关闭,node01的kafka安装到此结束,然后在node02 node03上重现上述步骤即可,全部安装完成之后,测试一下安装是否成功:

先启动zookeeper集群,使用脚本快捷启动在之后再启动kafka(脚本在2.2部署zookeeper集群中有提到)

然后启动kafka,下面是快捷脚本(修改时将):

#!/bin/bash

case $1 in
"start")
  for i in node01 node02 node03
  do
    echo "****************** $i *********************"
    ssh $i "source /etc/profile && /usr/local/kafka-3.5.2/bin/kafka-server-start.sh -daemon /usr/local/kafka-3.5.2/config/server.properties"
  done
  ;;

"stop")
  for i in node01 node02 node03
  do
    echo "****************** $i *********************"
    ssh $i "/usr/local/kafka-3.5.2/bin/kafka-server-stop.sh"
  done
  ;;

*)
  echo "Usage: $0 {start|stop}"
  exit 1
  ;;
esac

演示: 

像上图输出表示成功启动和关闭

启动之后我们查看jps后台进程:

可以看到后台进程

然后我们可以简单测试功能创建一个主题然后查看是否创建成功 

/usr/local/kafka-3.5.2/bin/kafka-topics.sh --create --bootstrap-server 实际ip:实际端口 --replication-factor 1 --partitions 3 --topic 实际主题名称
/usr/local/kafka-3.5.2/bin/kafka-topics.sh --bootstrap-server 实际ip:实际端口 --list

功能测试正常那么部署完成。

菜鸡上路,有什么问题各位大哥请多多指教 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值