一、zookeeper单机版安装
zookeeper下载网址:https://archive.apache.org/dist/zookeeper/
1、解压安装包
2、需要jdk
详情看jdk安装部分
3、要想任何地方使用bin目录下面的sh命令就要配置环境变量,vi /etc/profile添加下面的内容
export ZOOKEEPER_HOME=/data/zookeeper
export PATH=
J
A
V
A
H
O
M
E
/
b
i
n
:
JAVA_HOME/bin:
JAVAHOME/bin:ZOOKEEPER_HOME/bin:$PATH
4、刷新
source /etc/profile
5、验证,输出了地址则配置环境变量为正常
echo $ZOOKEEPER_HOME
6、到cof目录修改配置,这是一个样例,启动会扫描zoo.cfg,所以复制一份,然后重命名即可。
cp zoo_sample.cfg zoo.cfg
7、zoo.cfg配置文件的一些解释
另外在dataDir下面新增加一行dataLogDir=/data/zookeeper/zoo_logs 日志目录(单机版可以不用
8、启动
zkServer.sh start
9、验证
(1)ps -ef | grep zookeeper
(2)jps命令
(3)查看状态zkServer.sh status
mode为standalone代表单机,代表单机版的zookeeper已经安装好了
二、zookeeper集群版安装
1、分发安装包到其他两台主机scp -r /data/zookeeper ip:/data/
2、在/data/zookeeper/zookeeper_data路径下面新建myid文件,并分别写入1,2,3
3、添加zookeeper集群地址
server.1=192.168.153.131:2888:3888
server.2=192.168.153.132:2888:3888
server.3=192.168.153.134:2888:3888
(这里的server.1,2,3代表zookeeper里面myid文件的值,后面对应到该地址)
4、启动zookeeper集群
zkServer.sh start
5、查看集群状态
zkServer.sh status
6、可以看到模式为leader或者 follower则为成功
三、kafka单机版安装
下载网址:https://kafka.apache.org/downloads
解释一下命名规则:前面的2.11代表scala的版本号(kafka采用scala语言进行开发),后面的2.2代表kafka版本号
kafka_2.11-2.2.0.tgz
1、配置环境变量,vi /etc/profile,添加以下内容
export KAFKA_HOME=/data/kafka
export PATH=
J
A
V
A
H
O
M
E
/
b
i
n
:
{JAVA_HOME}/bin:
JAVAHOME/bin:{ZOOKEEPER_HOME}/bin:
K
A
F
K
A
H
O
M
E
/
b
i
n
:
KAFKA_HOME/bin:
KAFKAHOME/bin:PATH
(1)验证,输出了kafka路径 代表成功
echo $KAFKA_HOME
(2)刷新环境变量
source /etc/profile
2、修改配置
(1)建立目录,创建kafka消息日志目录(kafka-logs),程序运行日志目录( logs)
进入kafak目录: mkdir kafka-logs logs
(2)修改配置,进入安装目录的config/目录下,修改配置文件server.properties
#broker的全局唯一标识号,不能重复,给集群中的每个broker配置一个不同的id
broker.id=0
#分区数据的存储位置
log.dirs=/data/kafka/kafka-logs
#连接zookeeper集群地址
zookeeper.connect=zk1:2181,zk2:2181,zk3:2181
3、启动
/data/kafka/config/server.properties
启动:./bin/kafka-server-start.sh config/server.properties &
停止:./bin/kafka-server-stop.sh config/server.properties &
启动成功的后面会这样卡在这个界面,本来就是这样的,并且还会打印那个配置文件
4、查看进程在不在,使用jps命令查看。
四、kafka集群版安装
1、分发安装包到其他机器
scp -r /data/kafka ip:/data/
注意:
(1)分发的brokeid一定要修改不能重复
(2)建议在其他节点的环境变量也配置下
(3)把上面的创建好的主题全部删除(这里kafka创建好的主题会落地的磁盘,删除之后启动的时候又会恢复)
rm -rf /data/kafka/kafka-logs/*
(4)scp -r /data/kafka ip:/data/
2、启动
(1)先启动zookeeper
(2)再启动kafka
3、创建主题,进入bin目录
./kafka-topics.sh --create --zookeeper ip:2181 --replication-factor 1 --partitions 1 --topic abcd
4、查看主题
./kafka-topics.sh --list --zookeeper ip:2181
5、删除主题(前提是kafka的配置文件server.properties,新增了这两个才可以正常删除)
delete.topic.enable=true
auto.create.topics.enable = false
没有删除干净的话在查看主题的时候会显示(marked for deletion)字样
6、如果出现了没有删除的情况,那么就登录zookeeper彻底删除
(1)zkCli.sh
(2)接着输入:ls /brokers/topics
找到topic所在目录查看topic列表:ls /brokers/topics
(3)删除主题:rmr /brokers/topics/test(如果这个删不了,那就用下一个)
(4)删除主题: deleteall /brokers/topics/test(这个可以成功删除)