Kafka的安装以及出现的问题整合

首先发一下kafka安装包

 链接:https://pan.baidu.com/s/1zPuA1kdBYp8AdpXwRGjzcw 
 提取码:sv0v 

kafka的安装

 

  • 上传压缩包到虚拟机中

  • 将压缩文件移动到/root/目录:
  • mv kafka_2.12-1.1.0.tgz /root/kafka_2.12-1.1.0.tgz
  • 进入 /root/目录:cd root
  • 解压:tar zxvf kafka_2.12-1.1.0.tgz
  • 重命名:mv kafka_2.12-1.1.0 kafka

  • 编辑 server.properties 文件: vi /root/kafka/config/server.properties
  • 在 server.properties 中加入以下代码:listeners=PLAINTEXT://192.168.141.1:9092(一定要用绝对地址)

  • 配置对外开放端口: iptables -I INPUT 1 -p tcp --dport 9092 -j ACCEPT(用阿里云的需要这样配置)

 

 

 

kafka的使用

  • 启动服务

(运行 kafka 需要使用 Zookeeper,所以需要先启动一个 Zookeeper 服务器,可以使用 kafka 自带打包和配置好

的 Zookeeper)

  • 进入 kafka 目录:cd /root/kafka
  • 启动 Zookeeper 服务器:bin/zookeeper-server-start.sh config/zookeeper.properties
  • 打开一个新窗口
  • 进入 /root/kafka/目录 cd /root/kafka (启动 kafka、zookeeper 服务都要在此目录)
  • 启动 kafka 服务: bin/kafka-server-start.sh config/server.properties &
  • 打开一个新窗口,进入/root/kafka 目录: cd /root/kafka
  • 创建一个名为“test”的 Topic,只有一个分区和一个备份:

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic

test

通过以下命令查看已创建的 topic 信息:

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

  • 发送消息:

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

  • 消费消息:

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

报错

  • kafka-run-class.sh:line 271:/usr/local/java/jdk/bin/java

没有安装jdk,或者jdk环境配置错误

  • kafka-run-class.sh:line 252 ,Unrecognized VM option 'PrintGCDateStamps'

启动PrintGCDateStamps异常

解决:

方法1:修改kafka-run-class.sh文件,将PrintGCDateStamps相关注释(这个我尝试了,但是没有成功)

方法2:(这个可以用)

JAVA_MAJOR_VERSION=$($JAVA -version 2>&1 | sed -E -n 's/.* version "([^.-]*).*"/\1/p')

 修改为

目录

kafka的安装

kafka的使用

报错


JAVA_MAJOR_VERSION=$($JAVA -version 2>&1 | sed -E -n 's/.* version "([^.-]*).*/\1/p')

然后 chmod +x kafka-run-class.sh 添加执行权限