# kafka源码编译安装
准备三台服务器
192.168.xxx.xxx
192.168.xxx.xxx
192.168.xxx.xxx
安装kafka前安装JDK和zookeeper如下步骤:
JDK配置安装
官网地址( https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html )
或者yum安装也可以,yum install java-1.8.0-openjdk-devel 即可。
解压文件到指定目录(所有节点机器都做,也可忽略后面做节点复制)
tar -zxvf jdk-8u291-linux-x64.tar.gz -C /usr/local/ #解压文件到指定目录
mv jdk1.8.0_291/ java #修改文件名
cd java
配置环境变量
vi etc/profile
末尾添加如下内容:
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
使配置文件生效
source /etc/profile
检查验证
java -version
zookeeper 配置安装
官网下载地址(https://zookeeper.apache.org/releases.html)下载源码包文件到本地通过远程连接工具上载文件到服务器。
解压文件
推荐下载编译后的bin源码包
mkdir -p /data/aicloud//
tar -zxvf apache-zookeeper-3.8.3-bin.tar.gz -C /data/aicloud/zookeeper/
mv apache-zookeeper-3.8.3-bin.tar.gz/ zookeeper-3.8.3
创建文件目录用于存放数据
cd /usr/local/zookeeper
mkdir data #存放数据
mkdir logs #存放日志文件
进入conf文件夹,将zoo_sample.cfg改为zoo.cfg
cd /data/aicloud/zookeeper/conf
mv zoo_sample.cfg zoo.cfg
#备份zoo.cfg
mv zoo.cfg zoo.cfg_back
#开始编辑
vim zoo.cfg
#粘贴如下信息结合实际进行修改ip地址。
tickTime=2000
initLimit=10
cLimit=5
dataDir=/data/aicloud/zookeeper/data
clientPort=2181
#zookeeper
server.1=192.168.x.x:2888:3888
server.2=192.168.x.x:2888:3888
server.3=192.168.x.x:2888:3888
将配置好的 zookeeper 复制到其他集群节点上,三台机器的配置是一样的。
scp -r /data/aicloud/zookeeper root@192.168.xxx.xxx:/data/aicloud/zookeeper
scp -r /data/aicloud/zookeeper root@192.168.xxx.xxx:/data/aicloud/zookeeper
scp -r /data/aicloud/zookeeper root@192.168.xxx.xxx:/data/aicloud/zookeeper
##复制安装完成的java 到其它集群节点(如已完成JDK安装请忽略)
scp -r /usr/local/java/ root@192.168.xxx.xxx:/usr/local/java
scp -r /usr/local/java/ root@192.168.xxx.xxx:/usr/local/java
scp -r /usr/local/java/ root@192.168.xxx.xxx:/usr/local/java
## 配置其它集群节点java环境变量
vi /etc/profile
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
启动节点(所有机器执行下述操作)
/data/aicloud/zookeeper/zookeeper-3.8.3/bin
./zkServer.sh start #启动命令
./zkServer.sh status # 查看运行状态
kafka配置安装
官网地址下载(http://kafka.apache.org/downloads)
上载文件到服务器指定目录
mkdir -p /data/aicloud/kafka/
cd /data/aicloud/kafka/
解压文件
tar -zxvf kafka_2.12-3.6.1.tgz -C /data/aicloud/kafka/
mv kafka_2.12-3.6 kafka-2.12
cd kafka-2.12
mkdir kafka-logs //保存日志文件目录 非必须创建
修改配置文件
cd /data/aicloud/kafka/kafka-2.12/config
##备份配置文件
mv server.properties server.properties-back
##编辑 vim server.properties 三台机器都粘贴如下配置即可。
##修改 server.properties配置文件,在server.properties中主要修改如下配置:
broker.id=1 !三台主机分别为 1 2 3
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://192.168.xxx.xxx:9092
log.dirs=/data/aicloud/kafka/kafka-2.12/kafka-logs //日志路径根据自己的日志路径
##topic 在当前broker上的分片个数,与broker保持一致
num.partitions=3
##设置zookeeper集群地址与端口如下:
zookeeper.connect=192.168.xxx.xxx:2181,192.168.xxx.xxx:2181,192.168.xxx.xxx:2181
##进入bin目录
cd /data/aicloud/kafka/kafka-2.12/bin
./kafka-server-start.sh -daemon ../config/server.properties
jps //验证
测试
1.查看topic 列表
cd /data/aicloud/kafka/
bin/kafka-topics.sh --list --zookeeper 192.168.xx.xx:2181
##这里的ip对应server.properties 配置所在服务器端口 //新安装配置的kafka下无数据
2.创建topic
cd /data/aicloud/kafka/
bin/kafka-topics.sh --describe --zookeeper 192.168.xxx.xxx:2181 --topic test //创建topic 取名test
3.在其中一台服务器上创建生产者
cd /data/aicloud/kafka/
bin/kafka-console-producer.sh --broker-list 192.168.xx.xx:9092,192.168.xxx.xxx:9092,192.168.xxx.xxx:9092 --topic test
4.在另外两台服务器创建消费者
cd /data/aicloud/kafka/
bin/kafka-console-consumer.sh --bootstrap-server 192.168.xxx.xxx:9092,192.168.xxx.xxx:9092,192.168.xxx.xxx:9092 --topic test --from-beginning
测试完成!