赞
踩
【命令】rpm –qa | grep ntp
rpm –qa | grep ntp
若只有ntpdate而未见ntp,则需删除原有ntpdate。如:
【命令】yum –y remove ntpdate-4.2.6p5。。。(原有的ntpdata文件)
yum –y remove
【命令】yum –y install ntp
yum –y install ntp
vi /etc/ntp.conf
在server部分添加以下,并注释掉server 0 ~ n
server 127.127.1.0
Fudge 127.127.1.0 stratum 10
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# server 0.centos.pool.ntp.org iburst
# server 1.centos.pool.ntp.org iburst
# server 2.centos.pool.ntp.org iburst
# server 3.centos.pool.ntp.org iburst
# 当前节点IP地址
restrict 192.168.237.101 nomodify notrap nopeer noquery
# 集群所在网段的网关(Gateway),子网掩码(Genmask)
restrict 192.168.237.1 mask 255.255.255.0 nomodify notrap
server 127.127.1.0
Fudge 127.127.1.0 stratum 10
在server部分添加如下语句,将server指向主节点(当前主节点ip地址为192.168.237.101)。
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# server 0.centos.pool.ntp.org iburst
# server 1.centos.pool.ntp.org iburst
# server 2.centos.pool.ntp.org iburst
# server 3.centos.pool.ntp.org iburst
# 当前节点IP地址
restrict 192.168.237.102 nomodify notrap nopeer noquery
# 集群所在网段的网关(Gateway),子网掩码(Genmask)
restrict 192.168.237.1 mask 255.255.255.0 nomodify notrap
server 192.168.237.101
Fudge 192.168.237.101 stratum 10
【命令】
service ntpd start
并且设置开机自启动:
chkconfig ntpd on
【命令】
ntpstat
若出现synchronized则表示同步成功,需要耐心等待
解压zookeeper文件到/opt目录下,重命名为zkpr
tar -zxvf zookeeper-3.4.6.tar.gz -C /opt
cd /opt
mv zookeeper-3.4.6/ zkpr
在原来环境变量配置的基础上加上ZOOKEEPER_HOME
export ZOOKEEPER_HOME=/opt/zkpr
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin:$PATH
1.配置zoo.cfg文件:默认没有该文件,但提供了zoo_sample.cfg的模板文件
(1) 创建该文件:vi /opt/zkpr/conf/zoo.cfg
(2) 插入如下内容:
# The number of milliseconds of each tick tickTime=2000 # 最大访问数:不限制 maxClientCnxns=0 # The number of ticks that the initial # synchronization phase can take # 初始化最小进程数:50 initLimit=50 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. # 数据目录(因为默认目录定期会清理,所有改一个固定的目录) dataDir=/opt/zkpr/zkdata # 日志目录 dataLogDir=/opt/zkpr/zklogs # the port at which the clients will connect 默认端口号2181 clientPort=2181 # 配置三台以上的奇数台可用机器主机名或者ip,注如果不配集群不需要添加以下内容,2888是通信端口,3888是选举通信端口 server.1=hadoop01:2888:3888 server.2=hadoop02:2888:3888 server.3=hadoop03:2888:3888
注意点:如果是修改模板文件
mv zoo_sample.cfg zoo.cfg
要把对应的模板文件内的默认值注释掉,以下列出默认模板文件未注释部分
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper //需要修改为用户指定路径,并创建myid文件
clientPort=2181
要求:与配置文件中的数据目录、日志目录相同
#数据目录
dataDir=/opt/zkpr/zkdata
#日志目录
dataLogDir=/opt/zkpr/zklogs
创建语句:
mkdir /opt/zkpr/zkdata
mkdir /opt/zkpr/zklogs
(3)进入数据目录: cd /opt/zkpr/zkdata
(4)创建myid文件
输入对应机器主机名对应的server.后面的数字: vi myid
例:对应的主机名hadoop01,vi myid 输入1
其作用是用来选举,对应效果如下:
启动命令:zkServer.sh start
关闭命令:zkServer.sh stop
验证方式: jps,如果出现QuorumPeerMain服务即成功启动了,如下:
启动后判断leader/follow节点zkServer.sh status
若无配置环境变量,使用全路径启动:/opt/zkpr/bin/zkServer.sh status
ZooKeeper分布式环境搭建文档:
一、ZooKeeper运行环境搭建 1.1 分布式安装部署 0.前置条件 jdk已经安装完成。 三台机器防火墙已经关闭。 1.集群规划 在hadoop102、hadoop103和hadoop104三个节点上部署Zookeeper。 2.解压安装 (1)上传ZooKeeper安装包到hadoop102主机/opt/software目录下。这里还是使用CDH版本,具体包为zookeeper-3.4.5-cdh5.14.2.tar.gz。 (2)解压zookeeper安装包到/opt/install/目录下 [hadoop@hadoop102 software]$ tar -zxf zookeeper-3.4.5-cdh5.14.2.tar.gz -C /opt/install/ (3)建立软连接 [hadoop@hadoop102 software]$ ln -s /opt/install/zookeeper-3.4.5-cdh5.14.2 /opt/install/zookeeper (4)在/opt/install/zookeeper/这个目录下创建zkData [hadoop@hadoop102 software]$ cd /opt/install/zookeeper [hadoop@hadoop102 zookeeper]$ mkdir -p zkData (5)重命名/opt/install/zookeeper/conf这个目录下的zoo_sample.cfg为zoo.cfg [hadoop@hadoop102 zookeeper]$ cd /opt/install/zookeeper/conf [hadoop@hadoop102 conf]$ mv zoo_sample.cfg zoo.cfg 3.配置zoo.cfg文件 (1)具体配置 [hadoop@hadoop102 conf]$ vi zoo.cfg 修改dataDir的值,配置为下面的值。 dataDir=/opt/install/zookeeper/zkData 在文件末尾增加如下配置。 server.2=hadoop102:2888:3888 server.3=hadoop103:2888:3888 server.4=hadoop104:2888:3888 参数含义解释如下。 Server.A=B:C:D。 A:一个数字,表示每个服务器编号,注意必须唯一。 B:服务器的ip地址,规划了几个机器作为ZooKeeper服务器,就有几行记录,每一个机器都对应一行。 C:是这个服务器与集群中的Leader服务器交换信息的端口; D:如果集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。 4.集群操作 (1)在dataDri指定的目录/opt/install/zookeeper/zkData下创建一个myid的文件 [hadoop@hadoop102 zkData]$ touch myid (2)编辑myid文件 vi myid 在文件中添加与server对应的编号:如2。 (3)将配置好的zookeeper分发到其他机器上(这里使用的是Hadoop用户,自己做的时候是 用户名@主机名 ) [hadoop@hadoop102 ~]$ scp -r /opt/install/zookeeper/ hadoop@hadoop103:/opt/install/ [hadoop@hadoop102 ~]$ scp -r /opt/install/zookeeper/ hadoop@hadoop104:/opt/install/ 并分别在hadoop103、hadoop104修改myid文件中内容为3、4。 (4)配置环境变量 在每一台机器上给zookeeper配置环境变量。 [hadoop@hadoop102 zookeeper]$ vi /etc/profile 添加如下配置。 export ZK_HOME=/opt/install/zookeeper export PATH=$ZK_HOME/bin:$ZK_HOME/sbin:$PATH 让配置文件生效。 [hadoop@hadoop102 zookeeper]$ source /etc/profile (5)分别启动zookeeper服务 [hadoop@hadoop102 ~]$ zkServer.sh start [hadoop@hadoop103 ~]$ zkServer.sh start [hadoop@hadoop104 ~]$ zkServer.sh start (6)jps查看进程 [hadoop@hadoop102 ~]$ jps 3329 Jps 3311 QuorumPeerMain (7)查看状态(正常情况下是一个leader,两个follower,只有一台的时候是standalone模式) [hadoop@hadoop102 ~]$ zkServer.sh status JMX enabled by default Using config: /opt/install/zookeeper/bin/../conf/zoo.cfg Mode: follower [hadoop@hadoop103 ~]$ zkServer.sh status JMX enabled by default Using config: /opt/install/zookeeper/bin/../conf/zoo.cfg Mode: leader [hadoop@hadoop104 ~]$ bin/zkServer.sh status JMX enabled by default Using config: /opt/install/zookeeper/bin/../conf/zoo.cfg Mode: follower 可以使用zkServer.sh stop关闭zookeeper服务。 1.2 配置参数解读(了解) zoo.cfg 文件中几个参数含义如下。 1.tickTime:通信心跳数,ZooKeeper服务器心跳时间,单位毫秒 Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳,时间单位为毫秒。 它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间。(session的最小超时时间是2*tickTime) 2.initLimit:LF初始通信时限 集群中的Follwer跟随者服务器与Leader领导者服务器(Leader)之间初始连接时能容忍的最多心跳数(tickTime的数量),用它来限定集群中的Zookeeper服务器连接到Leader的时限。投票选举新Leader的初始化时间,Follwer在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。Leader允许Follwer在initLimit时间内完成这个工作。 3.syncLimit LeaderFollwer同步通信时限 集群中Leader与Follwer之间的最大响应时间单位,假如响应超过syncLimit * tickTime,Leader认为Follwer死掉,从服务器列表中删除Follwer。在运行过程中,Leader负责与ZooKeeper集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果Leader发出心跳包在syncLimit之后,还没有从Follwer那收到响应,那么就认为这个Follwer已经不在线了。 4.dataDir 数据文件目录+数据持久化路径 保存内存数据库快照信息的位置,如果没有其他说明,更新的事务日志也保存到数据库。 5.clientPort: 客户端连接端口 监听客户端连接的端口
zkCli常用客户端命令:
进入zkCli客户端:zkCli.sh [zk: localhost:2181(CONNECTED) 2] help ZooKeeper -server host:port cmd args stat path [watch] set path data [version] ls path [watch] delquota [-n|-b] path ls2 path [watch] setAcl path acl setquota -n|-b val path history redo cmdno printwatches on|off delete path [version] sync path listquota path rmr path get path [watch] create [-s] [-e] path data acl //[-s]带序列编号的节点 [-e]临时节点 客户端退出后临时节点会自动删除 addauth scheme auth quit getAcl path close connect host:port
具体用法参考下篇博客:2020.9.15课堂笔记(zookeeper)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。