我们先弄清楚kafka集群环境首先需要些什么
- JDK 10+
- Zookeeper
- Kafka 2.x
首先准备三台虚拟机 centos7 ,更改IP地址为静态地址分别为,29、30.31
cd /etc/sysconfig/network-scripts #进入网卡文件目录
vim ifcfg-ens33 #使用vim编辑器编辑该网卡信息(需要编辑当前链接的网卡)
service network restart #重启网卡服务,依次配置好三台linux的IP地址保证能够相互通信
先安装java jdk
- 下载
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm
- 授权限
chmod +x jdk-8u131-linux-x64.rpm
- 安装
rpm -ivh jdk-8u131-linux-x64.rpm
检查是否安装成功
再安装zookeeper ,29.30.31 三台机器需要如下同样的方式安装 zookeeper 形成 zookeeper 集群
- 下载zookeeper并解压 官网推荐下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
- tar -zxvf zookeeper-3.4.14.tar.gz -C /opt/ //这里解压至/opt目录中使用
- cp zoo_sample.cfg zoo.cfg //进入/opt/zookeeper-3.4.14/conf/目录,先拷贝一份配置文件
- 然后vim编辑zoo.cfg
- 说明:除了修改zoo.cfg文件外还需要在这个文件中指定的data目录下新增一个 myid 的文件,这个文件里面就只有一个数据,就是上图中配置的 server.x 这个x的值(29,30,31)zookeeper启动时会以此来确定自己的节点标识
- 切换到 zookeeper 的bin文件夹下,启动三台机器的zookeeper
./zkServer.sh start
启动后发现每台机器的运行模式仍然为单机模式,“试试关闭防火墙然后重新启动”
systemctl stop firewalld.service //关闭防火墙
systemctl disable firewalld.service //禁止开机启动
- 重启zookeeper后再次查看zookeeper的状态,你会发现,一台leader 两台 follower,说明到此我们的zookeeper安装成功
这里终端工具我使用的是 MobaXterm 可以同时多台机器输入同样的shell命令,操作起来相当方便,建议使用
现在我们开始正式安装kafka
-
下载kafka并解压 下载地址 http://kafka.apache.org/
-
tar zxvf kafka_2.13-2.5.0.tgz -C /opt/
-
进入 /opt/kafka_2.13-2.5.0/ 进入到config目录,编辑配置文件:server.properties
-
三台机器配置信息修改完成之后 启动 kafka , -daemon 为后台启动
启动命令 ./kafka-server-start.sh -daemon ../config/server.properties
停止命令 ./kafka-server-stop.sh
- 检查测试
我们先切回到 zookeeper 的bin 文件夹下 ,使用zookeeper的客户端工具查看
./zkCli.sh -server 192.168.3.29:2181 随意链接其中的一个节点(能链接上去,且输入 ls / 出现不少信息说明安装已经成功,但看不到我们想要看的信息,不慌,继续
这里我们介绍另一款工具 kafka-manager-1.3.3.7.zip,自行下载(https://github.com/yahoo/kafka-manager ),上传至任意一台机器,然后解压修改配置文件 application.conf
保存后,进入kafka-manager/bin目录下,执行运行命令 ./kafka-manager 默认端口为 9000 可以使用以下命令指定配置文件和端口运行
./kafka-manager -Dconfig.file=./config/application.conf -Dhttp.port=9000
当然也可以使用 nohup & 的形式后台运行
我们可以看到,正在启动 kafka-manager 并在同步状态了,我们到浏览器访问 http://192.168.3.29:9000/
添加集群
到此,kafka集群搭建算是完成,后续,我们针对net5来使用kafka做一些demo程序,来试试kafka