首先,虚拟机克隆好之后的步骤如下:
1. 修改IP、主机名,关闭防火墙;(reboot重启)
2. 在/etc/hosts文件中进行IP与主机名的映射配置,集群中每天都记得配置;
3. 安装JDK并进行分发;进入/etc/profile.d/目录创建my_env.sh文件并在其中配置JAVA_HOME并进行分发;(分发jdk前先卸载自带的jdk);
4. 安装zookeeper并进行分发,具体为:
首先,在zookeeper根目录下创建zkData目录,并在该目录下创建myid文件进行编辑如下:
然后,执行如下命令进行分发,并修改myid文件:
rsync -av zookeeper root@centos103:/opt/software/
rsync -av zookeeper root@centos104:/opt/software/
最后,进入zookeeper/conf目录,复制zoo_sample.cfg文件并改名为zoo.cfg,修改如下配置:
dataDir=/opt/software/zookeeper/zkData
并增加如下配置:
server.2=centos102:2888:3888
server.3=centos103:2888:3888
server.4=centos104:2888:3888
再分发一下即可:
rsync -av zoo.cfg root@centos103:/opt/software/zookeeper/conf/
rsync -av zoo.cfg root@centos104:/opt/software/zookeeper/conf/
启动:
[root@centos102 zookeeper]# bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/software/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@centos102 zookeeper]# jps
3334 QuorumPeerMain
3374 Jps
[root@centos102 zookeeper]# bin/zkServer.sh status conf/zoo.cfg
只有查看启动状态成功时,才算真正启动!!!
上面这个报错,百度弄个半天,关了防火墙也不行,最后也查看了日志文件,最后发现是/etc/hosts的映射文件只在centos102中配了,没有配另外两台。都配置好之后,就成功启动了。
5. kafka的安装、修改配置、启动
首先,进入kafka/config目录修改server.properties文件中的一些配置,具体修改如下:
#broker 的全局唯一编号,不能重复,只能是数字。
broker.id=0#kafka 运行日志(数据)存放的路径,路径不需要提前创建,kafka 自动帮你创建,可以配置多个磁盘路径,路径与路径之间可以用","分隔
log.dirs=/opt/software/kafka/datas#配置连接 Zookeeper 集群地址(在 zk 根目录下创建/kafka,方便管理)
zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181/kafka
集群中每个服务器都记得改,broker.id依次为0、1、2哦。
然后,执行启动命令时,报错如下:
启动命令:
[root@centos104 kafka]# bin/kafka-server-start.sh -daemon config/server.properties
百度查了发现,原来我安装的是src原本版本的kafka-3.0.0-src.tgz,重新安装正确的版本就好了。依次启动集群中的3台机器,再用命令jps检查启动的服务,发现启动成功了。
说明:KAFKA_HOME环境变量可配置,也可不配置,启动命令执行的位置有区别;但好像都得kafka目录下启动(?)。
#KAFKA_HOME
export KAFKA_HOME=/opt/software/kafka
export PATH=$PATH:$KAFKA_HOME/bin