5.安装hbase

下载安装包并解压
设置hbase环境变量
配置hbase-site.xml
启动hbase
检测hbase启动情况
测试hbase shell

下载安装包并解压

https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/1.3.1/hbase-1.3.1-bin.tar.gz
…..
[[email protected] opt]$ tar -zxvf hbase-1.3.1-bin.tar.gz

设置hbase环境变量

[[email protected] opt]$ cd hbase-1.3.1/conf/
[[email protected] conf]$ vi hbase-env.sh
#### 看情况设置以下环境变量:
#export JAVA_HOME=/usr/java/jdk1.6.0/
#export HBASE_HEAPSIZE=1G #堆内存
#export HBASE_OPTS="-XX:+UseConcMarkSweepGC"  #jvm启动参数
#export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m" #hmaster
#export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"  #hregionserver
# export SERVER_GC_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps"  #gc相关
# export SERVER_GC_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:<FILE-PATH> -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=1 -XX:GCLogFileSize=512M"  #java 参数不太懂,自行修正
…………….

参数较多,请逐个检查.

最重要的就是JAVA_HOME,但我在/etc/profile里设置了,这里就不管了.

由于是做实验,这里我就设置一下log目录.关于hbase-evn.sh的设置,以后会详细讲解.

export HBASE_LOG_DIR=/var/log/hbase/

注意:如果没有在/etc/profile中设置HADOOP_CONF_DIR,则需要在hbase-evn.sh中设置HADOOP_CONF_DIR,否则hbase读不到hdfs-site.xml,无法找到hdfs.或者将hdfs-site.xml复制到$HBASE_HOME/conf/下也行.这里的hdfs-site.xml用客户端的配置即可.

配置hbase-site.xml

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://mycluster/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>hadoop3,hadoop4,hadoop5</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/hbase</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>HBASE_MANAGES_ZK</name>
    <value>false</value>
  </property>
</configuration>

上面的参数意思分别是:

hbase在hdfs的主目录

zookeeper服务器节点

hbase在zookeeper中的目录

hbase是否是分布式的

是否用hbase自带的zookeeper

启动hbase

首先使用hdfs账号为hbase授权:

[[email protected] root]$ hdfs dfs -mkdir /hbase
[[email protected] root]$ hdfs dfs -chown hbase:hbase /hbase

在hadoop1上启动master:

[[email protected] hbase-1.3.1]$ bin/hbase-daemon.sh start master

在hadoop3 hadoop4 hadoop5上启动hreigonserver:

[[email protected] hbase-1.3.1]$ bin/hbase-daemon.sh start regionserver

在需要的节点上启动master备份节点:

bin/hbase-daemon.sh start master --backup

检测hbase启动情况

1.jps检查

[[email protected] hbase-1.3.1]$ jps
25914 HMaster

[[email protected] hbase-1.3.1]$ jps
12623 HRegionServe

看到master和regionserver都启动了

2.打开hbase web

打开:http://hadoop1:16010/

发现没有一个hregoinser连接上master!!!

好吧,打开/var/log/hbase/下的regionserver日志发现:

2017-06-27 23:16:51,039 FATAL [regionserver/hadoop3/192.168.0.12:16020] regionserver.HRegionServer: Master rejected startup because clock is out of sync
org.apache.hadoop.hbase.ClockOutOfSyncException: org.apache.hadoop.hbase.ClockOutOfSyncException: Server hadoop3,16020,1498576600617 has been rejected; Reported time is too far out of sync with master.  Time difference of 54158ms > max allowed of 30000ms
    at org.apache.hadoop.hbase.master.ServerManager.checkClockSkew(ServerManager.java:410)
    at org.apache.hadoop.hbase.master.ServerManager.regionServerStartup(ServerManager.java:276)
    at org.apache.hadoop.hbase.master.MasterRpcServices.regionServerStartup(MasterRpcServices.java:363)
    at org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos$RegionServerStatusService$2.callBlockingMethod(RegionServerStatusProtos.java:8615)
    at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2339)
    at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:123)
    at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:188)
    at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:168)

    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
    at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:95)
    at org.apache.hadoop.hbase.protobuf.ProtobufUtil.getRemoteException(ProtobufUtil.java:332)
    at org.apache.hadoop.hbase.regionserver.HRegionServer.reportForDuty(HRegionServer.java:2337)
    at org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:929)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.ClockOutOfSyncException): org.apache.hadoop.hbase.ClockOutOfSyncException: Server hadoop3,16020,1498576600617 has been rejected; Reported time is too far out of sync with master.  T
ime difference of 54158ms > max allowed of 30000ms
    at org.apache.hadoop.hbase.master.ServerManager.checkClockSkew(ServerManager.java:410)
    at org.apache.hadoop.hbase.master.ServerManager.regionServerStartup(ServerManager.java:276)

原因是regionser和master的时间差太多了!又检查了一下,发现机器上的ntp服务挂了!!

设置各机器的时间:

date -s ‘2017-07-06 21:36:40‘

再次启动各进程,打开web页面,发现连接上master了:

测试hbase shell

[[email protected] hbase-1.3.1]$ bin/hbase shell
hbase(main):001:0> create ‘test‘,‘cf1‘
0 row(s) in 4.9050 seconds

