学习Kafka环境配置记录
主要记录学习Kafka过程中用到的环境:包括软件安装和环境变量配置
Linux环境为 centos7.x版本 root用户
一 、 jdk安装
jdk1.8下载地址:https://www.oracle.com/cn/java/technologies/downloads/#license-lightbox
#创建用于安装jdk的目录
mkdir -p /usr/local/java
#解压到指定路径下
tar -zxf jdk-8u401-linux-x64.tar.gz -C /usr/local/java/
#添加环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8.0_401
export PATH=$PATH:$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#验证
java -version
二 、 Hadoop安装
hadoop3.1.3下载地址: https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz
#解压指指定目录
tar -zxf hadoop-3.1.3.tar.gz -C /opt/module/
#添加环境变量
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
#验证
hadoop
三、 zookeeper安装
#解压
tar -zxf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
#修改配置文件
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg
#修改数据存储路径
dataDir=/opt/module/zookeeper-3.5.7/zkData
#启动zk服务端
zkServer.sh start
#验证命令 用于查看Java进程
jps
#关闭服务端
zkServer.sh stop
#启动客户端
zkCli.sh
#退出客户端
quit
四、Kafka安装
kafka下载地址:https://kafka.apache.org/downloads
#解压
tar -zxf kafka_2.12-3.0.2.tgz -C /opt/module/
#环境变量
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin
#启动
kafka-server-start.sh -daemon config/server.properties
#关闭
kafka-server-stop.sh
附三个尚硅谷课程的批量脚本:
脚本1:批量同步文件
#!/bin/bash
if [ $# -lt 1 ]
then
echo 缺少参数!
exit;
fi
for host in host1 host2 host3
do
echo ====== $host ======
for file in $@
do
if [ -e $file ]
then
pdir=$(cd -P $(dirname $file);pwd)
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi
done
done
脚本2:批量启动zk集群
注意:报错Java_home需要在zk的bin目录下zkenv.sh中手动更改当前Java环境变量
#!/bin/bash
case $1 in
"start"){
for i in host1 host2 host3
do
/usr/bin/ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
done
}
;;
"stop"){
for i in host1 host2 host3
do
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
done
}
;;
"status"){
for i in host1 host2 host3
do
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
done
}
;;
esac
脚本3:批量启动Kafka集群
#!/bin/bash
case $1 in
"start"){
for i in host1 host2 host3
do
ssh $i "/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties
done
}
;;
"stop"){
for i in host1 host2 host3
do
ssh $i "/opt/module/kafka/bin/kafka-server-stop.sh
done
}
;;
esac
谨此记录!