IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> ZooKeeper学习笔记一:集群搭建 -> 正文阅读

[大数据]ZooKeeper学习笔记一:集群搭建

作者:Grey

原文地址:ZooKeeper学习笔记一:集群搭建

说明

单机版的zk安装和运行参考:https://zookeeper.apache.org/doc/r3.7.0/zookeeperStarted.html

单机版的zk只适合用于测试或者开发环境,不适合用于生产环境。

本文主要介绍zk的集群搭建。

环境

  • CentOS 7
  • ZooKeeper 3.7.0

准备工作

第一步,准备四个Linux实例,zk01-zk04,我的四个实例的ip分别是:

  • zk01:192.168.150.128
  • zk02:192.168.150.130
  • zk03:192.168.150.131
  • zk04:192.168.150.132

第二步,在四个实例中都安装好jdk1.8。

安装与配置

我们只需要在一台实例上安装并配置好zk,然后把安装文件和配置文件scp到其他实例即可

在zk01中,下载并解压zk安装包:

cd /usr/local

## 如果下载失败,请手动下载并上传到/usr/local目录上
wget https://dlcdn.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz

## 解压
tar -xf apache-zookeeper-3.7.0-bin.tar.gz 

## 重命名
mv apache-zookeeper-3.7.0-bin zookeeper

加入环境变量

vi /etc/profile

在末尾加入:

export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

执行

source /etc/profile

修改zk配置文件:

# 把默认的zoo_sample.cfg拷贝一份zoo.cfg出来
cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg

修改zoo.cfg配置文件中的如下配置

dataDir=/data/zookeeper

增加如下配置到zoo.cfg中

server.1=192.168.150.128:2888:3888
server.2=192.168.150.130:2888:3888
server.3=192.168.150.131:2888:3888
server.4=192.168.150.132:2888:3888

创建zk01的dataDir目录

mkdir -p /data/zookeeper

在dataDir目录下创建一个myid文件,并写入1

echo 1 > /data/zookeeper/myid

至此,zk01实例已经完全配置好了,现在将zk01实例上的一些安装文件和配置文件拷贝到zk02-zk04上,

拷贝zk01上的profile文件到zk02-zk04三个节点

## 拷贝到zk02,过程中会让你输入yes,以及zk02的密码
scp /etc/profile 192.168.150.130:/etc

## 拷贝到zk03
scp /etc/profile 192.168.150.131:/etc

## 拷贝到zk04
scp /etc/profile 192.168.150.132:/etc

拷贝zk01的dataDir目录到zk02-zk04三个节点,在zk01上执行:

scp -r /data/ 192.168.150.130:/
scp -r /data/ 192.168.150.131:/
scp -r /data/ 192.168.150.132:/

拷贝zk01的zookeeper程序到zk02-zk04三个节点, 在zk01上执行:

scp -r /usr/local/zookeeper 192.168.150.130:/usr/local/
scp -r /usr/local/zookeeper 192.168.150.131:/usr/local/
scp -r /usr/local/zookeeper 192.168.150.132:/usr/local/

至此,zk02-zk04都准备好了相关文件,现在连接zk02-zk04,在zk02-zk04上分别执行如下操作

source /etc/profile

将zk02,zk03,zk04的myid文件,修改成对应的值

vi /data/zookeeper/myid

zk02的/data/zookeeper/myid修改成2
zk03的/data/zookeeper/myid修改成3
zk04的/data/zookeeper/myid修改成4

配置防火墙

firewall-cmd --zone=public --add-port=3888/tcp --permanent
firewall-cmd --zone=public --add-port=2888/tcp --permanent
firewall-cmd --zone=public --add-port=2181/tcp --permanent
firewall-cmd --reload

启动

在zk01-zk04上分别执行:

zkServer.sh start-foreground

查看leader和follower

[root@zk01 ~]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower

说明此节点是follower节点

[root@zk03 ~]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader

在任意节点通过zk客户端连接

zkCli.sh -server 127.0.0.1:2181

执行:

create /abc

set /abc "hello world"

其他节点都可以查看到

[zk: localhost:2181(CONNECTED) 0] get /abc
hello world
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-09 19:37:22  更:2021-11-09 19:38:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:07:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码