把需要安装的zookeeper,kafka的安装包上传到需要安装的服务器上
注:部署zookp和kafka集群,需要java环境,请先确保对应服务器已经安装jdk
zookeeper集群搭建
1、解压zookeeper-3.4.12.tar.gz
tar -zxvf zookeeper-3.4.12.tar.gz
cd zookeeper-3.4.12/conf
2、生成配置文件
将zoo_sample.cfg 复制一份,命名为zoo.cfg,即为zookeeper的配置文件。
cp zoo_sample.cfg zoo.cfg
3、创建zookeeperlog数据与日志文件夹:
cd /data/
mkdir zookeeperlog
cd zookeeperlog/
mkdir data
mkdir logs
4、编辑配置文件
修改后:
dataDir路径是手动创建的/data/zookeeperlog/data
在/data/zookeeperlog/data下创建一个myid文件
cd /data/zookeeperlog/data
vi myid
输入1
保存后查看
cat myid
这个数字id需要与zoo.cfg中的server.1=10.1.110.38:2888:3888.server后的数字对应,注意节点与id的对应,否则报错,这个id只能是数字
5、在将《zookp》附件中优化后配置复制到对应目录下
6、启动zookeeper
cd /data/zookeeper-3.4.12/bin
./zkServer.sh start
7、查看是否启动成功
./zkServer.sh status
下图节点:leader
下图节点:follower
ps -ef|grep java
9、启动失败的情况
进入到cd /data/zookeeperlog/logs/
tail -f zookeeper.log
进行查看日志,根据错误信息进行修改调整。
Kafka集群搭建
解压kafka_2.11-1.1.0.tgz
tar -zxvf kafka_2.11-1.1.0.tgz
2、调整kafka的配置
主要是以下4份文件
cd kafka_2.11-1.1.0/config/
server.properties文件中重点调整一下信息
producer.properties文件中重点调整一下信息
consumer.properties文件中重点调整一下信息
完成以上3份重点文件的调整后,将其覆盖式上传到/data/kafka_2.11-1.1.0/config 目录下
3、启动kafka
启动命令:
./bin/kafka-server-start.sh -daemon config/server.properties
or
nohup bin/kafka-server-start.sh config/server.properties >/dev/null 2>&1 &
4、查看kafka是是否启动成
ps -ef|grep java
ps -ef|grep kafka
5、验证kafka
创建一个topic一个节点作为生产者,一个节点作为消费者看是否能接收到数据
创建及查看topic
查看:
./kafka-topics.sh -list -zookeeper 10.1.110.38:2181,10.1.110.39:2181
创建:
./kafka-topics.sh --create --zookeeper 10.1.110.38:2181,10.1.110.39:2181 --replication-factor 2 --partitions 2 --topic test
开启生产者
./kafka-console-producer.sh --broker-list 10.1.110.38:9092,10.1.110.39:9092 --topic test
开启消费者:
1)./kafka-console-consumer.sh --zookeeper 10.1.110.38:2181,10.1.110.39:2181 --from-beginning --topic test
2) ./kafka-console-consumer.sh --zookeeper 10.1.110.38:9092,10.1.110.39:9092–from-beginning --topic test
注:因为每一台机器都安装了一个zookeeper,一个kafka, 故2181端口代表zookeeper,9092代表kafka,r如果方式1)没办法验证消费者,则使用方式2)来验证
出现图上的错误我们需要在/etc/hosts文件添加
当前机器的ip basic 如:
10.1.110.38 basic
然后执行生产者和消费者验证
生产者:
消费者:
zookeeper开机启动
1、打开目录
cd /etc/init.d/
2、新建zookeeper
vi zookeeper
3、修改内容
#!/bin/bash
export JAVA_HOME=/usr/java/jdk1.8.0_60
export PATH=
J
A
V
A
H
O
M
E
/
b
i
n
:
JAVA_HOME/bin:
JAVAHOME/bin:PATH
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
case $1 in
start)
/data1/kafka_2.12-2.7.1/bin/zkServer.sh start
;;
stop)
/data1/apache-zookeeper-3.6.3-bin/bin/zkServer.sh stop
;;
status)
/data1/apache-zookeeper-3.6.3-bin/bin/zkServer.sh status
;;
restart)
/data1/apache-zookeeper-3.6.3-bin/bin/zkServer.sh restart
;;
*)
echo “require start|stop|status|restart”
;;
esac
4、修改权限
chmod 755 zookeeper
5、测试命令
service zookeeper status
6、添加至服务列表
chkconfig --add zookeeper
7、验证
chkconfig --list
8、设置为开机启动
chkconfig zookeeper on
kafka开机启动
1、打开目录
cd /etc/init.d/
2、新建 kafka
vi kafka
3、修改内容
#!/bin/bash
export JAVA_HOME=/usr/java/jdk1.8.0_60
export PATH=
J
A
V
A
H
O
M
E
/
b
i
n
:
JAVA_HOME/bin:
JAVAHOME/bin:PATH
#chkconfig:2345 20 90
#description:kafka
#processname:kafka
case $1 in
start)
/data1/kafka_2.12-2.7.1/bin/kafka-server-start.sh -daemon /data1/kafka_2.12-2.7.1/config/server.properties
;;
stop)
/data1/kafka_2.12-2.7.1/bin/kafka-server-stop.sh
;;
status)
jps
;;
restart)
/data1/kafka_2.12-2.7.1/bin/kafka-server-stop.sh
/data1/kafka_2.12-2.7.1/bin/kafka-server-start.sh -daemon /data1/kafka_2.12-2.7.1/config/server.properties
;;
*)
echo “require start|stop|status|restart”
;;
esac
4、修改权限
chmod 755 kafka
5、测试命令
service kafka status
6、添加至服务列表
chkconfig --add kafka
7、验证
chkconfig --list
8、设置为开机启动
chkconfig kafka on