HBase学习01--Hbase的安装

    xiaoxiao2021-03-26  23

    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.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 #配置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的日志:发现是系统时间不一致导致, 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

    最新回复(0)