-
这里尝试在麒麟sp3及centos8.6桌面版中安装成功
一、环境准备:
1.1.安装包,以及依赖包下载
#kafka安装包下载网址
https://kafka.apache.org/downloads
-
这里使用的zookeeper版本是apache-zookeeper-3.6.4-bin.tar.gz
-
这里使用的kafka版本是kafka_2.12-3.4.1.tgz
1.2.依赖包
#java下载网址
https://www.oracle.com/java/technologies/downloads/?er=221886#java8
-
kafka依赖Java环境,这里使用的版本是jdk-8u341-linux-x64.tar.gz
二、安装依赖
2.1.java安装脚本
#!/bin/bash
echo "开始安装java运行环境"
echo '解压jdk'
tar -xvf jdk-8u341-linux-x64.tar.gz -C /opt/
#修改profie文件
echo '修改环境变量'
echo '
#Java
export JAVA_HOME=/opt/jdk1.8.0_341
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib' >> /etc/profile
#刷新环境变量
echo '刷新环境变量'
source /etc/profile
#查看java环境版本
echo '查看java环境版本'
java -version
2.1.1如果java已安装
eg:
#查看是否已存在,查看安装路径
[root@localhost ~]# java -version
openjdk version "1.8.0_282"
OpenJDK Runtime Environment (build 1.8.0_282-b08)
OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)
[root@localhost ~]# which java
/usr/bin/java
#查看实际路径
[root@localhost ~]# which java
/usr/bin/java
[root@localhost ~]# ll /usr/bin/java
lrwxrwxrwx. 1 root root 22 2月 21 2023 /usr/bin/java -> /etc/alternatives/java
[root@localhost ~]# ll /etc/alternatives/java
lrwxrwxrwx. 1 root root 71 2月 21 2023 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-4.el8.x86_64/jre/bin/java
#直接使用/usr/bin/java
#1/
#修改环境变量---修改路径为/usr/bin/java
#Java
export JAVA_HOME=/usr/bin/java
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib
#修改Kafka运行文件---删除家目录的/bin/java
# Which java to use
if [ -z "$JAVA_HOME" ]; then
JAVA="java"
else
JAVA="$JAVA_HOME"
fi
2.2.查看Java是否安装成功
[root@localhost ~]# java -version
java version "1.8.0_341"
Java(TM) SE Runtime Environment (build 1.8.0_341-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.341-b10, mixed mode)
三、安装zookeeper
3.1.创目录,解压包
#创建存放目录
mkdir -p /usr/local/zookeeper
#赋予权限
chmod 777 /usr/local/zookeeper
#切换到创建的目录
cd /usr/local/zookeeper
#解压安装包
tar -zxvf /root/apache-zookeeper-3.6.4-bin.tar.gz
#修改目录名称
mv apache-zookeeper-3.6.4-bin zookeeper-3.6.4
#进入配置文件目录
cd /usr/local/zookeeper/zookeeper-3.6.4/conf
#剪切原有的配置文件并改名
mv zoo_sample.cfg zoo.cfg
3.2.根据配置文件目录,修改zookeeper配置文件
#修改配置文件
vi zoo.cfg
#内容如下:
# 数据文件夹
dataDir=/usr/local/zookeeper/zookeeper-3.6.4/data
# 日志文件夹
dataLogDir=/usr/local/zookeeper/zookeeper-3.6.4/logs
# 客户端访问 zookeeper 的端口号
clientPort=2181
#退出保存zoo.cfg
:wq
3.2.1注意:如果有程序占用8080端口
#则需要在zoo.cfg配置文件中添加一行
admin.serverPort=8888
3.3.编辑环境变量
#编辑环境变量文件
vi /etc/profile
#尾部添加如下内容
export ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeper-3.6.4/
export PATH=$ZOOKEEPER_HOME/bin:$PATH
export PATH
#退出保存
:wq
#刷新环境变量
source /etc/profile
3.4.启动zookeeper
#进入程序目录
cd /usr/local/zookeeper/zookeeper-3.6.4/bin
#启动程序
zkServer.sh start
...
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/zookeeper-3.6.4/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
...
#出现'STARTED'就是启动成功了
#查看状态
zkServer.sh status
#关闭服务
zkServer.sh stop
#重启服务
zkServer.sh restart
四、安装kafka
4.1.创目录,解压包
#创建主目录
mkdir -p /opt/kafka
#创建数据目录
mkdir -p /opt/kafka/kafka_data
#创建日志目录
mkdir -p /opt/kafka/kafka_log
#解压包
tar -zxvf kafka_2.12-3.4.1.tgz -C /opt/kafka/
4.2.配置kafka服务
cd /opt/kafka/kafka_2.12-3.4.1/config
vim server.properties
...
#修改一下参数
broker.id=0
#端口号
port=9092
#IP地址,修改为自己的服务器IP
host.name=192.168.2.47
#日志存放路径,上面创建的目录
log.dirs=/opt/kafka/kafka_log
#zookeeper地址和端口,单机配置部署,localhost:2181
#已存在:zookeeper.connect=localhost:2181
#IP地址,修改为自己的服务器IP
listeners=PLAINTEXT://192.168.2.47:9092
...
4.3.启动kafka
/opt/kafka/kafka_2.12-3.4.1/bin/kafka-server-start.sh /opt/kafka/kafka_2.12-3.4.1/config/server.properties
4.4.测试是否启动成功
4.4.1.终端1,创建生产者
cd /opt/kafka/kafka_2.12-3.4.1/bin
#IP地址,修改为自己的服务器IP
./kafka-console-producer.sh --broker-list 192.168.2.47:9092 --topic test
4.4.2.终端2,创建消费者
cd /opt/kafka/kafka_2.12-3.4.1/bin
#IP地址,修改为自己的服务器IP
./kafka-console-consumer.sh --bootstrap-server 192.168.2.47:9092 --topic test
4.4.3.测试kafka是否启动成功,查看消费者是否立刻消费消息
#终端1
[root@localhost ~]# cd /opt/kafka/kafka_2.12-3.4.1/bin
[root@localhost bin]# ./kafka-console-producer.sh --broker-list 192.168.2.47:9092 --topic test
>dcjhdbcbakcajkc #Enter键
>kcdmcam #Enter键
>jkdcj
#终端2
[root@localhost ~]# cd /opt/kafka/kafka_2.12-3.4.1/bin
[root@localhost bin]# ./kafka-console-consumer.sh --bootstrap-server 192.168.2.47:9092 --topic test
dcjhdbcbakcajkc
kcdmcam
五、编辑相关脚本
5.1.启动脚本
cd /opt/kafka/kafka_2.12-3.4.1/bin
vim kafka_start.sh
#内容如下:
#!/bin/bash
#
echo "启动zookeeper服务..."
sh /usr/local/zookeeper/zookeeper-3.6.4/bin/zkServer.sh start
sleep 5
echo "启动kafka服务..."
/opt/kafka/kafka_2.12-3.4.1/bin/kafka-server-start.sh /opt/kafka/kafka_2.12-3.4.1/config/server.properties &i
5.2.停止脚本
cd /opt/kafka/kafka_2.12-3.4.1/bin
vim kafka_stop.sh
#内容如下:
#!/bin/bash
echo "启动zookeeper服务..."
sh /usr/local/zookeeper/zookeeper-3.6.4/bin/zkServer.sh stop
sleep 5
echo "启动kafka服务..."
/opt/kafka/kafka_2.12-3.4.1/bin/kafka-server-stop.sh /opt/kafka/kafka_2.12-3.4.1/config/server.properties
5.3.赋予权限,设置开机自启
#添加可执行权限
chmod +x kafka_start.sh
chmod +x kafka_stop.sh
#设置开机自启
vi /etc/rc.d/rc.local
#在尾部添加,启动kafka并在后台启动
sh /opt/kafka/kafka_2.12-3.4.1/kafka_start.sh &