kafka分布式安装部署

1.集群规划

2.集群部署

官方下载地址:http://kafka.apache.org/downloads.html

(1)上传并解压安装包

bash 复制代码
[zhangflink@9wmwtivvjuibcd2e package]$ tar -zxvf kafka_2.12-3.3.1.tgz -C ../software/

(2)修改解压后的文件名称

bash 复制代码
[zhangflink@9wmwtivvjuibcd2e software]$ mv kafka_2.12-3.3.1/ kafka

(3)进入到/opt/software/kafka目录,修改配置文件

bash 复制代码
[zhangflink@9wmwtivvjuibcd2e config]$ vim server.properties


(3)配置系统环境变量

bash 复制代码
[zhangflink@9wmwtivvjuibcd2e config]$ sudo vim /etc/profile
bash 复制代码
#KAFKA_HOME
export KAFKA_HOME=/opt/software/kafka
export PATH=$PATH:$KAFKA_HOME/bin

刷新配置文件

bash 复制代码
[zhangflink@9wmwtivvjuibcd2e config]$ source /etc/profile

(4)分发环境变量文件到其他节点,并source刷新配置文件

bash 复制代码
[zhangflink@9wmwtivvjuibcd2e software]$ /home/zhangflink/bin/xsync /etc/profile
[zhangflink@9wmwtivvjuibcd2e-0001 ~]$ source /etc/profile
[zhangflink@9wmwtivvjuibcd2e-0002 ~]$ source /etc/profile

(5)分发kafka文件到其他节点

bash 复制代码
[zhangflink@9wmwtivvjuibcd2e software]$ /home/zhangflink/bin/xsync kafka/

修改其他

3.启动集群

先启动Zookeeper集群,然后启动Kafka。

bash 复制代码
[zhangflink@9wmwtivvjuibcd2e kafka]$ bin/kafka-server-start.sh -daemon config/server.properties
[zhangflink@9wmwtivvjuibcd2e-0001 kafka]$ bin/kafka-server-start.sh -daemon config/server.properties
[zhangflink@9wmwtivvjuibcd2e-0002 kafka]$ bin/kafka-server-start.sh -daemon config/server.properties

查看进程

**

如果启动后一段时间发现节点停止,日志有如下报错,说明brokerID重复导致修改即可

**


修改完后再次启动日志正常,brokerID正常

4.集群启停脚本

(1)在/home/zhangflink/bin目录下创建文件kafka.sh脚本文件

bash 复制代码
[zhangflink@9wmwtivvjuibcd2e kafka]$ sudo vim /home/zhangflink/bin/kafka.sh

编辑脚本

bash 复制代码
#! /bin/bash

case $1 in
"start"){
    for i in flinkv1 flinkv2 flinkv3
    do
        echo " --------启动 $i Kafka-------"
        ssh $i "/opt/software/kafka/bin/kafka-server-start.sh -daemon /opt/software/kafka/config/server.properties"
    done
};;
"stop"){
    for i in flinkv1 flinkv2 flinkv3
    do
        echo " --------停止 $i Kafka-------"
        ssh $i "/opt/software/kafka/bin/kafka-server-stop.sh "
    done
};;
esac

(2)添加执行权限

bash 复制代码
[zhangflink@9wmwtivvjuibcd2e kafka]$ sudo chmod 777 /home/zhangflink/bin/kafka.sh

如果启动脚本执行后,kafka进程没有启动,也没有报错,那么大概是以下问题

问题原因:

登录式Shell,采用用户名比如xxx登录,会自动加载/etc/profile
非登录式Shell,采用ssh比如ssh 192.168.1.121登录,不会自动加载/etc/profile,会自动加载~/.bashrc

解决方法:

先测试 ssh [bigdata111 ip] "which java" 是否有反应,如果显示"no found",则需要配置

bash 复制代码
执行命令
[zhangflink@9wmwtivvjuibcd2e bin]$ ssh flinkv1 "which java"
出现报错
which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)

配置 ~/.bashrc文件

bash 复制代码
[zhangflink@9wmwtivvjuibcd2e ~]$ cd /home/zhangflink/bin/
[zhangflink@9wmwtivvjuibcd2e bin]$ vim ~/.bashrc

添加配置文件

bash 复制代码
export JAVA_HOME=/opt/software/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

并将.bashrc文件分发到其他节点上

bash 复制代码
[zhangflink@9wmwtivvjuibcd2e bin]$ /home/zhangflink/bin/xsync ~/.bashrc

继续测试 ssh [bigdata111 ip] "which java" 成功后重启脚本,看进程是否存在

然后再次执行脚本启动kafka,发现启动成功。

相关推荐
RodrickOMG21 分钟前
【大数据】Hadoop三节点集群搭建
大数据·hadoop·分布式
乄北城以北乀1 小时前
第1章 R语言中的并行处理入门
开发语言·分布式·r语言
customer081 小时前
【开源免费】基于SpringBoot+Vue.JS安康旅游网站(JAVA毕业设计)
java·vue.js·spring boot·后端·kafka·开源·旅游
得谷养人5 小时前
flink-1.16 table sql 消费 kafka 数据,指定时间戳位置消费数据报错:Invalid negative offset 问题解决
sql·flink·kafka
天乐敲代码6 小时前
Etcd静态分布式集群搭建
数据库·分布式·etcd
光纤传感技术研究7 小时前
分布式光纤传感|分布式光纤测温|线型光纤感温火灾探测器DTS|DTS|DAS|BOTDA的行业16年的总结【2024年】
分布式·dts·光纤传感器·botda·光纤传感技术
dbcat官方7 小时前
1.微服务灰度发布(方案设计)
java·数据库·分布式·微服务·中间件·架构
明达技术9 小时前
分布式 IO 模块助力冲压机械臂产线实现智能控制
分布式
溟洵9 小时前
【C++】异步(并发)实现 线程池 ---附源码+实现步骤(future、async、promise、package_task、任务池原理和框架)
服务器·网络·c++·分布式·后端