HBase学习01--Hbase的安装

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,如下:
# The java implementation to use.  Java 1.7+ required.
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.rootdirname>
    <value>file:///usr/local/hbase-1.1.3value>
  property>
  <property>
    <name>hbase.zookeeper.property.dataDirname>
    <value>/usr/local/hbase-1.1.3/zookeepervalue>
  property>
configuration>

1.4 启动单点hbase

启动hbase

cd /usr/local/hbase-1.1.3/
./bin/start-hbase.sh

使用jps, 发现HMaster服务起来了

进入命令行模式

./bin/hbase shell
Type "exit" 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.rootdirname>
    <value>hdfs://TEST:9000/hbasevalue>
property>
<property>
  <name>hbase.zookeeper.quorumname>
  <value>TEST,TEST1,TEST2value>
property>
<property>
  <name>hbase.zookeeper.property.dataDirname>
  <value>/usr/local/hbase-1.1.3/zookeepervalue>
property>
<property>
  <name>hbase.cluster.distributedname>
  <value>truevalue>
property>
configuration>

2.2 配置RegionServer

配置RegionServer节点

vi regionservers
添加集群hostname
TEST
TEST1
TEST2

2.3 在HBase中配置Hadoop的路径

  • 将Hadoop的配置文件目录配到HBase的CLASSPATH
  • 配置JAVA_HOME
  • HBASE_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
#配置JAVA环境变量
export JAVA_HOME=/usr/java/jdk1.7.0_79
#
export HBASE_MANAGES_ZK=false
#pid目录
export HBASE_PID_DIR=/usr/local/hbase-1.1.3/tmp/pidsi

2.4 在/etc/profile配置HBase的环境变量

vi /etc/profile

#hbase 
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的日志:发现是系统时间不一致导致,
HBase学习01--Hbase的安装_第1张图片
3、修改时间

- date -s '13:40:40'

4、重启HRegionServer

cd /usr/local/hbase-1.1.3/bin
./hbase-daemon.sh start regionserver

5、检查TEST2的HRegionServer已经起来了
HBase学习01--Hbase的安装_第2张图片

3、转过去检查TEST, TEST1 发现他俩的HRegionServer也挂了

WEB界面上是两个死的Region Server

HBase学习01--Hbase的安装_第3张图片

TEST2 刚才起来了 ,再查WEB界面 发现有了TEST2

HBase学习01--Hbase的安装_第4张图片

尝试启动所有的HRegionServer

HBase学习01--Hbase的安装_第5张图片

注意修改完成后单独启动HRegionServer节点:

启动集群中所有的regionserver

  • ./hbase-daemons.sh start regionserver

启动某个regionserver

  • ./hbase-daemon.sh start regionserver

三个总算都起来了

HBase学习01--Hbase的安装_第6张图片

但是每次系统时间不一致都会导致hadoop 、hbase出问题
所以要都三台节点进行时间同步,安装ntpd

你可能感兴趣的:(#,hbase,hbase)