zookeeper安装部署
前提:必须安装java环境,最好1.8版本的jdk,配好环境变量
-
准备环境
三台Linux服务器:172.52.0.162,172.52.0.163,172.52.0.164
zookeeper安装包:zookeeper-3.4.13.tar.gz
-
安装zookeeper
先把安装包拷入Linux系统中,目录为 /work/package/zookeeper-3.4.13.tar.gz
要安装的目录:/work/zookeeper-3.4.13
cd /work 打开要解压的目录
tar -zxvf package/zookeeper-3.4.13.tar.gz 解压文件
cd zookeeper-3.4.13
mkdir data 创建data目录
mkdir log 创建log目录
cd conf 打开conf目录
cp zoo_zample.cfg zoo.cfg 复制zoo_zample.cfg为zoo.cfg
vi zoo.cfg 打开zoo.cfg
i i在vi中代表要进行编辑,具体vi怎么使用请上网搜索
找到 dataDir 修改他的值,并在他下面加一个键值对:
dataDir=/work/zookeeper-3.4.13/data dataLogDir=/work/zookeeper-3.4.13/log
在文件末尾加集群配置:
server.1=172.52.0.162:2188:3188
server.2=172.52.0.163:2188:3188
server.3=172.52.0.163:2188:3188
摁ESC退出编辑模式,输入 :wq 保存退出文件
cd .. 退出到上级目录
touch data/myid data目录下新建myid文件(非常重要)
echo 1 data/myid myid文件输入1
这样第一台机器大功告成,复制一份刚刚改好的zookeeper到第二台和第三台机器,并且删掉刚刚新建的myid文件,重新按照同样的方法创建myid ,第二台的值为 2 ,第三台的值为 3
OK,三台服务器的zookeeper已经完成。
-
启动zookeeper
cd /work/zookeeper-3.4.13/bin 进入zookeeper bin目录下
./zkServer.sh start zookeeper启动,显示STARED即为启动成功
./zkServer.sh status zookeeper状态查看,显示leader或者follower,三台只有一个为leader,其余俩为follower
./zkServer.sh stop zookeeper停止,显示STOP即为停止
kafka安装部署
前提:在已经安装好zookeeper并且已经启动的情况下才能启动kafka
-
环境准备
三台安装好zookeeper的Linux服务器:172.52.0.162,172.52.0.163,172.52.0.164
kafka安装包:kafka_2.11-0.10.2.0.tgz
-
安装kafka
先把安装包拷入Linux系统中,目录为 /work/package/kafka_2.11-0.10.2.0.tgz
要安装的目录:/work/kafka_2.11-0.10.2.0
cd /work
tar -zxvf package/kafka_2.11-0.10.2.0.tgz
cd kafka_2.11-0.10.2.0
mkdir logs
cd config
vi server.properties
打开server.properties后编辑此配置文件,修改部分属性为:(第一台机器配置)
broker.id=1
listeners=PLAINTEXT://172.52.0.162:9092 此值集群是一定要配本机IP,否则会被识别为localhost
advertised.listeners=PLAINTEXT://172.52.0.162:9092 此值集群是一定要配本机IP,否则会被识别为localhost
log.dirs=/work/kafka_2.11-0.10.2.0/logs
zookeeper.connect=172.52.0.162:2181,172.52.0.163:2181,172.52.0.164:2181 zookeeper集群地址
修改完后将此kafka_2.11-0.10.2.0复制一份到第二台第三台机器,
继续修改上述配置文件:(第二台机器配置)
broker.id=2
listeners=PLAINTEXT://172.52.0.163:9092
advertised.listeners=PLAINTEXT://172.52.0.163:9092
log.dirs=/work/kafka_2.11-0.10.2.0/logs
zookeeper.connect=172.52.0.162:2181,172.52.0.163:2181,172.52.0.164:2181
第三台机器配置:
broker.id=3 三台此值一定不能重复
listeners=PLAINTEXT://172.52.0.164:9092
advertised.listeners=PLAINTEXT://172.52.0.164:9092
log.dirs=/work/kafka_2.11-0.10.2.0/logs
zookeeper.connect=172.52.0.162:2181,172.52.0.163:2181,172.52.0.164:2181
配置完事,可以启动了!
-
kafka启动
cd /work/kafka_2.11-0.10.2.0
./bin/kafka-server-start.sh /config/server.properties
此种方式启动kafka日志会直接打印到控制台,并且kafka不会再后台运行,关闭日志打印界面kafka就停掉了,所以需要稍作改动:
./bin/kafka-server-start.sh /config/server.properties 1>/dev/null 2>&1 &
其中1>/dev/null 2>&1 是将命令产生的输入和错误都输入到空设备,也就是不输出的意思。/dev/null代表空设备。这样虽然可以在后台运行,但是不能永久运行kafka会几个小时后自动停下来,想永久后台运行得如下命令:./bin/kafka-server-start.sh -daemon /config/server.properties 1>/dev/null 2>&1 &
每次输入此命令很麻烦,可以写一个shell脚本启动,新建一个文件为start.sh,然后输入一下命令:
#!/bin/bash
./bin/kafka-server-start.sh -daemon /config/server.properties 1>/dev/null 2>&1 &
大功告成,将此文件拷贝至/work/kafka_2.11-0.10.2.0 目录下即可
启动,先定位到/work/kafka_2.11-0.10.2.0目录下,
cd /work/kafka_2.11-0.10.2.0
./start.sh
OK,启动完成!其他两台机器同理!
关闭kafka,在任何目录下输入命令: jps 显示kafka前面的那个数就是他的pid,用命令:kill -9 pid 即可杀死kafka进程,或者,用命令:ps -ef | grep kafka 查看kafka进程pid,命令下面第一行root前面的第一个数字即为pid ,用命令:kill pid同样可以杀死该进程。zookeeper同理,若关不掉就用狠点的方法直接杀死其进程,其他应用一样。
最后送上一段很有道理的话:
Several years ago, we didn't hava Tiktok,we used QQ. I haven't logged in my QQ for a long time. The other day I would like to download some pictures from my Qzone. So I download QQ again. Sadly I forgot my password. In order to get back my password, I had to answer a question that I set when I was in primary school. It was "What is your dream ?". I typed in "money". Uh-oh,no ,then I tried "a beautiful girlfriend". Uh-oh, no, then I typed in "fancy cars","big houses", "a decent job", wrong, wrong, wrong. Then I suddenly realized I didn't lose my password, I lost my dream .