准备环境
kafka需要依赖 java和zookeeper ,java安装网上有很多。
zookeeper下载安装教程:https://blog.csdn.net/xiweihao/article/details/103405846
一.下载
官网下载: http://kafka.apache.org/downloads
wget http://mirror.bit.edu.cn/apache/kafka/2.1.1/kafka_2.12-2.1.1.tgz
二.安装
(直接集群安装)
kafka的安装目录是:/usr/local/softwear/kafka
日志存储目录是: /tmp/kafka-logs
1.解压
tar -zxvf kafka_2.12-2.1.1.tgz
2.创建日志存储目录
mkdir /tmp/kafka-logs
3.配置kafka
/usr/local/softwear/kafka/kafka_2.12-2.1.1/config/server.properties
剩下全是默认配置,根据自己的业务调试
详细配置介绍 :https://blog.csdn.net/xiweihao/article/details/103418035
#broker的全局唯一编号,不能重复
broker.id=0
#用来监听链接的端口,producer或consumer将在此端口建立连接,如果使用1024以下的端口,需要root权限启动kafka(不建议这么做)
listeners=PLAINTEXT://address-02:19092
#kafka消息存放的路径
log.dirs=/tmp/kafka-logs
#日志清理是否打开
log.cleaner.enable=true
#broker需要使用zookeeper保存meta数据
zookeeper.connect=address-02:12181,address-03:12181,address-04:12181
#删除topic需要server.properties中设置delete.topic.enable=true否则只是标记删除
delete.topic.enable=true
其他配置都在客户端根据需要配置
三.分发安装包到其他节点并修改配置文件
1.在每个节点创建kafka消息存放的路径
mkdir /tmp/kafka-logs
2.将刚才配置好的kafka打成压缩包
tar -zcvf kafka_2.12-2.1.1.tar.gz kafka_2.12-2.1.1/
3.分发到其他节点
scp kafka_2.12-2.1.1.tar.gz root@address-03:/usr/local/softwear/kafka
scp kafka_2.12-2.1.1.tar.gz root@address-04:/usr/local/softwear/kafka
4.其他节点依次修改server.properties
#broker.id 依次递增
broker.id=2
#listners 中的ip修改成本机的ip或hostname
listeners=PLAINTEXT://address-03:19092
下面就开始启动集群
先启动zookeeper(进入zookeeper bin目录下面)
./zkServer.sh start
再启动 kafka (进入Kafka bin目录下面 )
常规模式启动kafka
bin/kafka-server-start.sh config/server.properties
进程守护模式启动kafka
nohup bin/kafka-server-start.sh config/server.properties >/dev/null 2>&1 &
Kafka关闭命令(备注:先进入kafka目录)
bin/kafka-server-stop.sh
注意⚠️将防火墙关闭
contos7查看防火墙状态
sudo systemctl status firewalld
查看后,看到active(running)就意味着防火墙打开了。
关闭防火墙
sudo systemctl stop firewalld。
关闭后查看是否关闭成功,如果看到inactive(dead)就意味着防火墙关闭了。
打开防火墙的命令为:
sudo systemctl start firewalld。
查看防火墙的状态的命令为:sudo systemctl status firewalld。
打开防火墙的方式有两种,一种是打开后重启会恢复回原来的状态,命令为:sudo systemctl start firewalld;另一种是打开后重启不会恢复到原来的状态,命令为:sudo systemctl enable firewalld,这种方式输入命令后要重启系统才会生效。
关闭防火墙的方式也有两种,和打开相对应,命令分别为
sudo systemctl stop firewalld
sudo systemctl disable firewalld。