zookeep集群安装

Zookeeper集群安装

1      集群规划

构建高可用的大数据集群需要使用zookeeper实现hdfs和hbase的自动切换。所以第一步首先是安装zookeeper,我采用了数据与安装程序分离的策略。zookeeper进程是轻量化进程,安装在datanode中

Hadoop-slave1

192.168.2.102

Zookeeper

Hadoop-slave2

192.168.2.103

Zookeeper

Hadoop-slave3

192.168.2.104

Zookeeper

目录结构

/home/hadoop/

         |--zookeeper

                   |--zookeeper-3.4.9

                   |--data

                            |--log

2      部署步骤

将zookeeper-3.4.9.tar.gz 上传到hadoop-slave1的/home/hadoop/zookeeper目录下解压。然后创建如1中所说的目录结构。

2.1   修改环境变量

vim ~/.bash_profile

source .bash_profile

2.2   修改配置文件

cd ~/zookeeper/zookeeper-3.4.9

cp zoo_sample.cfg zoo.cfg

vim zoo.cfg

2.3   创建myid

cd ~/zookeeper/data/

echo “1” >> data/myid

2.4   修改zkEnv.sh

cd ~/zookeeper/zookeeper-3.4.9/bin

vim zkEnv.sh

修改:

if [ "x${ZOO_LOG_DIR}" ="x" ]

then

  ZOO_LOG_DIR="$ZOOKEEPER_HOME/logs"

fi

if [ "x${ZOO_LOG4J_PROP}" ="x" ]

then

  ZOO_LOG4J_PROP="INFO,ROLLINGFILE"

fi

2.5   修改log4j.properties

cd ~/zookeeper/zookeeper-3.4.9/conf

vim log4j.properties

zookeeper.root.logger=INFO,ROLLINGFILE

2.6   创建logs目录

mkdir –p ~/zookeeper/zookeeper-3.4.9/logs

2.7   将zookeeper目录传递其他主机

scp –r ~/zookeeper hadoop-slave2:~/

scp –r ~/zookeeper hadoop-slave3:~/

2.8   修改其他主机myid

在hadoop-slave2

echo “2” > ~/zookeeper/data/myid

在hadoop-slave3

echo “3” > ~/zookeeper/data/myid

2.9   常用用

zkServer.sh start

zkServer.sh stop

zkServer.sh status

3      集群同步时钟

3.1   同步时区

查看时期

date –R

上海为+0800 东八区

修改设置时区

tzselect

复制相应的时区文件

cp /usr/share/zoneinfo/Asia/Shanghai   /etc/lcoaltime

 

3.2   同步时间

3.2.1  安装

在hadoop-master1

sudo yum install ntp

3.2.2  配置

vim /etc/ntp.conf

在后面加上

 

server 127.127.1.0

 

Fudge 127.127.1.0 stratum 10

3.2.3  命令

启动

sudo systemctl start ntpd

关闭:sudo systemctl stop ntpd

开机启动:sudo systemctl enable ntpd

3.3   其他机器同步

•等待大概五分钟,再到其他机上同步该机器时间(先确保时区一样,否则同步以后时间也是有时区差的)

 

ntpdate IP地址(主机的)

 

Date查看时间是否同步完成。

 

3.4   可定时同步

yum install crontabs

 

crontab -e 编辑内容: * */12 * * */usr/sbin/ntpdate 172.72.103.228(每12个小时更新一次,也可特定时间更新一次,格式可网上查找)

 

保存退出即可,可以到/var/spool/mail/下查看记录

### 安装Kafka与Zookeeper使用Docker 为了在Docker环境中部署Kafka及其依赖组件Zookeeper,可以采用官方推荐的方式通过Docker Compose简化这一过程。具体操作如下: #### 准备工作环境 确保本地已安装Docker以及Docker Compose工具。 #### 创建项目目录结构 建立一个新的文件夹作为项目的根目录,在此示例中命名为`kafka-docker`: ```bash mkdir kafka-docker && cd kafka-docker ``` 在此路径下创建名为`.env`的文件用于定义一些全局变量,这有助于后续版本升级或参数调整时更加方便[^1]: ```properties # .env 文件内容 KAFKA_ADVERTISED_HOST_NAME=localhost ZOOKEEPER tickTime=2000 ZOOKEEPER initLimit=5 ZOOKEEPER syncLimit=2 ``` 接着在同一级目录内新建一个名为`docker-compose.yml`的服务编排配置文件,其内部应包含两个服务实例——一个是Zookeeper另一个则是Kafka本身: ```yaml version: '2' services: zookeeper: image: wurstmeister/zookeeper:latest ports: - "2181:2181" kafka: image: wurstmeister/kafka:2.13-2.8.0 depends_on: - zookeeper ports: - "9092:9092" environment: KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 ``` 上述YAML文档描述了一个简单的Kafka集群设置方案,其中指定了所使用的镜像版本号、端口映射关系以及其他必要的环境变量配置项。 #### 启动容器化应用 完成以上准备工作之后就可以执行启动命令了: ```bash docker-compose up -d ``` 这条指令会依据之前编写好的compose脚本自动拉取所需的镜像资源并初始化相应的运行实例;而选项 `-d` 则表示以后台守护进程的形式保持程序持续运作状态。 此时可以通过访问 `http://localhost:9092` 来验证Kafka服务器是否正常对外提供服务(注意实际情况下可能需要根据实际情况修改地址)。对于更深入的功能测试,则建议参照官方提供的客户端样例进一步探索。 #### 停止和清理 当不再需要这些正在运行中的容器时,可通过下面两条命令安全地停止它们并将所有关联的数据卷一同移除掉以释放磁盘空间: ```bash docker-compose down --volumes ``` 这样就完成了整个基于Docker平台搭建Kafka消息队列系统的全过程介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值