已有环境:

1. Ubuntu:14.04.2

2.jdk: 1.8.0_45

3.hadoop:2.6.0

4.hBase:1.0.0

详细过程:

1.下载最新的Hbase,这里我下载的是hbase-1.0.0版本,然后打开终端,输入: tar zxvf hbase-1.0.0.tar.gz解压,然后将hbase放到合适的路径下(可以是用户目录,也可以是根目录,不太清楚是否必须要与hadoop放在用一个根目录下,本人是放在同一个目录下的)

2.修改2个配置文件(这里是伪分布式,单机版不再叙述)

  • hbase-env.sh(在hbase的安装目录下的conf文件夹中)
export JAVA_HOME=/usr/lib/jvm/java
export HBASE_MANAGES_ZK=true
//打开注释,并配置java环境
  • hbase-site.xml
//加入如下配置信息:
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:8020/hbase</value>//这里的路径必须与hadoop的core-site.xml中的fs.default.name一致,还有一个需要注意的地方是端口号8020,默认是9000。我的设置9000时没能成功启动hbase,当换成8020时,成功启动
</property> <property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property> <property>
<name>dfs.replication</name>
<value></value>
</property> <property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/server1/Documents/zookeeper</value>//设置让hbase存储zookeeper文件的地方
</property>

3.启动hadoop.

4.启动hbase。进入bin,输入命令:./start-hbase.sh

 Jps
HQuorumPeer
HRegionServer
HMaster //出现HMster说明配置成功
SecondaryNameNode
DataNode
NameNode

5.在终端输入 bin/hbase shell进入shell模式。

6。在shell模式下进行建表等操作:

create 'test','cf'   //建立一张名为‘test’,含有一个列族‘cf’的表
describe 'test' //列出表的详细信息
put 'test','row1','cf:a','value1' //在表中插入一行数据,
//row1为唯一标识,cf中含一列名为a,它的值为value1

7.关闭hbase和hadoop

8.可能出现的问题及解决方案:

  • hbase无法启动的问题。

    • 导致hbase无法启动的原因有多种,由于本人太过幸运,种种问题均遇到过O(∩_∩)O~
    • 一,启动hbase后,没有HMaster。
    • 二,启动hbase后,HMaster闪退。
    • 三,建表时产生空指针错误。
    • 四,hbase无法启动。
  • 解决方案:
    • 搜索了网络上各种解决方案,大致有以下几种方法:

      • 修改hbase-site.xml,添加各种配置信息;
      • 修改etc/hosts,将Ubuntu对应的IP那一项删除;
      • 修改etc/profile,配置hbase的环境变量(类似JDK的配置);
      • 将hadoop里的core-site.xml和hadoop-core-xxx.jar copy到hbase中的相应目录中(由于我安装的是hadoop-2.6.0版本,搜索了半天都没有找到hadoop-core jar文件,然后Google之,说是2.x以上的版本都没有这些jar文件,非要使用的话只能从官网下载);
    • 自己的解决方案:
      • 真正的原因是hadoop,hbase与jdk版本不兼容,导致以上各种问题的出现,包括闪退,无法启动等等。最后一个解决方案正是为了解决不兼容的问题。由于我自己起初用的是hadoop-2.6.0,jdk是1.8.x,hbase是0.8.27。本质原因就是hbase版本太低,而jdk版本太高。最简单的方案是删除低版本的hbase,然后安装最新的高版本hbase,问题即可轻易解决。

      

总结:版本不一致会导致兼容问题,需要配置各种信息,所以以后要先查看课本或者别人的博客是用的那个版本的文件,然后在安装,站在巨人的肩上,才能走得更远!!

