阿里云 centos7 系统下 外网kafka(用自带的zookeeper) 搭建笔记

kafka 下载

http://kafka.apache.org/downloads

你可以选择 用xshell 来安装文件上传插件

在xshell 中运行命令 yum install  lrzsz -y  然后进入放你kakfa的目录 

我kafka的目录为 /server

命令 cd ./server

rz 弹出文件选择框 选择你下载的文件 然后等待上传完毕

也可以选择 下载 winscp 这个桌面软件

页面如下 直接复制黏贴就好

文件上传后 运行命令

tar -zxvf +kafka文件名 解压文件

在这里我的命令是 tar -zxvf kafka_2.11-2.1.0.tgz

mv tar -zxvf kafka_2.11-2.1.0.tgz kafka

这里是为了 之后 找这个文件夹更容易些

然后更改配置文件 进入config 文件夹 

配置zookeeper.properties 加入如下属性
maxClientCnxns=0
tickTime=2000
initLimit=10
syncLimit=5

然后配置server.properties 其他的属性 不用动只需要 修改
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://47.92.73.124(你的外网ip):9092

首先 吧2181 端口和9092端口 加入阿里云的安全组 这是必要的

开放你的防火墙(我这里没用iptables 直接用的firewall)

firewall-cmd --zone=public --add-port=2181/tcp --permanent

firewall-cmd --zone=public --add-port=9092/tcp --permanent

然后更新防火墙

firewall-cmd --reload

如果你是自己的测试服务器 内存不大 记得修改 kafka-server-start.sh 脚本,修改 KAFKA_HEAP_OPTS 处 -Xmx 和 -Xms 的值

这是 设置kafka占用的内存

然后开始启动kafka

在之前改了名字的kafka目录下 执行命令(以下是用我自己路径进行的)

首先必须要有Java的环境 没有的话 自行百度在此不再赘述

执行命令 启动zookeeper

bin/zookeeper-server-start.sh config/zookeeper.properties

成功输出大量无error日志

执行命令 启动kafka

bin/kafka-server-start.sh config/server.propertie

成功输出大量无error日志

创建topic 

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

成功出现Created topic "test  

partitions 这个属性是 指定你创建的topic 具有多少分区

下面命令 查看该zookeeper中有多少 topic

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

成功 输出 刚才你创建的topic

创建生产者

bin/kafka-console-producer.sh --broker-list 172.26.198.123:9092 --topic kafkatest

运行 出现 > 后面可以输入字符为正确

创建消费者

bin/kafka-console-consumer.sh --bootstrap-server 172.26.198.123:9092 --topic kafkatest--from-beginning

在生产者中输入消息 即可在消费者中看到 那么本地就成功了

有个题外的话题 就Java调用的问题 

关于Java端调用失败问题
1.当一直连接错误的时候 有可能是安装路径下的server.properties 配置文件中的 localhost没有配置
需要配置以后 才能远程连接其他服务器的kafka
2.当使用消费者获取数据的时候 一直报错为空指针 这个问题可能是 kafka的版本和你jar包的版本不匹配 这个时候 降低你
kafka连接工具的版本即可我当前使用的是0.8.1.1版本

外网测试 自己在Java上测试 或者 在本地搭建一个 kafka环境 然后通过上面的zookeeper的ip来创建消费者 即可

猜你喜欢

转载自blog.csdn.net/robotShuiMo/article/details/84782374