HBase学习01–Hbase的安装
一、单机模式:
1.1 解压软件包
tar -zxvf hbase-
1.1.3-bin
.tar.gz
1.2 配置JAVA_HOME环境变量
cd /usr/local/hbase-
1.1.
3/conf
vi hbase-env.sh 添加JAVA_HOME=/usr/java/jdk1.
7.0_79,如下:
export JAVA_HOME=/usr/java/jdk1.
7.0_79/
1.3 配置hbase-site.xml
需要配置HBase的路径和zookeeper的data dir.
cd /usr/local/hbase-1.1.3/conf
vi hbase-site.xml 添加如下:
<configuration>
<property>
<name>hbase.rootdir
</name>
<value>file:///usr/local/hbase-1.1.3
</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir
</name>
<value>/usr/local/hbase-1.1.3/zookeeper
</value>
</property>
</configuration>
1.4 启动单点hbase
启动hbase
cd /usr/
local/hbase
-1.1.3/
./bin/start
-hbase.sh
使用jps, 发现HMaster服务起来了
进入命令行模式
./bin/hbase shell
Type
"exit<RETURN>" to leave
the HBase Shell
Version
1.1.3, r72bc50f5fafeb105b2139e42bbee3d61ca724989, Sat Jan
16 18:
29:
00 PST
2016
hbase(main):
001:
0>
list
TABLE
0 row(s)
in 3.4040 seconds
=> []
hbase(main):
002:
0>
操作成功
二、完全分布式HBase
前期工作, 关闭防火墙, selinux, 配置无密码登陆, 在Hadoop集群中已经撇孩子。 接下了,需要配置HBase
2.1 配置Hbase-site.xml
hbase.rootdir: 该参数制定了HReion服务器的位置,即数据 存放的位置。主要端口号要和Hadoop相应配置一致。hbase.zookeeper.property.dataDir zookeeper的数据写入目录hbase.cluster.distributed: HBase的运行模式。false是单机模 式,true是分布式模式。 若为false, HBase和Zookeeper会运行在同一个JVM里面。默认为f alse.hbase.zookeeper.quorum: 下面为基本配置:
<configuration>
<property>
<name>hbase.rootdir
</name>
<value>hdfs://TEST:9000/hbase
</value>
</property>
<property>
<name>hbase.zookeeper.quorum
</name>
<value>TEST,TEST1,TEST2
</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir
</name>
<value>/usr/local/hbase-1.1.3/zookeeper
</value>
</property>
<property>
<name>hbase.cluster.distributed
</name>
<value>true
</value>
</property>
</configuration>
2.2 配置RegionServer
配置RegionServer节点
vi regionservers
添加集群hostname
TEST
TEST1
TEST2
2.3 在HBase中配置Hadoop的路径
将Hadoop的配置文件目录配到HBase的CLASSPATH配置JAVA_HOMEHBASE_MANAGES_ZK:#此配置信息,表示设置由hbase自己管理zookeeper,不需要单独的 zookeeper, 本文搭建的 Hbase 用的是自带的 zookeeper,故设置 为true.默认情况下pid文件保存在/tmp目录下,/tmp目录下的文件很容易丢 失,
解决办法:在hbase-env.sh中修改pid文件的存放路径
配置如下:
vi /hbase-env.sh
export HBASE_CLASSPATH=/usr/local/hadoop/etc/hadoop
export JAVA_HOME=/usr/java/jdk1.
7.0_79
export HBASE_MANAGES_ZK=
false
export HBASE_PID_DIR=/usr/local/hbase-
1.1.
3/tmp/pidsi
2.4 在/etc/profile配置HBase的环境变量
vi /etc/profile
export HBASE_HOME=/usr/local/hbase-
1.1.
3
export PATH=
$PATH:
$HBASE_HOME/bin
保存,使其生效
source /etc/profile
2.5 分发到其他节点
scp -r ./hbase-
1.1.
3 root
@TEST1:/usr/local/
scp -r ./hbase-
1.1.
3 root
@TEST1:/usr/local/
2.6 、启动hbase 集群
cd /usr/
local/hbase
-1.1.3/bin
./start
-hbase.sh
通过jps 查看三个节点都有HMaster和HRegionServer
于是将backup-masters清空
重启hbase之后,只有TEST上有HMaster, 但是出现一个问题 1、TEST2上的HRegionServer挂了, 不知道为什么 2、查看TEST的日志:发现是系统时间不一致导致, 3、修改时间
- date -s '13:40:40'
4、重启HRegionServer
cd /usr/
local/hbase
-1.1.3/bin
./hbase
-daemon.sh start regionserver
5、检查TEST2的HRegionServer已经起来了
3、转过去检查TEST, TEST1 发现他俩的HRegionServer也挂了
WEB界面上是两个死的Region Server
TEST2 刚才起来了 ,再查WEB界面 发现有了TEST2
尝试启动所有的HRegionServer
注意修改完成后单独启动HRegionServer节点:
启动集群中所有的regionserver
./hbase-daemons.sh start regionserver
启动某个regionserver
./hbase-daemon.sh start regionserver
三个总算都起来了
但是每次系统时间不一致都会导致hadoop 、hbase出问题 所以要都三台节点进行时间同步,安装ntpd。
转载请注明原文地址: https://ju.6miu.com/read-661049.html