十年河东,十年河西,莫欺少年穷
学无止境,精益求精
卡夫卡优秀的消息队列,各大公司都在使用
1、准备三台虚拟机,分别为:192.168.182.128、192.168.182.129、192.168.182.130
2、下载kafka安装包,我使用的是3.0版本,https://kafka.apache.org/downloads
3、讲kafka传入到三台liunx服务器,放在 /root/software/ 文件夹下
4、解压压缩包
tar -xzvf kafka_2.12-3.0.0.tgz
5、重命名解压缩生成的文件夹名称
mv kafka_2.12-3.0.0 kafka
6、在kafka文件夹中新建logs 目录备用
[root@localhost software]# cd kafka
[root@localhost kafka]# mkdir logs
7、进入kafka 子文件夹config中,修改 server.properties 配置文件
[root@localhost kafka]# cd config
[root@localhost config]# ls
connect-console-sink.properties connect-file-sink.properties connect-mirror-maker.properties kraft server.properties zookeeper.properties
connect-console-source.properties connect-file-source.properties connect-standalone.properties log4j.properties tools-log4j.properties
connect-distributed.properties connect-log4j.properties consumer.properties producer.properties trogdor.conf
[root@localhost config]# vim server.properties
分别将 192.168.182.128 服务器中的 server.properties 文件 配置项 broker.id 设置为 0,192.168.182.129 服务器中的 server.properties 文件 配置项 broker.id 设置为 1,192.168.182.130 服务器中的 server.properties 文件 配置项 broker.id 设置为 2
log.dirs 三台服务器均设置为 /root/software/kafka/logs 【logs就是第6步建的文件夹】
zookeeper.connect 三台服务器均设置为 192.168.182.128:2181,192.168.182.129:2181,192.168.182.130:2181 【代表kafka集群】
wq保存
8、主机名解析(三台服务器均要执行)并关闭防火墙、Iptables 、selinux
vim /etc/hosts
在三台虚拟机的 hosts 文件中增加如下配置
192.168.182.128 broker0
192.168.182.129 broker1
192.168.182.130 broker2
关闭防火墙和Iptables
查看防火墙状态
systemctl status firewalld
关闭防火墙
[root@localhost etc]# systemctl stop firewalld
[root@localhost etc]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
关闭iptables
[root@localhost ~]# systemctl stop iptables
[root@localhost ~]# systemctl disable iptables
禁用selinux ,这是个奇葩的服务,一定要坚决关掉
临时关闭selinux服务
setenforce [1|0] --- 1表示临时开启Enforcing,0表示临时关闭Permissive
getenforce --- 关闭后确认
[root@server ~]# setenforce 0
[root@server ~]# getenforce
Permissive
永久关闭selinux服务 【推荐永久关闭】
修改/etc/selinux/config文件
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced. --- 服务处于正常开启状态
# permissive - SELinux prints warnings instead of enforcing. --- 服务被临时关闭了
# disabled - No SELinux policy is loaded. --- 服务被永久关闭
SELINUX=enforcing
9、三台服务器下配置kafka环境变量
vi /etc/profile
增加如下内容
export KAFKA_HOME=/root/software/kafka
export PATH=$PATH:$KAFKA_HOME/bin
刷新配置文件
source /etc/profile
检测环境变量是否配置成功
[root@localhost bin]# echo $KAFKA_HOME
/root/software/kafka
10、启动kafka
kafka集群启动前要启动zookeeper集群
然后三台服务器上执行
[root@localhost config]# /root/software/kafka/bin/zookeeper-server-start.sh -daemon /root/software/kafka/config/zookeeper.properties
三台服务器启动kafka
[root@localhost config]# /root/software/kafka/bin/kafka-server-start.sh -daemon /root/software/kafka/config/server.properties
11、安装Jps插件,验证Kafak是否启动成功
我这里是才有yum来安装jdk的,方法如下:
yum install -y java-1.8.0-openjdk.x86_64
然后配置环境变量:
echo 'export JAVA_HOME=/usr/lib/jvm/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/tools.jar' >> /etc/profile
重新加载配置
source /etc/profile
验证:
java -version
当我输入jps命令后,竟然报命令找不到?
错误原因:默认安装完只有运行环境,java安装目录下只有jre文件夹。
继续安装开发环境:
yum install java-1.8.0-openjdk-devel.x86_64
成功后再输入jps:
jps
看到Kafka进程后,就证明咱们的KAFKA安装并启动成功了。
12、停止kafka时,和启动时正好相反,应先停止kafka,在停止zookeeper
停止kafka 【我使用的绝对路径】
/root/software/kafka/bin/kafka-server-stop.sh
停止zk
/root/software/kafka/bin/zookeeper-server-stop.sh
13、安装telnet,ping 9092 端口,是否畅通
yum list telnet* 查看有哪些telnet命令
查看到之后用yum install telnet-server.x86_64进行安装telnet-server.x86_64
yum install telnet-server.x86_64
查看到之后用yum install telnet.x86_64进行安装
yum install telnet.x86_64
最后在去telnet即可
telnet smtp.qq.com 25
@天才卧龙的博客