目录
本篇主要内容为Kafka,其余的Hadoop和zk的集群搭建如下:
Hadoop集群搭建过程
Hadoop 3.x - 本地安装 & 完全分布式安装 & 集群配置 & xsync分发脚本(解决root用户启动Hadoop集群的报错问题)
Zookeeper搭建过程
这里的两篇建议按顺序看
安装部署
一、集群规划
Hadoop102 | Hadoop103 | Hadoop104 |
Zookeeper | Zookeeper | Zookeeper |
kafka | kafka | kafka |
二、集群部署
1.下载
下载地址:Apache Kafka
2.准备服务器
准备好三台服务器:
然后把安装包扔进去
这里注意自己的版本号:
tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/module/
进去目录后给它改个名字,然后进去:
cd /opt/module/
mv kafka_2.12-3.0.0/ kafka
然后看看里面有啥:
3.修改配置
进入到/opt/module/kafka 目录,修改配置文件:
vim server.properties
这里需要注意一下这个 broker.id=0 这是Kafka在整个集群当中的唯一身份标识。咱们这里在102机器上为0,那也就意味着在103和104上就得为1和2(绝不能重复)。接着往下看
这里的log.dirs=/tmp/kafka-logs是用来存储Kafka数据的目录地址,所以咱们不应该把他放在一个临时的存放点,这里需要修改一下:
log.dirs=/opt/module/kafka/datas
也就是说咱们把数据放到自己安装的目录下,修改后如下:
接着往下,到zk这里:
咱们知道Zookeeper的根目录下有个zookeeper节点,所以咱们把要这里改成以下这样。如果不加上这个/kafka的话,那么Kafka的数据将会被打散到Zookeeper里面去,这样的话之后再想对其进行操作必须进去然后一个一个找,一个一个操作:
zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181/kafka
保存退出。然后退回到 module 目录:
cd ../..
然后就爽了,使用 xsync 进行分发,如果没有此脚本注意看:Hadoop3.x - 本地安装 + 完全分布式安装 + 集群配置 + xsync分发脚本
xsync kafka/
分发完之后的第一件事就是去 103 和 104 机器中把id改掉, 103 :
cd /opt/module/kafka/config/
保存退出后到 104 机器中继续修改,保证它们各自id的唯一性:
cd /opt/module/kafka/config/
然后这里回到 102 机器去配置参数,咱们这里把参数都配置到了 java.sh :
vim /etc/profile.d/java.sh
修改前内容如下:
添加以下内容:
#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin
保存退出后记得刷新一下:
source /etc/profile.d/java.sh
刷新之后继续使用 xsync 进行分发:
xsync /etc/profile.d/java.sh
在分发完毕后分别到 103 和 104 机器上进行刷新操作:
source /etc/profile.d/java.sh
群起脚本
vim kf.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
记得提权:
chmod +x kf.sh
群启测试
先启动zk集群,zk的群起脚本在之前的博客中也有提到:Zookeeper - 集群搭建 + 群起集群脚本
zk.sh start
群启Kafka:
kf.sh start
关闭Kafka:
kf.sh stop
注意:在启动Kafka之前必须先启动zk,在关停zk之前要先关停Kafka。
-