apache安装汇总:https://downloads.apache.org/
先安装zookeeper
下载安装包解压到目录
linux命令
rz # 回车上传文件
cp 文件 位置
mv 文件 新名称
tar -zxvf zookeeper.tar.gz # 解压
cd 到conf,复制一份配置文件,vim修改
./zkServer.sh satrt 启动
jps安装:
# sudo yum install java-1.8.0-openjdk-devel.x86_64
kafka下载
解压上传同上,配置文件/config/service.properties
启动命令bin/kafka-server-start.sh config/server.properties
注意:这是旧版创建方法,新版已废弃
3.0后的新版:
bin/kafka-topics.sh --create --bootstrap-server master:9097 --replication-factor 1 --partitions 2 --topic test 不行
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 2 --topic test 不行
bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --partitions 2 --replication-factor 1 --topic news 行!!!!!!!!!!!create放服务后面
查看详情
启动消费端接收消息 localhost写固定ip
生产端发送消息
linux先把防火墙关闭,开放对外访问的端口
#开启防火墙
systemctl start firewalld
#开启2181(zk,如果需要向外连接zk则需要)
firewall-cmd --zone=public --add-port=2181/tcp --permanent
#开启开启9092(kafka)
firewall-cmd --zone=public --add-port=9092/tcp --permanent
#重启防火墙
firewall-cmd --reload
#查看已经开放的端口
firewall-cmd --list-ports
#查看是否开启成功
firewall-cmd --list-ports
若想去掉:
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
然后重启
java配置后
DEBUG org.apache.kafka.common.network.Selector - [Producer clientId=producer-1] Connection with localhost/127.0.0.1 disconnected
java.net.ConnectException: Connection refused: no further information
报错情况:
虚拟机上服务器使用生产者和消费者以localhost可以发布消费消息,但是本机使用localhost报错!!!
解决方案:
设置kafka配置文件中的advertised.listeners属性!注意,该属性才是对应外网的监听属性!修改后:
# 允许外部端口连接
listeners=PLAINTEXT://:9092
# 外部代理地址
advertised.listeners=PLAINTEXT://192.168.121.128:9092
192.168.121.128是我虚拟机服务器自己的地址,可使用ifconfig命令查看
同时,本地java程序生产者设置的bootstrap.servers对应值也改为:192.168.121.128:9092