JDK+Zookeeper+Kafka安装配置
ubuntu系统安装OpenJDK8
添加ppa仓库
1 | sudo add-apt-repository ppa:openjdk-r/ppa |
设置Openjdk版本
1 | sudo update-alternatives --config java |
查看java版本
1 | java -version |
Zookeeper集群的配置
解压安装包并重命名
1 | tar -zxvf zookeeper-3.4.14.tar.gz |
修改配置文件 zoo.cfg
1 | cd zookeeper/conf/ |
dataDir=/root/software/zookeeper/data
server.1=Node1.IP:2888:3888
server.2=Node2.IP:2888:3888
server.3=Node3.IP:2888:3888
dataDir
用于配置zookeeper快照日志和事务日志的存储地址,
server.每个节点服务编号
= 服务器ip地址:集群通信端口:选举端口
创建data目录和myid文件
在zookeeper目录下执行如下命令1
2
3mkdir data
cd data
echo "1" > myid
分发zookeeper
1 | scp -r zookeeper/ slave1:root/software/ |
分发后记得在各节点修改data
中对应的myid编号
启动zookeeper服务
1 | 查看各个服务状态:bin/zkServer.sh status |
kafka集群的配置
解压安装包并重命名
1 | tar -zxvf kafka_2.11-0.11.0.2.tgz |
修改配置文件
1 | cd kafka/config |
broker.id=0
listeners=PLAINTEXT://10.206.0.5:9092
advertised.listeners=PLAINTEXT://175.27.162.157:9092
log.dirs=/root/software/kafka/data
zookeeper.connect=175.27.162.157:2181,1.13.163.169:2181,129.211.209.60:2181
broker.id
:每个节点配置一个编号,保证唯一listeners
:内网访问的IP + 端口号advertised.listeners
:远程访问kafka服务的IP + 端口号log.dirs
:日志和文件存放路径zookeeper.connect
:zookeeper集群的地址
启动kafka时报如下错误
kafka.common.KafkaException: Socket server failed to bind to xx:9092: Cannot assign requested address
解决
该情况下的虚拟机对外ip
[暴露的ip]和真实ip
[ifconfig显示的ip]可能只是映射关系,用户访问对外ip时,OpenStack会转发到对应的真实ip实现访问。但此时如果 Kafkaserver.properties
配置中的listeners=PLAINTEXT://10.20.1.153:9092
中的ip配置为[对外ip]的时候无法启动,因为socket无法绑定监听,所以会报如上错误
解决方法也很简单,listeners=PLAINTEXT://10.20.1.153:9092
中的ip改为真实ip[ifconfig中显示的ip]即可,其他使用时正常使用对外ip即可,跟真实ip就没有关系了。
分发kafka文件
1 | scp -r kafka/ slave1:~/software/ |
分发后记得修改配置文件中broker.id
、listeners
、advertised.listeners
对应值
启动kafka
进入kafka目录1
bin/kafka-server-start.sh config/server.properties &
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 SYolin's Blog!
评论