=> Hbase::Table - test
hbase(main):002:0> list
TABLE
test
hbase(main):004:0> put ‘test‘, ‘row1‘, ‘cf1:a‘, ‘value1‘
0 row(s) in 0.0170 seconds

hbase(main):005:0> put ‘test‘, ‘row2‘, ‘cf1:b‘, ‘value2‘
0 row(s) in 0.0090 seconds
hbase(main):012:0* scan test
ArgumentError: wrong number of arguments (0 for 2)

hbase(main):013:0> scan ‘test‘
ROW                                                                  COLUMN+CELL
 row1                                                                column=cf1:a, timestamp=1499349174471, value=value1
 row2                                                                column=cf1:b, timestamp=1499349174533, value=value2
2 row(s) in 0.1140 seconds

说明hbase能正常使用

来自为知笔记(Wiz)

时间: 2024-10-07 23:40:21

5.安装hbase的相关文章

安装HBase 0.94.6-cdh4.3.0

安装HBase 0.94.6-cdh4.3.0 设定HBase的配置文件,由于安装的是cdh版,各版本直接匹配,互相依赖的jar包也都正确,只需要配置下hbase的环境变量和配置文件即可. 1.配置hbase-env.sh,添加JAVA_HOME环境变量 [html] view plaincopy export JAVA_HOME=/usr/java/default/  其他暂时不用添加 export HBASE_MANAGES_ZK=true 2.修改hbase-site.xml,如下配置 [

手把手教你安装Hbase,一次成功!

安装环境: OS: Centos 6.5 JDK: jdk1.6.0_18 Hadoop: hadoop-0.20.2 Hbase: hbase-0.90.5 安装准备: 1.       Jdk环境已安装:版本为1.6以上 2.       hadoop环境已安装:完全分布模式安装如下 http://blog.csdn.net/lichangzai/article/details/8206834 3.       hbase版本选择 Hbase 版本必需与 Hadoop版本匹配,否则会安装失败

通过tarball形式安装HBASE Cluster(CDH5.0.2)——配置分布式集群中的YARN ResourceManager 的HA

<?xml version="1.0"?> <!-- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses

安装HBase

1.安装JDK并设置环境变量 2.上传Hbase安装包hbase-0.94.0.tar.gz3.解压# tar -xzvf hbase-0.94.0.tar.gz4.设置环境变量# vi ~/.bash_profile或vi /etc/profileexport HBASE_HOME=/home/hadoop/soft/hbase-0.94.0export PATH=$HBASE_HOME/bin5.启动关闭数据库# start-hbase.sh# stop-hbase.sh6.进入hbase

CentOS7 安装Hbase集群

继续接上一章,已安装好Hadoop集群环境 http://www.cnblogs.com/dopeter/p/4612232.html 在此基础上继续安装Hbase集群 Hbase版本为1.0.1.1 一. 安装与配置Hbase 1. 解压 tar -zxvf hbase-1.0.1.1-bin.tar.gz-C /opt 2. 配置 cd /opt/hbase-1.0.1.1/conf vi hbase-env.sh export JAVA_HOME=/usr/java/jdk1.8.0_45

通过tarball形式安装HBASE Cluster(CDH5.0.2)系列随笔

本系列文章只是记录了笔者本人在学习实验安装和使用基于CDH5.0.2的HBASE集群过程中的一些经验教训和心得,绝不是详细的安装过程,因本人不过一初学者,很多方面不甚了了,如果能让不幸读到的人有所得则不胜欣喜,否则大家一笑置之即可. 通过tarball形式安装HBASE Cluster(CDH5.0.2)——集群安装总览 通过tarball形式安装HBASE Cluster(CDH5.0.2)——如何配置分布式集群中的zookeeper 通过tarball形式安装HBASE Cluster(CD

Windows下安装HBase

本文转载自:http://blog.csdn.net/kangkanglou/article/details/30748139 本文主要参照Hbase官网:http://hbase.apache.org/cygwin.html 中<hbase On Windows>的安装步骤说明 1.安装介质: Java,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html Cywin,下载地址:http://www.c

Mac下安装HBase及详解

Mac下安装HBase及详解 1. 千篇一律的HBase简介 HBase是Hadoop的数据库, 而Hive数据库的管理工具, HBase具有分布式, 可扩展及面向列存储的特点(基于谷歌BigTable). HBase可以使用本地文件系统和HDFS文件存储系统, 存储的是松散的数据(key-value的映射关系). HBase位于HDFS的上层, 向下提供存储, 向上提供运算 2. HBase安装 HBase有单机, 伪分布式, 全分布式运行模式 依赖: 匹配HBase的Hadoop版本 Jav

通过tarball形式安装HBASE Cluster(CDH5.0.2)——如何配置分布式集群中的zookeeper

集群安装总览参见这里 Zookeeper的配置 1,/etc/profile中加入zk的路径设置,见上面背景说明. 2,进入~/zk/conf目录,复制zoo_sample.cfg为zoo.cfg vim zoo.conf tickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/hadoop/hdfs/zk/data dataLogDir=/home/hadoop/hdfs/zk/log clientPort=2181 server.21=zk1

Centos(64位)安装Hbase详细步骤

HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”.就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力.HBase是Apache的Hadoop项目的子项目.HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式.