1. 安装JDK

1.1 官网下载JDK

进入网址<a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html">JDK官网</a>
选择对应jdk版本下载

1.2 建立Java安装目录

cd /usr # 路径根据自己意愿选择
mkdri java

1.3 将下载的压缩包放入安装目录下

cp jdk-8u60-linux-x64.tar.gz  /usr/java/

1.4 解压

tar -zxvf jdk-8u60-linux-x64.tar.gz

1.5 配置环境变量

vi /etc/profile  # 打开文件

添加Java的路径, 将下面内容添加到文件结尾

export JACA_HOME=/usr/java/jdk1.8.0_60 # java解压后的目录
export CLASSPATH=$JAVA_HOME/lib/
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin

1.6 重新加载环境变量

source /etc/profile

1.7 检查是否安装成功

java -version

出现版本信息则代表安装成功

java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) Client VM (build 25.60-b23, mixed mode)

2 安装ZooKeeper

2.1 下载压缩包

<a href="http://zookeeper.apache.org/releases.html"> 官网地址</a>

<a href="https://archive.apache.org/dist/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz">zookeeper-3.4.5.tar.gz</a>

2.2 解压

su -hadoop #切换到hadoop用户
tar -zxvf zookeeper-3.4.5.tar.gz

2.3 重命名

mv zookeeper-3.4.5 zookeeper # 将解压后的文件夹重命名,方便后续操作

2.4 修改环境变量

su -root # 切换到root用户操作
vi /etc/profile # 打开文件
# 在profile文件结尾添加内容
export ZOOKEEPER_HOME=/home/hadoop/zookeeper # zookeeper的解压目录
export PATH=$PATH:$ZOOKEEPER_HOME/bin

2.5 重新加载环境变量

source /etc/profile

2.6 修改配置文件

su -hadoop # 切换用户
cd zookeeper/conf # 进入配置文件目录
cp zoo_sample.cfg zoo.cfg # 复制一份配置文件模版
vi zoo.cfg # 打开配置文件进行修改
# zoo.cfg文件, 添加以下内容
dataDir=/home/hadoop/zookeeper/data # 数据存放目录
dataLogDir=/home/hadoop/zookeeper/log # 日志存放目录
server.1=server1:2888:3888 # (主机名, 心跳端口、数据端口) 搭建集群的其他服务器的信息 server1是在/etc/hosts文件中进行域名映射的主机名,如果没有做映射那么就使用ip地址
server.2=server2:2888:3888
server.3=server3:2888:3888

2.7 创建文件夹

cd /home/hadoop/zookeeper
mkdir -m 755 data # 是在配置文件中设置的目录
mkdir -m 755 log

2.8 添加myid

# 进入data文件夹
cd data
# 创建新文件 myid
vi myid
# myid 文件 添加内容是在配置文件中设置的主机对应的数字
1

2.9 集群分发

# 分发zoopkeeper
scp -r /home/hadoop/zookeeper hadoop@server2:/home/hadoop/
scp -r /home/hadoop/zookeeper hadoop@server3:/home/hadoop/
# 分发环境配置
scp /etc/profile root@server2:/etc/profile
scp /etc/profile root@server3:/etc/profile
# 修改其他服务器上的myid
# 在server2上将myid文件的内容修改为 2
# 在server3上将myid文件的内容修改为 3

2.10 启动

zkServer.sh start # 注意:每台服务器都要启动

2.11 查看集群状态

jps  # 查看进程

出现QuorumPeerMain进程代表启动成功

2125 QuorumPeerMain
2159 Jps

zkServer.sh status # 查看集群的状态,主从信息

会输出以下信息

ZooKeeper JMX enabled by default

Using config: /root/zookeeper/bin/../conf/zoo.cfg # 配置文件路径

Mode: leader/ follower # leader代表老大,follower代表小弟

3. ZooKeeper集群启动shell脚本

3.1 创建shell文件

vi /home/hadoop/ZK_All_Start.sh # 名字自己愿意取啥都行

在文件中添加下面内容

#!/bin/bash
echo "开始启动zookeeper服务..." for i in 1 2 3
do
echo "正在启动server0$i的zookeeper服务..."
# 需要将server修改为自己集群的主机名 我的主机名分别为server1, server2, server3
ssh server$i "source /etc/profile;/home/hadoop/zookeeper/bin/zkServer.sh start"
# /home/hadoop/zookeeper/bin/zkServer.sh start 这里需要修改为自己的解压路径
done

3.2 添加可执行权限

chmod +x /home/hadoop/ZK_All_Start.sh

3.3 使用方法

./ZK_All_Start.sh # 需要shell脚步的目录

作者:python_LiuYi
链接:https://www.jianshu.com/p/a172c0d9704f

