02-Zookeeper介绍及安装
1 Zookeeper介绍
1.1 数据模型
1.2 主要角色
1.3 工作原理
1.4 主要特点
1.5 应用场景
2 Zookeeper安装
2.1 规划
2.2 zookeeper 批量分发脚本安装
cp ips ips_zookeeper
vim ips_zookeeper # 将机器名称写三个
cp scp_all.sh scp_all_zookeeper.sh
cp ssh_all.sh ssh_all_zookeeper.sh
cp ssh_root.sh ssh_root_zookeeper.sh
vim scp_all_zookeeper.sh
vim ssh_all_zookeeper.sh
vim ssh_root_zookeeper.sh
#将zookeeper的安装包【zookeeper-3.4.8.tar.gz】上传到/home/hadoop/up 目录下
rz
#将安装包分发到每个zookeeper 机器的 /tmp/ 目录下
./scp_all_zookeeper.sh ~/up/zookeeper-3.4.8.tar.gz /tmp/
#查看是否分发成功
./ssh_all_zookeeper.sh "ls /tmp | grep zo*"
#将/tmp/zookeeper-3.4.8.tar.gz 解压到 /usr/local/ 目录
./ssh_root_zookeeper.sh tar -xzf /tmp/zookeeper-3.4.8.tar.gz -C /usr/local/
#查看是否解压成功
./ssh_root_zookeeper.sh "ls -l /usr/local/ | grep zoo"
#修改每台机器的/usr/local/zookeeper-3.4.8,所属用户为hadoop
./ssh_root_zookeeper.sh chown -R hadoop:hadoop /usr/local/zookeeper-3.4.8
#修改每台机器的/usr/local/zookeeper-3.4.8的权限为770
./ssh_root_zookeeper.sh chmod -R 770 /usr/local/zookeeper-3.4.8
#查看是否修改成功
./ssh_root_zookeeper.sh "ls -l /usr/local | grep zookeeper-3.4.8"
#在每台机器上给/usr/local/zookeeper-3.4.8创建zookeeper软链接
./ssh_root_zookeeper.sh ln -s /usr/local/zookeeper-3.4.8/ /usr/local/zookeeper
#查看每台机器的软连接是否创建成功
./ssh_all_zookeeper.sh "ls -l /usr/local/ | grep zookeeper"
#修改每台机器软连接所属用户组
./ssh_root_zookeeper.sh chown -h hadoop:hadoop /usr/local/zookeeper
2.3 修改每个机器上的zookeeper 配置
#备份原来的配置目录
./ssh_all_zookeeper.sh cp -a /usr/local/zookeeper/conf /usr/local/zookeeper/conf_back
# 改名 zoo_sample.cfg 为 zoo.cfg (在 nn1 上)
mv zoo_sample.cfg zoo.cfg
# 修改为如下配置
vim zoo.cfg
#将zoo.cfg 配置文件批量拷贝到每台机器上
./scp_all_zookeeper.sh ~/up/zoo.cfg /usr/local/zookeeper/conf/
#检查是否拷贝成功
./ssh_root_zookeeper.sh ls /usr/local/zookeeper/conf/zoo.cfg
#批量删除zoo_sample.cfg 配置文件
./ssh_root_zookeeper.sh rm -f /usr/local/zookeeper/conf/zoo_sample.cfg
#批量检查是否删除成功
./ssh_root_zookeeper.sh ls /usr/local/zookeeper/conf/
2888: ledal 和 foler 之间通信使用
3888: 投票用
#拷贝zkEnv.sh到每台机器的zookeeper的bin目录下
./scp_all_zookeeper.sh /usr/local/zookeeper/bin/zkEnv.sh /usr/local/zookeeper/bin/
# 检查下(查看文件大小)
./ssh_all_zookeeper.sh 'ls -l /usr/local/zookeeper/bin | grep zkEnv.sh'
#5个机器一起创建 /data目录,因为以后安装hadoop的时候也使用
./ssh_root.sh mkdir /data
#把每个机器上的/data目录所有者修改为hadoop用户
./ssh_root.sh chown hadoop:hadoop /data
#批量验证
./ssh_root.sh "ls -l / | grep data"
#在每个机器的/data目录下创建myid文件
./ssh_all_zookeeper.sh touch /data/myid
# 第一台:
echo "1" > /data/myid
# 第二台:
echo "2" > /data/myid
# 第三台:
echo "3" > /data/myid
# 查看方式一:
cat /data/myid
# 查看方式二:
./ssh_all_zookeeper.sh cat /data/myid
2.4 给5个机器设置好环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_144
#/usr/bin/java 连接到 /usr/java/jdk1.8.0_144,可用/usr/bin/java 配置JAVA_HOME
#set Hadoop Path
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_HOME=${HADOOP_HOME}
export HADOOP_HDFS_HOME=${HADOOP_HOME}
export HADOOP_MAPRED_HOME=${HADOOP_HOME}
export HADOOP_YARN_HOME=${HADOOP_HOME}
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HDFS_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export YARN_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native:/usr/lib64
export HBASE_HOME=/usr/local/hbase
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin:$HIVE_HOME/bin:/usr/local/zookeeper/bin
#用root用户登录,拷贝/etc/profile 文件到 ~hadoop/up
su - root
# 修改下(追加以上内容)
vim /etc/profile
cp /etc/profile ~/hadoop/up
#将~hadoop/up/profile 拷贝到其他机器 /tmp 目录下
./scp_all.sh ~/up/profile /tmp/
#批量验证
./ssh_all.sh ls -l /tmp/
#批量拷贝到/etc/profile
./ssh_root.sh mv /tmp/profile /etc/
#批量验证
./ssh_root.sh tail /etc/profile
#批量source使配置生效
./ssh_root.sh source /etc/profile
./ssh_root.sh java -version
2.5 在每个机器上启动zookeeper服务并查看启动结果
#一般很大的stdou 和stderr 当你不关心的时候可以利用stdout 和stderr 定向到这里
./command.sh >/dev/null 2>&1 &
#批量启动
./ssh_all_zookeeper.sh /usr/local/zookeeper/bin/zkServer.sh start
./ssh_all_zookeeper.sh /usr/local/zookeeper/bin/zkServer.sh status
./ssh_all_zookeeper.sh /usr/local/zookeeper/bin/zkServer.sh stop
#批量查看java进程用jps
./ssh_all_zookeeper.sh jps
#或者用ps 查看
ps aux | grep zookeeper 或 ps -ef|grep zookeeper
#日志输出文件
cat /data/zookeeper.out
3 zookeeper使用
3.1 ZooKeeper服务命令
- 启动ZK服务: sh bin/zkServer.sh start
- 查看ZK服务状态: sh bin/zkServer.sh status
- 停止ZK服务: sh bin/zkServer.sh stop
- 重启ZK服务: sh bin/zkServer.sh restart
#查看每个机器ZK运行的状态
./ssh_all_zookeeper.sh /usr/local/zookeeper/bin/zkServer.sh status
#整体停止服务
./ssh_all_zookeeper.sh /usr/local/zookeeper/bin/zkServer.sh stop
3.2 zk客户端命令
显示根目录下、文件: ls2 / 查看当前节点数据并能看到更新次数等数据
创建文件,并设置初始内容: create /zk "test" 创建一个新的 znode节点“ zk ”以及与它关联的字符串
获取文件内容: get /zk 确认 znode 是否包含我们所创建的字符串
修改文件内容: set /zk "zkbak" 对 zk 所关联的字符串进行设置
删除文件: delete /zk 将刚才创建的 znode 删除
退出客户端: quit
帮助命令: help
#启动zkclient,并连接zookeeper集群
/usr/local/zookeeper/bin/zkCli.sh -server nn1.hadoop:2181,nn2.hadoop:2181,s1.hadoop:2181
02-Zookeeper介绍及安装的更多相关文章
- Zookeeper介绍及安装部署
本节内容: Zookeeper介绍 Zookeeper特点 Zookeeper应用场景 用到了Zookeeper的一些系统 Zookeeper集群安装部署 一.Zookeeper介绍 是一个针对大型分 ...
- ZooKeeper介绍,安装,配置文件解析
什么是ZooKeeper? ZooKeeper是用于维护配置信息,命名,提供分布式同步和提供组服务的集中式服务. 所有这些类型的服务都以分布式应用程序以某种形式或另一种形式使用.每次实施时,都有很多工 ...
- zookeeper介绍以及安装配置
Zookeeper启动时默认将Zookeeper.out输出到当前目录,不友好.改变位置有两种方法: 1:在当前用户下~/.bash_profile或在/etc/profile,添加ZOO_LOG_D ...
- 02 Vue介绍与安装,指令系统 v-*、音乐播放器
VUE文档 https://cn.vuejs.org/v2/guide/ 1.vue的介绍 尤雨溪 1.vue的优点 2.vue的介绍 3.vue的安装 4.声明式渲染 <body> &l ...
- Storm介绍及安装部署
本节内容: Apache Storm是什么 Apache Storm核心概念 Storm原理架构 Storm集群安装部署 启动storm ui.Nimbus和Supervisor 一.Apache S ...
- Kafka介绍及安装部署
本节内容: 消息中间件 消息中间件特点 消息中间件的传递模型 Kafka介绍 安装部署Kafka集群 安装Yahoo kafka manager kafka-manager添加kafka cluste ...
- zookeeper介绍(4)zookeeper的完整分布式
参考: zookeeper的单机和伪分布式教程请参考:zookeeper介绍(1)zookeeper介绍与安装 Zookeeper的完整分布式集群搭建: 准备好三台centos主机:(在这我使用的是z ...
- Zookeeper系列一:Zookeeper介绍、Zookeeper安装配置、ZK Shell的使用
https://www.cnblogs.com/leeSmall/p/9563547.html 一.Zookeeper介绍 1. 介绍Zookeeper之前先来介绍一下分布式 1.1 分布式主要是下面 ...
- zookeeper 介绍与集群安装
zookeeper 介绍 ZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization). ...
- zookeeper伪分布式安装
本文介绍zookeeper伪分布式安装. 所谓 “伪分布式集群” 就是在1台PC中启动多个zookeeper的实例.“完全分布式集群” 是每1台PC启动1个ZooKeeper实例. 由于我的测试环境P ...
随机推荐
- XML -- 为什么选择XML?
1.XML是什么,主要功能? XML全称(EXtensible Markup Language),是可扩展性标记语言. XML主要功能是用来传输和存储数据.它就是一种纯文本.只要程序能访问纯文本就能访 ...
- CDQ分治学习思考
先挂上个大佬讲解,sunyutian1998学长给我推荐的mlystdcall大佬的[教程]简易CDQ分治教程&学习笔记 还有个B站小姐姐讲解的概念https://www.bilibili.c ...
- ssh以及双机互信
当我们要远程到其他主机上面时就需要使用ssh服务了. 我们就来安装一下sshd服务以及ssh命令的使用方法. 服务安装: 需要安装OpenSSH 四个安装包: 安装包: openssh-5.3p1-1 ...
- 设置PyCharm中选择文本的背景颜色和代码中和选中单词相同单词的背景颜色
1 设置选中单词的背景颜色 首先进入File->Setting->Editor->Color Scheme后复制一个存在的颜色主题作为自定义的颜色主题(默认的颜色主题是无法修改的,也 ...
- BZOJ3033太鼓达人
第一问,1<<k,谁都看得出来. 毫无思路,暴搜,枚举每一个数列,Hash加map判断是否重复,拿到30,打表都打不出来. #include <iostream> #inclu ...
- django 网站上传资源的显示与配置
1. 上传资源的配置 1. 首先在项目里创建一个名称叫media的文件夹专门保存用户上传 2. settings.py文件配置上传资源的路径 # 上传资源路径,如果图片,上传文件等 MEDIA_UR ...
- eclipse外部导入Javaweb项目时,项目上出现红叉的一个可能的解决办法
解决办法:http://blog.csdn.net/qq_32671287/article/details/52467885 进入项目包下的.settings目录,找到org.eclipse.wst. ...
- 20165207 Exp8 Web基础
目录 20165207 Exp8 Web基础 0. 环境配置 0.1. apache 0.2. MySQL 0.3. php 0.4. php-mysql编程库 1. 前台HTML编写静态网页 2. ...
- window 下要运行php,需要编辑php环境变量
参考:https://blog.csdn.net/zhezhebie/article/details/72765262
- .NET DLL 保护措施详解(非混淆加密加壳)
为什么要保护DLL,我就不多说了,各人有各人的理由.总的来说,就是不想核心逻辑泄露及授权验证被破解两大方面的因素.市面上的混淆加密工具对.NET源码保护的效果天差地别,很多网上下到的混淆工具破解版对. ...