环境准备
主机名 | IP地址 | zookeeper | myid |
---|---|---|---|
kafka-0 | 172.18.12.135 | server.1 | 1 |
kafka-1 | 172.18.12.143 | server.2 | 2 |
kafka-2 | 172.18.12.144 | server.3 | 3 |
Kafka&zookeeper下载地址 提取码:6lgw
一、安装JDK并配置环境变量
[root@localhost /]# tar -xzvf jdk-8u221-linux-x64.tar.gz
[root@localhost /]# vim etc/profile
添加如下:
#set java environment
JAVA_HOME=/sk/jdk1.8.0_221
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
使配置生效
[root@localhost /]# source /etc/profile
查看JDK版本
[root@localhost /]# javaVersion
二、搭建zookeeper集群
[root@localhost tmp]# tar -zxvf zookeeper-3.4.12.tar.gz //解压
[root@localhost tmp]# mv zookeeper-3.4.12 zookeeper //重命名
[root@localhost tmp]# vim /etc/profile //配置zookeeper环境变量
添加如下:
#set zookeeper environment
export ZK_HOME=/tmp/zookeeper
export PATH=$ZK_HOME/bin:$PATH
[root@localhost zookeeper]# source /etc/profile
[root@localhost zookeeper]# mv /tmp/zookeeper/conf/zoo_sample.cfg /tmp/zookeeper/conf/zoo.cfg #重命名否则会启动服务失败
编辑zookeeper配置文件:
[root@localhost zookeeper]# vim /tmp/zookeeper/conf/zoo.cfg
#修改数据文件夹路径
dataDir=/tmp/zookeeper/data
dataLogDir=/tmp/zookeeper/log
#在文件末尾添加
server.1=172.18.12.135:2888:3888
server.2=172.18.12.143:2888:3888
server.3=172.18.12.144:2888:3888
三台主机分别执行:
[root@localhost zookeeper]# mkdir data log
[root@localhost zookeeper]# touch data/myid
[root@localhost zookeeper]# echo "1" > data/myid //其他两台主机分别写2,3
[root@localhost tmp]# systemctl stop firewalld
[root@localhost tmp]# /tmp/zookeeper/bin/zkServer.sh start
三、搭建Kafka集群
解压kafka包
[root@localhost tmp]# tar -zxvf kafka_2.11-2.0.0\ .tgz
[root@localhost tmp]# mv kafka_2.11-2.0.0/ kafka
[root@localhost tmp]# vim /etc/profile
编辑环境变量
#set kafka environmentexport
KAFKA_HOME=/tmp/kafka
PATH=${KAFKA_HOME}/bin:$PATH
[root@localhost tmp]# source /etc/profile
编辑配置文件
[root@localhost kafka]# vim /tmp/kafka/config/server.properties
修改配置如下(IP地址与broker_id应该根据实际情况填写)
broker.id=1
listeners=PLAINTEXT://172.18.12.135:9092
zookeeper.connect=172.18.12.135:2181,172.18.12.143:2181,172.18.12.144:2181
启动kafka服务
[root@localhost tmp]# /tmp/kafka/bin/kafka-server-start.sh -daemon /tmp/kafka/config/server.properties
[root@localhost bin]# jps | grep -v Jps //查看kafka进程
如果kafka程序总是中断进程修改config/server.properties中zookeeper.connection.timeout.ms=60000
[root@localhost tmp]# /tmp/kafka/bin/kafka-topics.sh --create --zookeeper 172.18.12.135:2181 --replication-factor 1 --partitions 1 --topic test-topic //在其中一台虚拟机(172.18.12.135)创建topic
[root@localhost tmp]# /tmp/kafka/bin/kafka-topics.sh --describe --zookeeper 172.18.12.135:2181 --topic test-topic //查看创建的topic信息
[root@localhost bin]# ./kafka-topics.sh --list --zookeeper 172.18.12.135:2181 //列出所有topic信息
四、测试服务
[root@localhost bin]# kafka-console-producer.sh --broker-list 172.18.12.143:9092 --topic test //运行 producer,然后在控制台输入一些消息以发送到服务器。
[root@localhost bin]# kafka-console-consumer.sh --bootstrap-server 172.18.12.135:9092 --topic test --from-beginning //启动消费者