ZooKeeper集群详细安装教程的更多相关文章

  1. ZooKeeper 集群的安装、配置---Dubbo 注册中心

    ZooKeeper 集群的安装.配置.高可用测试 Dubbo 注册中心集群 Zookeeper-3.4.6 Dubbo 建议使用 Zookeeper 作为服务的注册中心. Zookeeper 集群中只 ...

  2. Zookeeper 集群的安装及高可用性验证已完成!

    安装包 kafka_2.12-0.10.2.0.tgz zookeeper-3.3.5.tar.gz Java 环境 Zookeeper 和 Kafka 的运行都需要 Java 环境,Kafka 默认 ...

  3. Dubbo入门到精通学习笔记(十三):ZooKeeper集群的安装、配置、高可用测试、升级、迁移

    文章目录 ZooKeeper集群的安装.配置.高可用测试 ZooKeeper 与 Dubbo 服务集群架构图 1. 修改操作系统的/etc/hosts 文件,添加 IP 与主机名映射: 2. 下载或上 ...

  4. Zookeeper集群的安装和使用

    Apache Zookeeper 由 Apache Hadoop 的 Zookeeper 子项目发展而来,现已经成为 Apache 的顶级项目,它是一个开放源码的分布式应用程序协调服务,是Google ...

  5. zookeeper集群的安装和配置

    Zookeeper的目的是封装好复杂易出错的关键服务,将简单易用的接口和性能高效.功能稳定的系统提供给用户.Zookeeper有两种运行模式,单机模式(Standalone)和集群模式(Distrib ...

  6. zookeeper集群环境安装配置

    众所周知,Zookeeper有三种不同的运行环境,包括:单机环境.集群环境和集群伪分布式环境 在此介绍的是集群环境的安装配置 一.下载: http://apache.fayea.com/zookeep ...

  7. zookeeper集群的安装

    顾名思义zookeeper就是动物园管理员,他是用来管hadoop(大象).Hive(蜜蜂).pig(小猪)的管理员, Apache Hbase和 Apache Solr 的分布式集群都用到了zook ...

  8. ZooKeeper集群的安装、配置、高可用测试

    Dubbo注册中心集群Zookeeper-3.4.6 Dubbo建议使用Zookeeper作为服务的注册中心. Zookeeper集群中只要有过半的节点是正常的情况下,那么整个集群对外就是可用的.正是 ...

  9. 大数据集群环境 zookeeper集群环境安装

    大数据集群环境 zookeeper集群环境准备 zookeeper集群安装脚本,如果安装需要保持zookeeper保持相同目录,并且有可执行权限,需要准备如下 编写脚本: vi zkInstall.s ...

随机推荐

  1. 01.javascript之数据类型

    1.数据类型 JavaScript一共有六种数据类型.(ES6新增了第七种Symbol类型的值) 数值(Number) 字符串(String) 布尔值(boolean) undefined null ...

  2. JavaScript的 sourcemap 的理解

    当我们在使用vue-cli 开发项目完成后, 就要进行部署,执行npm run build 命令,你会发现它生成.js文件的同时,还会生成一个对应的.map 文件. 当时查了一下, .map 文件的主 ...

  3. rsync 服务器搭建遇到的问题

    问题一: @ERROR: chroot failed rsync error: error starting client-server protocol (code 5) at main.c(152 ...

  4. POJ1442-查询第K大-Treap模板题

    模板题,以后要学splay,大概看一下treap就好了. #include <cstdio> #include <algorithm> #include <cstring ...

  5. 洛谷P1048采药题解

    题目 这是一个裸的01背包,因为题目中没说可以采好多次,不多说上代码, #include<iostream> using namespace std; int main() { int n ...

  6. 各种MM(存储器)含义

    1.rom:read only memory 只读存储器 只能读,不能写. 2.ram:random access memory 随机存取存储器 可读可写. 3.fifo:first in first ...

  7. 【最短路算法】Dijkstra+heap和SPFA的区别

    单源最短路问题(SSSP)常用的算法有Dijkstra,Bellman-Ford,这两个算法进行优化,就有了Dijkstra+heap.SPFA(Shortest Path Faster Algori ...

  8. 【QML与C++混合编程】用QVariantList传递数组类型成员

    2017.5.8 更新:Record类要用指针,QObject 不能有拷贝函数. 我有一个C++中自定义的ReaderModel,继承自QAbstractListModel类,传递给了QML. 它的m ...

  9. 【BZOJ3576】江南乐(博弈论)

    [BZOJ3576]江南乐(博弈论) 题面 BZOJ 洛谷 题解 无论一堆石头怎么拆分,都并不能改变它是一个\(Multi-SG\)的事实. 既然每一组的\(F\)都是固定的,那么我们预处理所有的可能 ...

  10. 【Luogu3731】[HAOI2017]新型城市化(网络流,Tarjan)

    [Luogu3731][HAOI2017]新型城市化(网络流,Tarjan) 题面 洛谷 给定一张反图,保证原图能分成不超过两个团,问有多少种加上一条边的方法,使得最大团的个数至少加上\(1\). 题 ...