大型数据库(8)--- Kafka安装与配置
作者:互联网
安装说明
安装环境
虚拟机:VirtualBox-6.1.18
操作系统:Ubuntu16.04LTS
集群情况:
主机名称 | Hadoop版本 | ZooKeeper版本 | IP地址 |
---|---|---|---|
hadoop-master | 2.7.3 | 3.6.3 | 192.168.56.1 |
hadoop-slave1 | 2.7.3 | 3.6.3 | 192.168.56.1 |
hadoop-slave2 | 2.7.3 | 3.6.3 | 192.168.56.1 |
本次安装的Kafka
Kafka版本:2.13-2.8.0
下载地址:kafka_2.13-2.8.1.tgz
其他:Kafka官网 、查看不同版本、官方文档
都准备就绪后,我们就接着往下开始安装吧!
不知道怎么准备的,我之前的文章 也许可以给你带来一些参考哦 - - - ☞ 搭建hadoop集群
大型数据库(6)— ZooKeeper安装与配置.
开始安装
- 我的两个基础软件Hadoop、Java 分别是在 /usr/hadoop 和 /usr/java下
- 其他的都安装在 ~/Hadoop 的文件夹下
- Kafka 不仅需安装在hadoop-master下,还需部署在slave机上
安装并配置Kafka
1. 解压
$ cd ~/下载
$ cp kafka_2.13-2.8.0.tgz ~/Hadoop
$ cd ~/Hadoop
$ tar -zxvf kafka_2.13-2.8.0.tgz
$ cd kafka_2.13-2.8.0/conf
2. 配置
2.1 server.properties
// 将此处的注释去掉
listeners=PLAINTEXT://hadoop-master:9092
// Zookeeper中的设置改为:
zookeeper.connect=hadoop-master:2181,hadoop-slave1:2181,hadoop-slave2:2181
2.2 本机测试
// 建议将master和slave都先开启zookeeper
此时,您可以在master主机上,稍微试试水…
$ ~/Hadoop/kafka_2.13-2.8.0/bin
$ ./kafka-server-start.sh ../config/server.properties &
打印完一堆东西后,回车输入
$ jps
将会看到
这样,你的master机基本上就配置好了!
我们先将其停掉 $ ./kafka-server-stop.sh
,继续往后配置!
3. 将Kafka安装文件复制到Slave节点
$ cd ~/Hadoop
$ scp -r kafka_2.13-2.8.0/ hadoop-slave1:~/Hadoop/
$ scp -r kafka_2.13-2.8.0/ hadoop-slave2:~/Hadoop/
3.1 更改 slave 机上的 broker.id 值
注:hadoop-master 中的 broker.id 默认应该为 0
进入到 hadoop-slave1: ~/Hadoop/kafka_2.13-2.8.0/config
将 server.properties 更改以下内容:
broker.id=1
进入到 hadoop-slave2: ~/Hadoop/kafka_2.13-2.8.0/config
将 server.properties 更改以下内容:
broker.id=2
启动Kafka
在各个机器上执行该命令,都应该能执行成功哦~ (不行的往下看 其他 部分)
$ ~/Hadoop/kafka_2.13-2.8.0/bin
$ ./kafka-server-start.sh ../config/server.properties &
成功启动后,都应该能看到 Kafka
在 Master 上
// 创建一个topic
$ ./kafka-topics.sh --create -zookeeper hadoop-master:2181 -replication-factor 1 -partitions 1 -topic test
// 查看刚刚创建的topic
$ ./kafka-topics.sh --list --zookeeper hadoop-master:2181
// 开启生产者,发送消息
$ ./kafka-console-producer.sh --broker-list hadoop-master:9092 --topic test
在 Slave 上
// 开启消费者,接收消息
$ ./kafka-console-producer.sh --broker-list hadoop-master:9092 --topic test
回到 Master 上,输入 ‘Hello World’ 见证历史吧!
其他
1. 启动时 zookeeper 报错
出现了这一堆的报错时…(我是在slave上发现这个问题)
是你Kafka运行的 zookeeper 版本不一样所导致的
首先看看最上面的打印的版本是什么
再看看master上正常启动时的版本
再对比 ~/Hadoop/kafka_2.13-2.8.0/libs
下 zookeeper 的 jar 包的版本
然后根据下面 path 把不能启动的机器下的 不同版本的 zookeeper的jar包 删掉即可
嗯…没错…就是这样…(我就是把它复制出来,匹配zookeeper一个个看…)
我的话…在 $HADOOP_HOME/share/hadoop/common/lib
下有一个
在 $HADOOP_HOME/share/hadoop/yarn/lib
下也有一个
我的 slave 是把这两个删掉就可以正常启动了
2. 启动时 Cluster ID 报错
这个只需要打开 $ /home/xld/test/kafka_2.13-2.8.0/config/server.properties
查看 log.dirs
将该路径下的文件夹删除,然后重启即可…
如:log.dirs=/tmp/kafka-logs 直接将 /tmp 目录下的 kafka-logs 这个文件夹整个直接删掉即可
3. 创建topic时失败
显示超时
很有可能是你 master 机的 zookeeper 还没启动哦~
把 zookeeper 启动后再试试就好了。
4. 其他骚话…
他说的是2.8之后的版本去掉自带的zookeeper,但我这发现他还是依赖运行 kafka 下的 libs 下的 jar 包,就很迷…大概是我不会弄吧…
还有就是,我发现 slave 接收信息,不开启 kafka.server 也可以…只是会多出一个 ConsoleConsumer 的玩意…
没搞明白…糊里糊涂,半桶水…
参考文章:
Kafka安装配置
kafka的安装和配置
标签:数据库,Hadoop,hadoop,kafka,---,2.8,master,Kafka,2.13 来源: https://blog.csdn.net/li1055107552/article/details/120391865