Zookeeper 正常部署
Zookeeper 集群的正常部署并启动
解压 & 配置环境变量
[root@master src]# tar -zxvf zookeeper-3.4.5.tar.gz [root@master src]# pwd /usr/local/src # 追加到环境变量 [root@master zookeeper]# vi ~/.bash_profile # zookeeper export ZK_HOME=/usr/local/src/zookeeper-3.4.5 export PATH=$PATH:$ZK_HOME/bin: [root@master src]# source ~/.bash_profile
修改 zoo.cfg 文件
进入到 ZooKeeper 的 conf/ 目录下
# 拷贝 zoo_sample.cfg 并重命名为 zoo.cfg [root@master conf]# cp zoo_sample.cfg zoo.cfg
打开 zoo.cfg 文件
# 第一处修改这个路径需要自己创建好 # example sakes. dataDir=/usr/local/src/zookeeper-3.4.5/DataZk # 在最后添加,指定myid集群主机及端口,机器数必须为奇数 server.1=192.168.176.48:2888:3888 server.2=192.168.176.49:2888:3888 server.3=192.168.176.50:2888:3888
修改 myid
添加 Zookeeper 用于识别当前机器的 ID
# 进入 创建的 DataZk 目录 [root@master DataZk]# echo 1 > myid [root@master DataZk]# cat myid 1 # myid文件中为 1 ,即表示当前机器为在 zoo.cfg 中指定的 server.1
分发配置
[root@master src]scp -r /usr/local/src/zookeeper-3.4.5/ root@slave1:/usr/local/src/ [root@master src]scp -r /usr/local/src/zookeeper-3.4.5/ root@slave2:/usr/local/src/
修改其他机器的myid文件
# 在 slave1 上 root@slave1 src]# echo 2 > /usr/local/src/zookeeper/DataZk/myid # 在 slave2 上 root@slave2 src]# echo 3 > /usr/local/src/zookeeper/DataZk/myid
启动 Zookeeper 集群
在 Zookeeper 的 bin/ 目录下启动
# 分别在 master、slave1、slave2 执行 ./zkServer.sh start [root@master bin]# ./zkServer.sh start JMX enabled by default Using config: /usr/local/src/zookeeper/zookeeper-3.4.5/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
查看状态 只有其中一个是 leader ,其他的都是 follower
# master 查看状态 [root@master bin]# ./zkServer.sh status JMX enabled by default Using config: /usr/local/src/zookeeper/zookeeper-3.4.5/bin/../conf/zoo.cfg Mode: leader # slave1 查看状态 [root@slave1 bin]# ./zkServer.sh status JMX enabled by default Using config: /usr/local/src/zookeeper/zookeeper-3.4.5/bin/../conf/zoo.cfg Mode: follower # slave2 查看状态 [root@slave2 bin]# zkServer.sh status JMX enabled by default Using config: /usr/local/src/zookeeper/zookeeper-3.4.5/bin/../conf/zoo.cfg Mode: follower
Hadoop 正常部署
Hadoop 集群的正常部署并启动
Hbase 安装配置
解压 & 配置环境
[root@node1 src]# tar -zxvf hbase-1.2.0-bin.tar.gz -C /usr/local/src [root@node1 soft]# vim /etc/profile 追加上 # Hbase export HBASE_HOME=/usr/local/src/hbase-1.2.0 export PATH=$PATH:$HBASE_HOME/bin: [root@node1 hbase-1.2.0]# source /etc/profile
修改配置文件
hbase-env.sh 修改
# 第一处 # The java implementation to use. Java 1.7+ required. export JAVA_HOME=/usr/local/src/jdk1.8.0_221 # 第二处 改为 false,禁用 HBase 自带的 Zookeeper。 # Tell HBase whether it should manage it's own instance of Zookeeper or not. export HBASE_MANAGES_ZK=false
hbase-site.xml 修改
<!-- HBase 数据存储的位置 --> <property> <name>hbase.rootdir</name> <value>hdfs://node1:9000/HBase</value> </property> <!-- true 开启集群模式 --> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <!-- 0.98 后的新变动,之前版本没有.port,默认端口为 60000 --> <property> <name>hbase.master.port</name> <value>16000</value> </property> <!-- zookeeper 地址 --> <property> <name>hbase.zookeeper.quorum</name> <value>node1,node2,node3</value> </property> <!-- ZooKeeper的zoo.conf中的配置。 快照的存储位置 --> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/usr/local/src/zookeeper-3.4.5/dataDir</value> </property>
regionservers 修改
指定运行 regionservers 进程
的机器。
修改 conf/
下的 regionservers
文件,删除 原本的localhost , 加上其他节点名称。
node1 node2 node2
软连接 hadoop 配置文件到 HBase
# hadoop 的 core-site.xml & hdfs-site.xml 文件 [root@node1 conf]# ln -s /usr/local/src/hadoop-2.6.0/etc/hadoop/core-site.xml /usr/local/src/hbase-1.2.0/conf/core-site.xml [root@node1 conf]# ln -s /usr/local/src/hadoop-2.6.0/etc/hadoop/hdfs-site.xml /usr/local/src/hbase-1.2.0/conf/hdfs-site.xml
分发配置
# 分发配置 [root@node1 conf]# for i in {2..3};do scp -r /usr/local/src/hbase-1.2.0 root@node${i}:/usr/local/src/;done # 分发环境变量 [root@node1 conf]# for i in {2..3};do scp root@node${i}:/etc/profile;done # 记得去 其他机器 source /etc/profile
启动
一步一步的启动
# 首先启动 Master [root@node1 conf] hbase-daemon.sh start master # 然后每台机器启动 regionserver [root@node1 conf] hbase-daemon.sh start regionserver
提示:如果集群之间的节点时间不同步,会导致 regionserver 无法启动,抛出
- 方案一:
同步时间服务
// 同步为北京时间 [root@node1 conf] yum install ntpdate [root@node1 conf] ntpdate -u ntp.api.bz [root@node1 conf] ntpdate ntp1.aliyun.com // 查看时间 [root@node1 conf] date
- 方案二:属性
hbase.master.maxclockskew
设置更大的值
<property> <name>hbase.master.maxclockskew</name> <value>180000</value> <description>Time difference of regionserver from master</description> </property>
一键启动 & 关闭
# 启动 [root@node1 conf] start-hbase.sh # 关闭 [root@node1 conf] start-hbase.sh stopping hbase...............
验证
Hbase WEB UI 界面:http://192.168.176.84:16010
启动备用节点
Hbase 在设计之初就考虑到了高可用
,所以 能非常方便的使用
只需要在
任意一台机器再启动一个 master
,那这台机器就自动变成 Hbase备用Master
。
# 在 node2 启动一个 master [root@node2 conf]# hbase-daemon.sh start master
版权声明:《 Hbase 1.2.0 高可用 集群安装 》为明妃原创文章,转载请注明出处!
最后编辑:2020-4-15 11:04:53