linux安装HBase

(1) 编辑$HBASE_HOME/conf/hbase-env.sh文件,设置JAVA_HOME和HBASE_CLASSPATH变量

       export JAVA_HOME=/usr/lib/jvm/java1.6.0_30 (自己的JAVA_HOME主目录)

       export HBASE_CLASSPATH=$HADOOP_HOME/conf (自己的HADOOP_HOME主目录)

(2) 编辑$HBASE_HOME/conf/hbase-site.xml文件,增加以下内容

       <property>

              <name>hbase.rootdir</name>

              <value>hdfs://localhost:9000/hbase</value>

       </property>

       <property>

              <name>hbase.cluster.distributed</name>

              <value>true</value>

       </property>

  <property>

    <name>dfs.replication</name>

    <value>1</value>

  </property>

       注:以上表格中标红色的路径一定要跟hadoop中core-site.xml中fs.default.name中的路径相同,否则会出错。

(3) 替换Hbase中的jar包

      需要用$HADOOP_HOME下的hadoop-x.x.x-core.jar替换掉$HBASE_HOME/lib目录下的hadoop-x.x.x-core.jar。

   如果不替换jar文件Hbase启动时可能会因为hadoop和Hbase的客户端协议不一致而导致HMaster启动异常。

   报错如下:  localhost: Exception in thread "main" org.apache.hadoop.ipc.RPC$VersionMismatch:

         Protocol org.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch. (client = 42, server = 41)

       所以如果遇到以上错误,就通过替换jar包解决。

(4) 完成以上操作,就可以正常启动Hbase了,启动顺序:先启动Hadoop——>再启动Hbase,关闭顺序:先关闭Hbase——>再关闭Hadoop。

       启动Hbase的命令,进入到hbase安装主目录的bin目录下

       $ ./start-hbase.sh    //启动hbase

       $ ./hbase shell     //进入shell模式

       $ ./stop-habse.sh    //停止hbase

       如果在操作Hbase的过程中发生错误,可以通过hbase安装主目录下的logs子目录查看错误原因。

注意:

       hbase的运行需要用到zookeeper,而hbase自带了zookeeper,所以可以使用hbase自带的zookeeper,在conf/hbase-env.sh 文件中

   export HBASE_MANAGES_ZK=true, true表示使用hbase自带的zookeeper, 如果不想使用其自带的zookeeper, 自己下载包安装的化, 该项设置为false.

   当然如果自己安装zookeeper, 启动及关闭先后顺序为:启动Hadoop—>启动ZooKeeper集群—>启动HBase—>停止HBase—>停ZooKeeper集群—>停Hadoop。

 

遇到的问题:

1,启动hbase shell交互模式,输入命令却出现了下面这样的错误:

  ERROR: org.apache.hadoop.hbase.MasterNotRunningException: Retried 7 times

  查看日志如果是:localhost: Exception in thread "main" org.apache.hadoop.ipc.RPC$VersionMismatch:         

          Protocol  org.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch.

          解决办法参考上面(3);

  还可能是因为hdfs的 safe mode is on, 可以用 hadoop dfsadmin -safemode leave关闭;

2, 在全分布式下,启动后HRegionServer总是自动停止一个原因是:Hmaster和HRegionServer机器上的时间不一致,更新同步时间后,问题解决。

(更新同步时间:ntpdate cn.pool.ntp.org  参考http://www.ctusky.com/16/0497/

内容主要来自:http://www.cnblogs.com/Dreama/articles/2219190.html

转载于:https://www.cnblogs.com/liangzh/archive/2012/04/06/2434627.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值