在linux中搭建kafka集群
----------------------------开始搭建zookeeper集群------------------------------
1:首先准备至少3台linux服务器(奇数台);
2:从官方下载kafka安装包 Apache Kafka 我下载的是kafka_2.11-2.1.0.tgz
3:将kafka_2.11-2.1.0.tgz 包分别拷贝到3台linux服务器,路径:/usr/local/kafka
4:进入/usr/local/kafka解压taz包,命令:tar zxvf ***.tgz
5:解压完成后,进入解压后的包内
6:创建文件夹:zookeeper和log,命令:
mkidr zookeeper
mkdir log
7:进入刚创建的log文件夹,创建kafka 和zookeeper文件夹
mkdir zookeeper
mkdir kafka
8:返回进入config文件夹命令:
9:更改zookeeper.properties文件
命令:vim zookeeper.properties
按i键进入编辑状态
开始编辑文件,将下方配置输入到文件中
#路径要写对 dataDir=/usr/local/kafka/kafka_2.11-2.1.0/zookeeper dataLogDir=/usr/local/kafka/kafka_2.11-2.1.0/log/zookeeper # the port at which the clients will connect clientPort=2181 maxClientCnxns=100 tickTime=2000 initLimit=10 syncLimit=5 # disable the per-ip limit on the number of connections since this is a non-production config #下面这三个地址就是三台服务器地址,端口号不变 server.1=ip1:2888:3888 server.2=ip2:2888:3888 server.3=ip3:2888:3888 |
输入完成后:按ESC键 输入冒号:wq
10:创建myid文件,进入到zookeeper文件夹下,命令:
输入命令:echo "1" > myid
注意注意:这里创建的myid文件里面写的数字一定要和zookeeper.properties中写的数字一样,举例:server.1=ip1:2888:3888 代表server.1是第一台机器,所以这台机器中的myid文件中写入1
11:到此第一台机器的zookeeper已经搭建好了,下面开始搭建第二台,第三台服务器;步骤4-10重复操作
12:三台机器的zookeeper全部搭建完成之后,三台机器开始启动zookeeper服务,命令如下:
cd /usr/local/kafka/kafka_2.11-2.1.0
./bin/zookeeper-server-start.sh config/zookeeper.properties &
如果第一台机器启动报错,不要紧张,是因为第二台,第三台机器没有启动的原因,等启动后不报错,证明zookeeper启动完成
13:如果出现错误,首先检查以上配置文件是否写入正确,如果检查无误,则查看端口是否都是开放状态
#防火墙状态
systemctl status firewalld
#开启防火墙
systemctl start firewalld
#开放防火墙端口(三台机器都需要开放)
firewall-cmd --zone=public --add-port=3888/tcp --permanen
firewall-cmd --zone=public --add-port=2888/tcp --permanen
firewall-cmd --zone=public --add-port=9092/tcp --permanen
firewall-cmd --zone=public --add-port=2181/tcp --permanen
#重启防火墙
firewall-cmd --reload
14:开启端口后,停止后再次启动(执行12步骤)就没有问题了(首先zookeeper.properties保证配置文件没有错误)
----------------------------zookeeper集群启动成功------------------------------
----------------------------开始搭建kafka集群------------------------------------
1:进入kafka中config文件夹内
命令:
2:更改server.properties配置文件
vim server.properties
按i键进入编辑状态
将下方文件输入到配置文件中
#第一台机器写0,第二台机器写1,第三台机器写2 broker.id=0 port=9092 #更改的是哪一台机器就写哪一台机器的ip地址 host.name=ip1 #路径一定要写对 log.dirs=/usr/local/kafka/kafka_2.11-2.1.0/log/kafka #三台机器ip都写上 zookeeper.connect=ip1:2181,ip2:2181,ip3:2181 |
编辑完成之后:按ESC键输入冒号:wq
3:三台机器重复1,2步骤,需要注意的地方:broker.id的值三个节点要配置不同的值,分别配置为0,1,2;log.dirs必须保证目录存在,不会根据配置文件自动生成
4:启动kafka集群:进入kafka目录(三台机器都需要操作4步骤)
输入命令:./bin/kafka-server-start.sh -daemon config/server.properties &
无报错证明启动成功
----------------------------------kafka集群启动成功--------------------------------------
------------------------------------------------测试连接----------------------------------------
我是使用offset Explorer 2.2 连接工具测试的,工具自己百度下载使用吧,这里不做教程