kafka 集群安装部署(最详细 zookeeper+kafka+生产者消费者验证)

目录

Kafka 集群规划

一.Zookeeper集群准备

1.下载

2.解压并修改目录名称

3. 创建data和dataLog目录

4. 创建myid文件

5. 修改配置文件zoo.cfg

6.赋权

7.把修改的zookeeper目录复制到另外两个节点上

8.启动和测试集群

9.故障排查

二.安装Kafka

1.下载

2.解压

3.修改配置文件

4.将 kafka 目录 分发到另外两台服务器上

5.启动集群

 6.验证


Kafka 集群规划

Zookeeper集群共三台服务器,分别为:node1、node2、node3。

Kafka集群共三台服务器,分别为:node1、node2、node3。

jdk 1.8+ 没安装的点这里 教程

一.Zookeeper集群准备

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

1.下载

  1.    选择一台服务器进行下载配置后,复制到另外两台机器即可 在 /opt 目录下执行
  2.    也可以手动下载上传到服务器上 下载地址->https://zookeeper.apache.org/releases.html
wget https://downloads.apache.org/zookeeper/zookeeper-3.6.0/apache-zookeeper-3.6.0-bin.tar.gz

2.解压并修改目录名称

    1)解压

tar -xvf apache-zookeeper-3.6.0-bin.tar.gz

   2)修改名称

mv apache-zookeeper-3.6.0-bin apache-zookeeper-3.6.0

3. 创建data和dataLog目录

mkdir /opt/apache-zookeeper-3.6.0/data
mkdir /opt/apache-zookeeper-3.6.0/dataLog

4. 创建myid文件

  1)进入data 目录

cd /opt/apache-zookeeper-3.6.0/data

   2)编辑文件内容 1 即可。第二个节点输入2,第三个节点输入3

echo 1 >myid

5. 修改配置文件zoo.cfg

1) 进入 conf 目录

 cd /opt/apache-zookeeper-3.6.0/conf

2)复制配置文件

 cp zoo_sample.cfg zoo.cfg

 3)zoo.cfg 在文件末尾添加以下内容

  1)编辑 zoo.cfg

vim zoo.cfg

2)添加以下内容 

dataDir=/opt/apache-zookeeper-3.6.0/data  
dataLogDir=/opt/apache-zookeeper-3.6.0/dataLog  
server.1=192.168.10.11:2888:3888  
server.2=192.168.10.12:2888:3888
server.3=192.168.10.13:2888:3888 

server 可以写主机名,但是要在hosts文件做映射,否则不会生效。

6.赋权

对zookeeper的目录进行授权

chmod 777 -R /opt/apache-zookeeper-3.6.0

7.把修改的zookeeper目录复制到另外两个节点上

scp -r apache-zookeeper-3.6.0 [email protected]:/opt/
scp -r apache-zookeeper-3.6.0 [email protected]:/opt/

分发后别忘了修改data目录下的myid文件中的内容,也给从节点的zookeeper目录赋权

8.启动和测试集群

  1. 分别在三台服务器上执行
/opt/apache-zookeeper-3.6.0/bin/zkServer.sh start

     2.查看状态

/opt/apache-zookeeper-3.6.0/bin/zkServer.sh status

  一个Leader 两个 follower

[root@hdp-01 conf]# /opt/apache-zookeeper-3.6.0/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.6.0/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower

9.故障排查

1) 若出现启动失败,可查看日志

/opt/apache-zookeeper-3.6.0/bin/zkServer.sh start-foreground

2)大多数的问题都是配置文件的问题,注意在配置文件中一定不要有多余的空格!!!!

二.安装Kafka

1.下载

http://kafka.apache.org/downloads.html

2.解压

tar -xvf kafka_2.13-2.5.0.tgz

3.修改配置文件

vim /opt/kafka_2.13-2.5.0/config/server.properties

1)修改 broker.id=1  与上面配置的zookeeper myid 保持一致

2)修改 zookeeper.connect 为三台机器的ip,用逗号隔开

4.将 kafka 目录 分发到另外两台服务器上

scp -r kafka_2.13-2.5.0 [email protected]:/opt/
scp -r kafka_2.13-2.5.0 [email protected]:/opt/

并分为修改 broker.id 为2 、3

5.启动集群

1)启动kafka集群前先启动zookeeper集群

2)进入kafka 目录下,执行以下命令 启动kafka 集群

如果出现 commit_memory(0x00000000c0000000, 1073741824, 0) failed 错误,kafka默认启动内存为1G,可以在配置文件中修改

vim bin/kafka-server-start.sh

 后台运行启动方式

./bin/kafka-server-start.sh -daemon config/server.properties &

将默认配置  export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"  修改为 export KAFKA_HEAP_OPTS="-Xmx512M -Xms512M"

再次启动即可。

启动成功!

 6.验证

1)创建topic–test

./bin/kafka-topics.sh --create --zookeeper 192.168.10.11:2181, 192.168.10.12:2181, 192.168.10.13:2181 --replication-factor 3 --partitions 3 --topic test

2)查看已经创建的 topic 列表

./bin/kafka-topics.sh --list --zookeeper localhost:2181

3)在master启动生产者(任意一台)

./bin/kafka-console-producer.sh --broker-list 192.168.10.11:9092,192.168.10.12:9092,192.168.10.13:9092 --topic test

4)在另外两台服务器其中之一启动消费者 

./bin/kafka-console-consumer.sh --bootstrap-server 192.168.10.11:9092,192.168.10.12:9092,192.168.10.13:9092 --from-beginning --topic test

5)生产者的服务器输入内容,消费者服务器就会显示

生产者

[root@hdp-01 kafka_2.13-2.5.0]# ./bin/kafka-console-producer.sh --broker-list 192.168.10.11:9092,192.168.10.12:9092,192.168.10.13:9092 --topic test
>hello world!

消费者

 [root@hdp-02 kafka_2.13-2.5.0]# ./bin/kafka-console-consumer.sh --bootstrap-server 192.168.10.11:9092,192.168.10.12:9092,192.168.10.13:9092 --topic test
hello world!

到此,整个kafka 搭建成功,若有问题错误,欢迎提问指正!

你可能感兴趣的:(kafka,大数据,kafka,zookeeper)