环境准备
安装java环境
搭建zookeeper集群
搭建kafka集群
安装kafka-manage
1.环境准备
1.1安装包
JDK:jdk-8u162-linux-x64.tar
ZK:zookeeper-3.4.12.tar
kafka:kafka_2.11-2.0.0 .tgz
kafka-manage: kafka-manage 密码:r6up
1.2服务器准备
需准备三台服务器。如:10.0.0.1、10.0.0.2、10.0.0.3
2.JAVA环境搭建
不再赘述
3.zookeeper集群搭建
将安装包上传至三台服务器后操作
mv zookeeper-3.4.12.tar /usr/local
tar -zxvf zookeeper-3.4.12.tar
mv zookeeper-3.4.12 zookeeper
配置环境变量
vim /etc/profile
在文件末尾增加如下参数
#set zookeeper environment
export ZK_HOME=/usr/local/zookeeper
export PATH=$ZK_HOME/bin:$PATH
保存文件后,使之生效
source /etc/profile
复制一个zk的配置进行修改
cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg
vim /usr/local/zookeeper/conf/zoo.cfg
修改zk配置文件
#修改数据文件夹路径
dataDir=/usr/local/zookeeper/data
#在文件末尾添加
server.1=10.0.0.1:2888:3888
server.2=10.0.0.2:2888:3888
server.3=10.0.0.3:2888:3888
#其它不变
创建数据文件夹
mkdir /usr/local/zookeeper/data
分别创建myid文件到各自服务器中
在10.0.0.1上执行
echo "1" > /usr/local/zookeeper/data/myid
在10.0.0.2上执行
echo "2" > /usr/local/zookeeper/data/myid
在10.0.0.3上执行
echo "3" > /usr/local/zookeeper/data/myid
在每台服务器上启动zk
/usr/local/zookeeper/bin/zkServer.sh start
全部启动后,查看集群是否成功
/usr/local/zookeeper/bin/zkServer.sh status
三个服务均如图即为成功
注意
zoo.cfg中的服务器地址,一定要写真实地址,不要写VPN等虚拟地址
需要将服务器的端口3888、2181、2888打开
4.kafka集群搭建
将安装包上传至三台服务器后操作
mv kafka_2.11-2.0.0 .tgz /usr/local
tar -zxvf kafka_2.11-2.0.0 .tgz
mv kafka_2.11-2.0.0 kafka
配置环境变量
vim /etc/profile
在文件末尾新增如下参数
#set kafka environment
export KAFKA_HOME=/usr/local/kafka
PATH=${KAFKA_HOME}/bin:$PATH
保存文件后,使之生效
source /etc/profile
在10.0.0.1上修改kafka配置文件
vim /usr/local/kafka/config/server.properties
修改配置如下
broker.id=1
listeners=PLAINTEXT://10.0.0.1:9092
zookeeper.connect=10.0.0.1:2181,10.0.0.2:2181,10.0.0.3:2181
在10.0.0.2上修改kafka配置文件
vim /usr/local/kafka/config/server.properties
修改配置如下
broker.id=2
listeners=PLAINTEXT://10.0.0.2:9092
zookeeper.connect=10.0.0.1:2181,10.0.0.2:2181,10.0.0.3:2181
在10.0.0.3上修改kafka配置文件
vim /usr/local/kafka/config/server.properties
修改配置如下
broker.id=3
listeners=PLAINTEXT://10.0.0.3:9092
zookeeper.connect=10.0.0.1:2181,10.0.0.2:2181,10.0.0.3:2181
保证zk启动的前提下,每台机器启动kafka
/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties
随便在一台机器上创建一个topic,如在10.0.0.1
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 10.0.0.1:2181 --replication-factor 3 --partitions 1 --topic test-topic
查看topic信息
/usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper 10.0.0.1:2181 --topic test-topic
注意
kafka配置文件中的服务器地址,一定要写真实地址,不要写VPN等虚拟地址
需要将服务器的端口9092打开
5.kafka-manager安装配置
将安装包上传至三台服务器之一
mv kafka-manager-1.3.3.7 /usr/local/kafka-manage
修改配置文件
vim /usr/local/kafka-manager/conf/application.conf
#修改kafka-manager.zkhosts如下配置
kafka-manager.zkhosts="10.0.0.1:2181,10.0.0.2:2181,10.0.0.3:2181"
启动服务
nohup /usr/local/kafka-manager/bin/kafka-manager -Dconfig.file=/usr/local/kafka-manager/conf/application.conf &
启动后,默认为9000端口,在浏览器中输入10.0.0.3:9000即可
注意
一定要打开9000端口,否则无法访问。
至此全部配置完成~~
测试在linux中发送和接收消息
#1.创建测试topic
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 10.0.0.1:2181 --replication-factor 3 --partitions 1 --topic demo
#2.生产者连接
/usr/local/kafka/bin/kafka-console-producer.sh --broker-list 10.0.0.1:9092 --topic demo
#3.消费者连接
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server 10.0.0.1:9092 --topic demo --from-beginning