Zookeeper+Hadoop+Hbase+Hive+Kylin+Nginx集群搭建四(Hbase篇)
- 五、Hbase集群搭建
- 1.准备工作(下载与时间同步)
- 2.安装解压
- 3.环境变量配置
- 4.文件配置
- 六、启动Hbase
- 1.启动zookeeper
- 2.启动Hadoop
- 2.1格式化HDFS
- 2.2启动HDFS
- 2.3启动YARN
- 2.4Hadoop启动校验
- 3.Hbase启动
- 4.问题
五、Hbase集群搭建
1.准备工作(下载与时间同步)
官网下载合适的hbase版本,要求能与上面安装的zookeeper、hadoop版本兼容
- 安装hbase之前必须要保证的是三台服务器的时间保持同步,推荐使用ntp完成时间配置(安装ntp:yum install ntp)
方法一:在虚拟机上安装ntp服务
yum install -y ntpdate
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ntpdate -u ntp.api.bz
方法二:设置虚拟机
设置虚拟机,找到【选项】——【vmwaretools】 ——【点击将客户端时间与主机同步】——【确定】
2.安装解压
#创建安装文件夹
mkdir /usr/local/hbase
#上传文件到此位置
#解压
tar -zxvf hbase-1.4.13-bin.tar.gz
3.环境变量配置
编辑vim /etc/profile文件
vim /etc/profile
#文末添加:
export HBASE_HOME=/usr/local/hbase/hbase-1.4.13
#修改PATH项:在PATH项的$PATH 末尾添加(记住":"不能少)
:$HBASE_HOME/bin
保存,退出,source /etc/profile
使之生效。
Hbase的配置文件在conf目录下,首先复制hadoop的hdfs-site.xml到conf目录下(cp命令即可)
4.文件配置
进入conf目录:
- 修改hbase-env.sh
vim hbase-env.sh
修改内容:
export JAVA_HOME=/usr/local/java/jdk1.8.0_261 #Java安装路径
export HBASE_MANAGES_ZK=false #由HBase负责启动和关闭Zookeeper
export HBASE_CLASSPATH=$HBASE_CLASSPATH:/usr/local/hbase/hbase-1.4.13/conf:/usr/local/hbase/hbase-1.4.13/lib:/usr/local/hadoop/hadoop-2.7.4/etc/hadoop
保存退出
- 修改hbase-site.xml
修改configuration标签内容:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.88.129:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/usr/data/hbase/tmp</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>192.168.88.129,192.168.88.130,192.168.88.131</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
</configuration>
其中hbase.zookeeper.quorum配置的是之前安装好的zookeeper集群,对应即可
创建上面的hbase.tmp.dir文件:
cd /usr/data
mkdir hbase
mkdir hbase/tmp
- 配置conf/regionservers
加入下面内容(即主、从节点的IP):
192.168.88.129
192.168.88.130
192.168.88.131
每个节点都需这么配置,所以也可以直接发送到其他节点,再进行相对修改即可:
scp -r /usr/local/hbase/hbase-1.4.13/ 192.168.88.130:/usr/local/hbase/
scp -r /usr/local/hbase/hbase-1.4.13/ 192.168.88.131:/usr/local/hbase/
六、启动Hbase
按顺序来:
1.启动zookeeper
在每个节点上运行:
zkServer.sh start (启动)
zkServer.sh stop (终止)
查看当前zookeeper的运行状态:(一个leader,其余follower)
zkServer.sh status
启动第一台后状态可能不对,不要紧张,当三台全启动后就好了
2.启动Hadoop
所有节点执行:
hadoop-daemon.sh start journalnode
校验命令,查看进程:
jps
2.1格式化HDFS
主节点执行命令(最好自己手敲,复制可能出错):
hdfs namenode -format
或者:
hadoop namenode -format
2.2启动HDFS
仅在主节点执行命令:
start-dfs.sh
2.3启动YARN
同样只在主节点:
start-yarn.sh
2.4Hadoop启动校验
见上文Hadoop集群搭建中的 启动测试 部分
3.Hbase启动
仅在主节点(node)执行
start-hbase.sh
在各个节点用jps
查看进程是否存在:
- 主节点为HMaster/HRegionServer,从节点为HRegionServer
注意:在哪个主机执行start命令,则该主机为master
单独启动Hregionserver的命令为:
hbase-daemon.sh start regionserver
启动集群中所有的regionserver
./hbase-daemons.sh start regionserver
启动某个regionserver
./hbase-daemon.sh start regionserver
hbase默认的web界面地址为:http://master-ip:16010:
本文为:http://192.168.88.129:16010
4.问题
本文一直使用的IP,前面一直没事,但启动Hbase时会出现问题
查看regionserver的log日志:
regionserver.HRegionServer:reportForDuty failed;sleeping and then retrying.
regionserver.HRegionServer:reportForDuty to master=localhost,6000,139xxxxxx with port=60020,startcode=139xxxxxx
regonserver.HRegionServer:error telling master we are up
java.net.ConnectException:Connection refused
注意到master=localhost , 但这不对,master不可能等于localhost
查看三台节点的主机名,发现都为localhost,因而猜想是否此处有问题,更改每台主机名:
通过命令行进行更改:IP是129的主机名改为node,130改为node1,131改为node2
#129上执行:
hostnamectl set-hostname node
#130上执行:
hostnamectl set-hostname node1
#131上执行:
hostnamectl set-hostname node2
在每个节点使用hostname
命令查看是否改名成功
并为每个节点添加映射:
#修改文件/etc/hosts
vi /etc/hosts
加入以下内容:
192.168.88.129 node
192.168.88.130 node1
192.168.88.131 node2
之后可以测试一下ping 主机名
是否可以ping通,如,在主节点尝试:ping node1
都可以之后,重新进行步骤3.Hbase启动,启动成功