Hadoop上配置Hbase数据库的更多相关文章

  1. 在Hadoop集群上的HBase配置

    之前,我们已经在hadoop集群上配置了Hive,今天我们来配置下Hbase. 一.准备工作 1.ZooKeeper下载地址:http://archive.apache.org/dist/zookee ...

  2. HBase数据库集群配置

    0,HBase简介 HBase是Apache Hadoop中的一个子项目,是一个HBase是一个开源的.分布式的.多版本的.面向列的.非关系(NoSQL)的.可伸缩性分布式数据存储模型,Hbase依托 ...

  3. HBase数据库集群配置【转】

    https://www.cnblogs.com/ejiyuan/p/5591613.html HBase简介 HBase是Apache Hadoop中的一个子项目,是一个HBase是一个开源的.分布式 ...

  4. [转载] 详细讲解Hadoop中的简单数据库HBase

    转载自http://www.csdn.net/article/2010-11-28/282614 数据模型 HBase数据库使用了和Bigtable非常相似的数据模型.用户在表格里存储许多数据行.每个 ...

  5. HBase数据库配置中各配置项的释义及默认值

    2018-11-26 16:09 2018-12-20 15:44 摘自HBASE官方网站  http://hbase.apache.org/book.html#_introduction  第7.2 ...

  6. (转)单机上配置hadoop

    哈哈,几天连续收到百度两次电话,均是利好消息,于是乎不知不觉的自己的工作效率也提高了,几天折腾了好久终于在单机上配置好了hadoop,然后也成功的运行了一个用例,耶耶耶耶耶耶. 转自:http://w ...

  7. mac上eclipse上配置hadoop

    在mac上安装了eclipse之后,配置hadoop其实跟在linux上配置差不多,只是mac上得eclipse和界面和linux上得有点不同. 一:安装eclipse eclipse得安装比较简单, ...

  8. 在MacOs上配置Hadoop和Spark环境

    在MacOs上配置hadoop和spark环境 Setting up Hadoop with Spark on MacOs Instructions 准备环境 如果没有brew,先google怎样安装 ...

  9. 在Linux(Centos7)系统上对进行Hadoop分布式配置以及运行Hadoop伪分布式实例

    在Linux(Centos7)系统上对进行Hadoop分布式配置以及运行Hadoop伪分布式实例                                                     ...

随机推荐

  1. 构造HTTP请求Header实现“伪造来源IP”

    在阅读本文前,大家要有一个概念,在实现正常的TCP/IP 双方通信情况下,是无法伪造来源 IP 的,也就是说,在 TCP/IP 协议中,可以伪造数据包来源 IP ,但这会让发送出去的数据包有去无回,无 ...

  2. Spark知识点

    1.Spark架构 分布式spark应用中的组件 在分布式环境下,Spark集群采用的是主/从结构.在一个Spark集群中,有一个节点负责中央协调,调度各个分布式工作节点.这个中央协调节点被称为驱动器 ...

  3. python面向对象-多继承区别

    #!/usr/local/bin/python3 # -*- coding:utf-8 -*- ''' 构造方法继承策略: 在python2中,经典类是按照深度优先继承构造方法的:新式类是按照广度优先 ...

  4. phpcms2008网站漏洞如何修复 远程代码写入缓存漏洞利用

    SINE安全公司在对phpcms2008网站代码进行安全检测与审计的时候发现该phpcms存在远程代码写入缓存文件的一个SQL注入漏洞,该phpcms漏洞危害较大,可以导致网站被黑,以及服务器遭受黑客 ...

  5. PAT-B java实现

    注意:java提交PAT时,不需要加package : 类名必须是Main. 1001 害死人不偿命的(3n+1)猜想 (15) 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值. 输出格式 ...

  6. (数据科学学习手札03)Python与R在随机数生成上的异同

    随机数的使用是很多算法的关键步骤,例如蒙特卡洛法.遗传算法中的轮盘赌法的过程,因此对于任意一种语言,掌握其各类型随机数生成的方法至关重要,Python与R在随机数底层生成上都依靠梅森旋转(twiste ...

  7. python内置模块[sys,os,os.path,stat]

    python内置模块[sys,os,os.path,stat] 内置模块是python自带功能,在使用内置模块时,需要遵循 先导入在 使用 一.sys 对象 描述 sys.argv 命令行参数获取,返 ...

  8. Linux下的调试工具

    Linux下的调试工具 随着XP的流行,人们越来越注重软件的前期设计.后期的实现,以及贯穿于其中的测试工作,经过这个过程出来的自然是高质量的软件.甚至有人声称XP会淘汰调试器!这当然是有一定道理的,然 ...

  9. 做小Leader的心得体会

    只是自己的工作心得体会,代码属于也不够专业,大家不喜勿喷. 8月份来到这家新公司,没过一个月给派了个活:带着两个小弟给某银行开发一个小工具.功能很简单,就是用Java做一个windows上的C端工具, ...

  10. coia阻止事件上浮

    1.阻止事件上浮 选择默认地址li 时 选中整个div使其为默认地址 此时点击编辑按钮也会触发选中默认事件 为事件添加event.stopPropagation();阻止事件上浮 2.js给页面inp ...