CentOS 7.2 中 Kafka,Zookeeper的单机部署,伪分布式部署以及真正的分布式部署
Posted ChenHui_GXNU
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 7.2 中 Kafka,Zookeeper的单机部署,伪分布式部署以及真正的分布式部署相关的知识,希望对你有一定的参考价值。
由于kafka依赖于zookeeper,所以这里先安装zookeeper。
安装环境
先列一下安装环境:
操作系统:centos 7.2
JDK版本:1.8.1
kafka版本:2.11-0.10.1.1
zookeeper版本:zookeeper-3.4.9
zookeeper的下载、配置、启动
zookeeper下载链接:
http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.9/
zookeeper的安装路径:/usr/local/src
zookeeper配置
首先去到zookeeper配置文件所在目录:cd /usr/local/src/zookeeper-3.4.9/conf
然后复制一份zoo_sample.cfg并重命名为zoo.cfg,通过命令vi修改zoo.cfg 文件,改动的参数如下:
修改dataDir目录的位置,dataDir=/usr/local/src/zookeeper-3.4.9/data/zookeeper
修改dataLofDir目录的位置,dataLogDir=/usr/local/src/zookeeper-3.4.9/log
注意,上面两个文件夹的位置,要确保他们是真的存在,如果不存在,先手动创建他们。可以通过如下命令创建文件夹:
mkdir -p /usr/local/src/zookeeper-3.4.9/data/zookeeper
mkdir -p /usr/local/src/zookeeper-3.4.9/log
在/usr/local/src/zookeeper-3.4.9/data/zookeeper 目录下创建一个myid文件,里面写1,第二个zookeeper机器写2,第三个zookeeper写3。
可以通过命令来创建myid文件,并写入数字1,2,3,命令如下:
echo "1"> /usr/local/src/zookeeper-3.4.9/data/zookeeper/myid
echo "2"> /usr/local/src/zookeeper-3.4.9/data/zookeeper/myid
echo "3"> /usr/local/src/zookeeper-3.4.9/data/zookeeper/myid
在配置文件底部添加zookeeper集群的ip
server.1=192.168.7.64:2888:3888
server.2=192.168.7.65:2888:3888
server.3=192.168.7.66:2888:3888
server.数字中的1,2,3 就是上面myid里面写的1,2,3
注意,上面只是一个机器的配置文件的修改,你还要修改其他两个机器的配置文件,修改步骤都是一样的
其他2个机器也是这样修改配置文件。
zookeeper启动
当3个机器的配置文件都修改好了之后,可以开启zookeeper,启动如下:./zkServer.sh start
验证启动状态:./zkServer.sh status
Kafka下载、配置、启动
kafka目前使用版本为2.11-0.10.1.1。
kafka下载
下载地址:https://www.apache.org/dyn/closer.cgi?path=/kafka/0.10.1.1/kafka_2.11-0.10.1.1.tgz
Kafka的安装路径为:/usr/local/src
kafka配置
去到kafka配置文件所在目录:cd /usr/local/src/kafka_2.11-0.10.1.1/config,
然后通过命令vi修改配置文件:vi server.properties
在Server Basics 添加如下信息:host.name 是本机ip, port 默认端口号可不改,broker.id 如果是配第一个写1,第二个写2
修改log的存放路径,例如:log.dirs=/usr/local/src/kafka_2.11-0.10.1.1/tmp/kafka-pogs. 主要要确保该路径是存在的。
如果路径不存在,可以通过命令来创建:mkdir -p /usr/local/src/kafka_2.11-0.10.1.1/tmp/kafka-logs
修改zookeeper的连接地址
kafka启动
去到kafka的bin目录:cd /usr/local/src/kafka_2.11-0.10.1.1/bin
然后通过命令启动kafka:[root@CentOS7 bin]# ./kafka-server-start.sh ../config/server.properties
你也可以通过守护进程的方式启动kafka:
[root@CentOS7 bin]# ./kafka-server-start.sh -daemon ../config/server.properties
或者[root@CentOS7 bin]# nohup ./kafka-server-start.sh ../config/server.properties &
当kafka和zookeeper都启动好之后,可以通过在kafka生产消息和消费消息来验证kafka是否能正常使用。
生产消息命令:
./kafka-console-producer.sh --broker-list 192.168.7.63:9092,192.168.7.64:9092,192.168.7.65:9092 --topic albert
消费消息命令:
./kafka-console-consumer.sh --zookeeper 192.168.7.64:2181,192.168.7.65:2181,192.168.7.66:2181 --topic albert
以上是关于CentOS 7.2 中 Kafka,Zookeeper的单机部署,伪分布式部署以及真正的分布式部署的主要内容,如果未能解决你的问题,请参考以下文章
[异常处理]class kafka.common.UnknownTopicOrPartitionException (kafka.server.ReplicaFetcherThread)