Zookeeper以及kafka的安装(Kafka依赖于)

本文详细介绍了Zookeeper和Kafka的概念、特点,以及它们在分布式系统中的应用,包括Zookeeper的安装配置、Zookeeper集群的管理和启动停止,以及Kafka的安装、配置、负载均衡和集群操作。
摘要由CSDN通过智能技术生成

一、介绍

1.定义

①zookeeper

从名字上直译就是动物管理员,动物指的是 Hadoop 一类的分布式软件,管理员三个字体现了 ZooKeeper 的特点:维护、协调、管理、监控

②Kafka

是一种消息队列,主要用来处理大量数据状态下的消息队列,一般用来做日志的处理

2.特点

①zookeeper

最终一致性   可靠性   实时性    独立性   原子性

②kafka

高吞吐量、低延迟    可扩展性   容错性    高并发

3.关系

①在Kafka的设计中,选择了使用Zookeeper来进行所有Broker的管理

②生产者负载均衡

传统的4层负载均衡     使用zookeeper进行负载均衡

③消费者的负载均衡和生产负载均衡类似

④记录消息分区于消费者的关系,都是通过创建修改zookeeper上相应的节点实现

⑤记录消息消费进度Offset记录,都是通过创建修改zookeeper上相应的节点实现

二、Zookeeper安装与部署

1.zookeeper安装与配置

(1)解压安装包

①zookeeper官网

Apache ZooKeeper

②选择版本并上传

③解压并创建软连接

解压:

tar -zxvf apache-zookeeper-3.8.3-bin (9).tar.gz  -C ../server

创建软连接:

ln -s zookeeper-3.8.3/ zookeeper

 (2).配置环境变量并分发

①修改配置环境

vim /etc/profile

 

②配置环境变量

export ZOOKEEPER_HOME=/opt/server/apache-zookeeper-3.8.3-bin
export PATH=$PATH:$ZOOKEEPER_HOME/bin

③拷贝环境变量

scp -r /etc/profile root@192.168.229.112(113): /etc/profile   (xsync /etc/profile)

2.修改配置文件

(1)修改配置文件

① 切换目录

cd /opt/server/zookeeper/conf

 ②更改配置文件名

mv zoo_sample.cfg zoo.cfg

 ③编辑zoo.cfg文件

vim zoo.cfg

 ④修改参数

dataDir=/opt/server/zookeeper/zkdata


###########cluster#########
server.1=192.168.229.111:2888:3888
server.2=192.168.229.112:2888:3888
server.3=192.168.229.113:2888:3888

 

 ⑤创建数据文件目录

mkdir zkdata

 ⑥创建myid文件

vim myid

 ⑦设置myid

echo > 1 myid

 (2)分发到其他节点

①拷贝ZK到其他节点

scp -r zookeeper-3.8.3/ root@192.168.229.12(113): /opt/server

②修改myid

hadoop2:echo > 2 myid

hadoop3:echo > 3 myid

3.Zookeeper集群的启动和停止

(1)启动zookeeper集群

①切换目录

cd /opt/server/zookeeper/bin/

②启动ZK

 ./zkServer.sh start
 

 ③到hadoop2和hadoop3启动ZK
④Hadoop1查看状态

需要3台集群都启动ZK,才能查看状态,查看进程不一定代表zk启动了,zk的状态才能代表zk的启动

./zkServer.sh status

⑤jps查看进程

jps

 

(2)停止ZK集群

①停止集群

./zkServer.sh stop

 ②停止Hadoop2和Hadoop3集群

3.编辑ZK集群启动和停止脚本

(1)编辑脚本文件

①切换目录

cd /opt/script/

②编辑zk.sh集群控制脚本

vim zk.sh

③脚本文件

#./bin/base

