前言
1、由于kafka集群的搭建依赖于zookeeper集群,所以首先需要搭建zookeeper集群;由于zookeeper集群的搭建依赖于java环境,因此首先需要安装和配置JDK,具体的安装配置过程参见笔者的另一篇博文:《kafka登堂入室系列(2) - CentOS 7上搭建zookeeper集群》。
2、kafka-manager为管理和配置kafka集群提供了直观、便于操作的可视化图形界面,只需在一台机器上安装配置即可。本教程采用了先编译源码再安装的方式,大家也可以直接参照下方的下载地址下载编译好的版本进行安装。
3、软件 / 工具包版本及下载地址(如果已安装可略过)
软件或工具包 | 版本 | 下载地址 |
---|---|---|
CentOS 7 | CentOS-7-x86_64-DVD-1804 | http://mirror.centos.org/centos/ |
JDK 8 | jdk-8u171-linux-x64 | https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html |
zookeeper | zookeeper-3.4.12 | http://mirror.bit.edu.cn/apache/zookeeper/ |
kafka | kafka_2.11-1.1.0 | http://kafka.apache.org/downloads.html |
kafka-manager | kafka-manager-1.3.3.18 | https://github.com/yahoo/kafka-manager/releases |
CentOS 7上搭建kafka集群
1、下载并解压kafka安装包
1)切换到opt目录下:
cd /opt
2)创建kafka目录:
mkdir kafka
3)下载kafka安装包(kafka_2.11-1.1.0),将安装包(.tar.gz)拷贝到/opt/kafka路径下
4)解压至/opt/kafka:
tar -zxvf kafka_2.11-1.1.0.tgz
5)删除安装包(节省存储空间)
rm -f kafka_2.11-1.1.0.tgz
2、编辑kafka的配置文件
1)切换到kafka解压后的路径下:
cd /opt/kafka/kafka_2.11-1.1.0
2)创建log目录:
mkdir log
3)切换到kafka的config路径下:
cd /opt/kafka/kafka_2.11-1.1.0/config
4)编辑server.properties文件:
vim server.properties
修改或添加以下内容:
broker.id=1
port= 9092
host.name=192.168.1.16
log.dirs=/opt/kafka/kafka_2.11-1.1.0/log
zookeeper.connect=192.168.1.16:2181,192.168.1.17:2181,192.168.1.18:2181
3、3台机器上均完成上述kafka的配置
4、启动zookeeper集群(如果已设置开机启动,略过)
启动方法参见笔者的另一篇博文:《kafka登堂入室系列(2) - CentOS 7上搭建zookeeper集群》
5、启动kafka集群
1)切换到kafka的bin路径下:
cd /opt/kafka/kafka_2.11-1.1.0/bin
2)3台机器上均启动kafka:
./kafka-server-start.sh -daemon ../config/server.properties &
CentOS 7上安装kafka-manager
1、下载并解压kafka安装包
1)切换到opt目录下:
cd /opt
2)创建kafka_manager目录:
mkdir kafka_manager
3)下载kafka-manager源码包(kafka-manager-1.3.3.18),将源码包(.tar.gz)拷贝到/opt/kafka_manager路径下
4)解压至/opt/kafka_manager:
cd /opt/kafka_manager
tar -zxvf kafka_2.11-1.1.0.tgz
5)删除源码包(节省存储空间,可选)
rm -f kafka-manager-1.3.3.18.tar.gz
2、安装sbt(编译kafka-manager需要sbt)
安装sbt之前需要配置maven环境,maven环境的配置参见笔者的另一篇博客:
《GeoMesa编译与二次开发专栏(3) - GeoMesa源码编译》
curl https://bintray.com/sbt/rpm/rpm > bintray-sbt-rpm.repo
sudo mv bintray-sbt-rpm.repo /etc/yum.repos.d/
yum -y install sbt
3、配置sbt
1)进入根路径:
cd ~
2)创建.sbt目录:
mkdir .sbt
3)进入.sbt目录:
cd .sbt
4)创建repositories文件:
touch repositories
5)编辑repositories文件:
vim repositories
添加以下内容:
[repositories]
local
aliyun-nexus: http://maven.aliyun.com/nexus/content/groups/public/
jcenter: https://jcenter.bintray.com/
typesafe-ivy-releases: https://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
maven-central
5)运行以下命令,安装并启用sbt:
sbt
4、sbt编译kafka-manager
1)切换到kafka_manager路径下:
cd /opt/kafka_manager/kafka-manager-1.3.3.18/
2)编译kafka_manager:
./sbt clean dist
编译过程耗时较长,需耐心等待……
3)启动kafka-manager:
(1)切换到kafka_manager的universal路径下:
cd /opt/kafka_manager/kafka-manager-1.3.3.18/target/universal/
(2)备份安装包(可选):
cp kafka-manager-1.3.3.18.zip /mnt/hgfs/shared
(3)解压安装包:
unzip kafka-manager-1.3.3.18.zip
(4)将解压后的文件夹移动到/opt路径下:
mv kafka-manager-1.3.3.18 /opt
(5)删除原来的kafka-manager-1.3.3.18文件夹(节省存储空间,可选)
rm -rf /opt/kafka_manager/kafka-manager-1.3.3.18
(6)移动新的kafka-manager-1.3.3.18文件夹到/opt/kafka_manager路径下:
mv /opt/kafka-manager-1.3.3.18 /opt/kafka_manager
(7)编辑application.conf配置文件:
vim /opt/kafka_manager/kafka-manager-1.3.3.18/conf/application.conf
修改内容如下:
kafka-manager.zkhosts="192.168.1.16:2181,192.168.1.17:2181,192.168.1.18:2181"
如下图所示:
(8)启动kafka-manager(默认端口为9000):
cd /opt/kafka_manager/kafka-manager-1.3.3.18/
nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port=9000&
然后输入jps命令,出现如下图红框中所示进程即表示启动成功:
(9)通过启动图形界面检查是否成功开启kafka-manager:
浏览器访问“你的ip地址:9000”,出现下图所示界面即表示启动成功,如下图所示:
然后就可以通过kafka-manager对kafka的集群进行管理和配置了。