Linux下ZooKeeper分布式集群安装教程
时间:2019-04-11
本文章向大家介绍Linux下ZooKeeper分布式集群安装教程,主要包括Linux下ZooKeeper分布式集群安装教程使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
ZooKeeper 就是动物园管理员的意思,它是用来管理 Hadoop(大象)、Hive(蜜蜂)、pig(小猪)的管理员,Apache Hbase、Apache Solr、Dubbo 都用到了 ZooKeeper,其实就是一个集群管理工具,是集群的入口。ZooKeeper 是一个分布式的、开源的程序协调服务,是 Hadoop 项目下的一个子项目。ZooKeeper 主要应用场景包括集群管理(主从管理、负载均衡、高可用的管理)、配置文件的集中管理、分布式锁、注册中心等。实际项目中,为了保证高可用,ZooKeeper 都是以分布式集群的方式进行安装的,至少需要三个节点,下面具体来看下。
这里 Linux 选择 CentOS 7.2。
# wget -P /usr/local http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz # cd /usr/local # tar -zxvf zookeeper-3.4.10.tar.gz # cd zookeeper-3.4.10 # mkdir data # mkdir logs # vim /etc/rc.d/rc.local //配置开启自启动
追加如下配置即可:
export JAVA_HOME=/usr/java/jdk /usr/local/zookeeper-3.4.10/bin/zkServer.sh start
我们在三台不同的服务器上各部署一个 ZooKeeper 进程,以构成一个 ZooKeeper 集群。三个 ZooKeeper 进程均使用相同的 zoo.cfg 配置:
# cd /usr/local/zookeeper-3.4.10/conf # cp zoo_sample.cfg zoo.cfg //拷贝配置文件 # vim zoo.cfg
修改配置如下:
# 配置存储快照文件的目录 dataDir=/usr/local/zookeeper-3.4.10/data dataLogDir=/usr/local/zookeeper-3.4.10/logs # zk服务进程监听的TCP端口 clientPort=2181 # 2888:ZooKeeper服务之间通信的端口,3888:ZooKeeper与其他应用程序通信的端口 # server.1:表示这是第几号服务器 server.1=192.168.20.11:2888:3888 server.2=192.168.20.12:2888:3888 server.3=192.168.20.13:2888:3888
然后在三台服务器 dataDir 目录下,分别创建一个 myid 文件,其内容分别为1,2,3。然后分别在这三台机器上启动 ZooKeeper 进程,这样我们便将 ZooKeeper 集群启动了起来。如下:
# cd /usr/local/zookeeper-3.4.10/data # echo 1 >>myid //创建myid文件并写入1 # /usr/local/zookeeper-3.4.10/bin/zkServer.sh start //后台启动ZooKeeper
还有一些其他命令如下:
# /usr/local/zookeeper-3.4.10/bin/zkServer.sh stop //关闭ZooKeeper # /usr/local/zookeeper-3.4.10/bin/zkServer.sh status //查看服务状态 # /usr/local/zookeeper-3.4.10/bin/zkServer.sh start-foreground //前台启动
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP树形结构tree类用法示例
- PHP PDOStatement::errorCode讲解
- Laravel框架搜索分页功能示例
- 解决Keras TensorFlow 混编中 trainable=False设置无效问题
- 浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
- 使用 prometheus python 库编写自定义指标的方法(完整代码)
- PHP PDOStatement::fetchColumn讲解
- PHP PDOStatement::bindValue讲解
- PDO::lastInsertId讲解
- thinkPHP框架RBAC实现原理分析
- PHP PDOStatement::debugDumpParams讲解
- PDO::prepare讲解
- sklearn的predict_proba使用说明
- 如何使用python记录室友的抖音在线时间
- 使用keras实现BiLSTM+CNN+CRF文字标记NER