kafka 集群搭建
预备文件
- jdk-8u231-linux-x64.tar.gz
- apache-zookeeper-3.6.0-bin.tar.gz
- kafka_2.11-2.4.1.tgz
- kafka-eagle-bin-1.4.6.tar.gz
环境
IP | 安装内容 |
---|---|
1.1.1.1 | JDK、zookeeper、kafka、kafka-eagle |
1.1.1.2 | JDK、zookeeper、kafka |
1.1.1.3 | JDK、zookeeper、kafka |
JDK安装
三台设备上依次安装jdk
解压jdk
cp jdk-8u231-linux-x64.tar.gz /usr/local/jdk-8u231-linux-x64.tar.gz
cd /usr/local
tar -zxvf jdk-8u231-linux-x64.tar.gz
配置jdk环境变量
修改 /etc/profile
vi /etc/profile
新增如下配置
JAVA_HOME=/usr/local/jdk1.8.0_231
JRE_HOME=/usr/local/jdk1.8.0_231/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
刷新配置
source /etc/profile
验证java环境
java -version
zookeeper集群
解压zookeeper
cd ~
cp apache-zookeeper-3.6.0-bin.tar.gz /usr/local/apache-zookeeper-3.6.0-bin.tar.gz
cd /usr/local
tar -zxvf apache-zookeeper-3.6.0-bin.tar.gz
配置zookeeper
cd /usr/local/apache-zookeeper-3.6.0-bin/conf/
cp zoo_sample.cfg zoo.cfg
修改zoo.cfg
vi zoo.cfg
配置
# 增加集群配置
server.0=1.1.1.1:2888:3888
server.1=1.1.1.2:2888:3888
server.2=1.1.1.3:2888:3888
# 修改数据文件夹
dataDir=/data/zookeeper
创建数据文件夹
mkdir -p /data/zookeeper
在该文件夹下创建myid文件,并在myid中写入 0、1、2
这里的0、1、2是用来标识当前zookeeper,和zoo.cfg中的集群信息呼应。
IP | myid内容 |
---|---|
1.1.1.1 | 0 |
1.1.1.2 | 1 |
1.1.1.3 | 2 |
vi /data/zookeeper/myid
输入对应的myid内容
启动zookeeper
三台设备依次启动zookeeper
# 启动
sh /usr/local/apache-zookeeper-3.6.0-bin/bin/zkServer.sh start
# 查看状态
sh /usr/local/apache-zookeeper-3.6.0-bin/bin/zkServer.sh status
Leader的状态
Follower的状态
kafka集群
解压kafka
cp kafka_2.11-2.4.1.tgz /usr/local/kafka_2.11-2.4.1.tgz
tar -zxvf kafka_2.11-2.4.1.tgz
配置kafka
vi /usr/local/kafka_2.11-2.4.1/config/server.properties
配置内容如下
# 三台设备不要重复broker
broker.id=
# 这里的ip即当前设备的ip
advertised.listeners=PLAINTEXT://ip:9092
# zookeeper集群ip、端口配置
zookeeper.connect=1.1.1.1:2181,1.1.1.2:2181,1.1.1.3:2181
# zookeeper连接超时时间,默认是6000毫秒
# 实战经验是6000毫秒太小了,会导致超时,这里博主修改为60000毫秒
zookeeper.connection.timeout.ms=60000
IP | broker.id |
---|---|
1.1.1.1 | 0 |
1.1.1.2 | 1 |
1.1.1.3 | 2 |
启动测试kafka
# 启动kafka
sh /usr/local/kafka_2.11-2.4.1/bin/kafka-server-start.sh /usr/local/kafka_2.11-2.4.1/config/server.properties &
# 关闭kafka
sh /usr/local/kafka_2.11-2.4.1/bin/kafka-server-stop.sh /usr/local/kafka_2.11-2.4.1/config/server.properties &
安装kafka-eagle
kafka-eagle是一个kafka的web管理工具,这个不需要集群,随便找一台设备安装即可。
下载kafka-eagle
wget https://codeload.github.com/smartloli/kafka-eagle-bin/tar.gz/v1.4.6
安装解压
tar -zxvf kafka-eagle-bin-1.4.6.tar.gz
cd kafka-eagle-bin-1.4.6
tar -zxvf kafka-eagle-web-1.4.6-bin.tar.gz
cp -R kafka-eagle-web-1.4.6 /usr/local/kafka-eagle-web-1.4.6
配置
修改kafka-eagle配置文件
vi /usr/local/kafka-eagle-web-1.4.6/conf/system-config.properties
修改
# 修改集群节点信息
kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=1.1.1.1:2181,1.1.1.2:2181,1.1.1.3:2181
# 修改数据库位置
kafka.eagle.url=jdbc:sqlite:/usr/local/kafka-eagle-web-1.4.6/db/ke.db
#/hadoop/kafka-eagle/db/ke.db
修改/etc/profile文件 增加环境变量
export KE_HOME=/usr/local/kafka-eagle-web-1.4.6
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH:$KE_HOME/bin
启动测试kafka-eagle-web
sh /usr/local/kafka-eagle-web-1.4.6/bin/ke.sh start
默认登录地址:ip:8048/ke
默认账号:admin
默认密码:123456