case $1 in
"start"){
    for i in hadoop1 hadoop2 hadoop3
    do
        echo "------------- $1 --------------"
        ssh $1 "/opt/server/zookeeper-3.8.3/bin/zkServer.sh start"
    done
};;
"stop"){
    for i in hadoop1 hadoop2 hadoop3
    do
        echo "------------- $1 --------------"
        ssh $1 "/opt/server/zookeeper-3.8.3/bin/zkServer.sh stop"
    done
};;
"status"){
    for i in hadoop1 hadoop2 hadoop3
    do
        echo "------------- $1 --------------"
        ssh $1 "/opt/server/zookeeper-3.8.3/bin/zkServer.sh status"
    done
};;
esac
 

④授权

chmod 777 zk.sh 

(2)启动和停止ZK集群

①启动ZK集群

./zk.sh start 

 ②查看进程

jps

③查看集群状态

./zk.sh status

④停止ZK集群

./zk.sh stop

⑤查看ZK结束状态

./zk.sh status

三、Kafka安装与部署

 1.kafka安装与配置

(1)下载并解压kafka安装包

①kafka官网

Apache Kafka

②选择版本并上传

③ 解压并创建软连接

解压

tar -zxvf  kafka_2.11-2.4.1.tgz -C ../server/

创建软连接

ln -s  kafka_2.11-2.4.1/ kafka

(2)配置环境变量并发放

①修改配置文件

vim /etc/profile 

 

②配置环境变量

export KAFKA_HOME=/opt/server/kafka_2.11-2.4.1
export PATH=$PATH:$KAFKA_HOME/bin

③拷贝

 scp -r /etc/profile root@192.168.229.112(113): /etc/profile   (xsync /etc/profile)

2.修改配置文件

(1)修改kafka配置文件

①切换目录

cd /opt/server/kafka/config/

②编辑server.properties配置文件

vim server.properties

③修改配置文件

broker.id=0
log.dirs=/opt/server/kafka-2.11-2.4.1
zookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop3:2181/kafka

 ④创建logs目录

mkdir logs

 (2)分发到其他节点

①分发kafka

scp -r kafka_2.11-2.4.1/ root@192.168.229.112(113): /opt/server/

②编辑Hadoop2和Hadoop3配置文件

Hadoop2

Hadoop3

3.kafka集群启动和停止

 (1)启动kafka服务

①使用脚本启动ZK服务

./zk.sh start

②查看ZK状态

./zk.sh status

③切换目录

 cd /opt/server/kafka/bin/

④启动kafka

kafka-server-start.sh -daemon ../config/server.properties 

 ⑤查看状态

jps

 ⑥在Hadoop2和Hadoop3启动kafka

(2)停止kafka服务

①停止三台Hadoop的kafka

kafka-server-stop.sh -daemon ../config/server.properties

②停止ZK 

务必确保kafka服务完全停止,再关闭ZK服务,否则可能会丢失数据

4.编辑kafka集群启动和停止脚本

(1)编辑脚本文件

①切换目录

cd /opt/script/

②编辑kf.sh集群控制脚本

vim kf.sh

③脚本文件

#!/bin/bash
case $1 in
"start"){
        for i in hadoop1 hadoop2 hadoop3
        do
                 echo -------------------------------- $i kafka 启动 ---------------------------
                ssh $i "source /etc/profile;/opt/server/kafka/bin/kafka-server-start.sh -daemon /opt/server/kafka/config/server.properties"
        done
}
;;
"stop"){
        for i in hadoop1 hadoop2 hadoop3
        do
                echo -------------------------------- $i kafka 停止 ---------------------------
                ssh $i "/opt/server/kafka/bin/kafka-server-stop.sh"
        done
}
;;
esac

 ④授权

chmod 777 kf.sh

 (2)启动kafka集群

①启动ZK集群

./zk.sh start

②查看ZK状态

./zk.sh status

③启动kafka集群

./kf.sh start

④查看进程

./xcall.sh jps

 (3)停止kafka集群

①停止kafka集群

./kf.sh stop

②停止zk集群

./zk.sh stop

谢谢观看 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值