三台服务器
服务器配置
主机名 | IP地址 | 硬件配置 |
---|---|---|
kafka-1 | 192.168.1.162 | 24CPU、46G内存、600G存储 |
kafka-2 | 192.168.1.166 | 24CPU、64G内存、600G存储 |
kafka-3 | 192.168.1.170 | 24CPU、64G内存、600G存储 |
主机名 | IP地址 | zookeeper | myid |
---|---|---|---|
kafka-1 | 192.168.1.162 | server.1 | 1 |
kafka-2 | 192.168.1.166 | server.2 | 2 |
kafka-3 | 192.168.1.170 | server.3 | 3 |
安装包准备
JDK 1.8.0_131
zookeeper-3.4.14.tar
kafka_2.11-2.0.0 .tgz
下载方式 先下载 安装JDK 官网下
zookeeper
wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
kafka
官网选择版本下载 http://kafka.apache.org/downloads.html
wget https://archive.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz
设置java 环境变量
export JAVA_HOME=/usr/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
在每台主机上执行下面步骤:
将安装包移到/usr/local目录下
mv zookeeper-3.4.12.tar /usr/local
tar -zxvf zookeeper-3.4.12.tar
mv zookeeper-3.4.12 zookeeper
配置zookeeper环境变量,首先打开profile文件
vi /etc/profile
#set zookeeper environment
export ZK_HOME=/usr/local/zookeeper
export PATH=$ZK_HOME/bin:$PATH
source /etc/profile
打开zookeeper配置文件 复制一份配置文件
cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg
vi /usr/local/zookeeper/zoo.cfg
#修改数据文件夹路径
dataDir=/usr/local/zookeeper/data
#在文件末尾添加
server.1=192.168.1.162:2888:3888
server.2=192.168.1.168:2888:3888
server.3=192.168.1.170:2888:3888
#其它不变
创建数据文件夹 和 创建myid文件
myid不是文件夹,可以直接编辑,主要是保证集群的ID不一样 myid分配如文章开头 在每台KAFKA上都输入对应的数字
mkdir /usr/local/zookeeper/data
mkdir /usr/local/zookeeper/data/myid
##kafka-1主机myid
[root@sit-gather-kafka1 data]# echo "1" > myid
[root@sit-gather-kafka1 data]# cat myid
1
[root@sit-gather-kafka1 data]#
在每台电脑上启动zookeeper
/usr/local/zookeeper/bin/zkServer.sh start
配置环境变量后 可以直接命令启动
启动每台服务器的ZK 报错,查看
[root@sit-gather-kafka1 /]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
解决办法 关闭防火墙
systemctl stop firewalld.service
准备安装包 kafka_2.11-2.0.0 .tgz
在每台主机上执行下面步骤
将安装包移到/usr/local目录下
移动 解压 重命名
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
配置kafka环境变量,首先打开profile文件
vim /etc/profile
#set kafka environment
export KAFKA_HOME=/usr/local/kafka
PATH=${KAFKA_HOME}/bin:$PATH
source /etc/profile
在kafka-1主机中修改server.properties配置文件
vim /usr/local/kafka/config/server.properties
修改配置如下(IP地址应该根据实际情况填写) broker.id=3
broker.id=1
listeners=PLAINTEXT://192.168.1.162:9092
zookeeper.connect=192.168.1.162:2181,192.168.1.166:2181,192.168.1.170:2181
启动KAFK 不要在安装目录config下这样启动服务,无法启动
/usr/local/kafka/bin/kafka-server-start.sh -daemon config/server.properties
[root@sit-gather-kafka3 kafka]# ./bin/kafka-server-start.sh -daemon config/server.properties
[root@sit-gather-kafka3 kafka]# jps
15416 Jps
10314 QuorumPeerMain
15306 Kafka
查看 启动 三台服务器一切正常
在一台机器上创建主题 topic
[root@sit-gather-kafka3 kafka]# /usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 192.168.1.162:2181 --replication-factor 3 --partitions 1 --topic test-topic
Created topic "test-topic".
在另一台服务器查看主题
/usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper 192.168.1.162:2181 --topic test-topic
[root@sit-gather-kafka1 kafka]# /usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper 192.168.1.162:2181 --topic test-topic
Topic:test-topic PartitionCount:1 ReplicationFactor:3 Configs:
Topic: test-topic Partition: 0 Leader: 1 Replicas: 1,2,3 Isr: 1,2,3
至此 三台服务器在生产环境都配置成功
详细参考 1 https://www.jianshu.com/p/bdd9608df6b3 2 https://www.cnblogs.com/luotianshuai/p/5206662.html