现在的位置: 首页 > 综合 > 正文

HBase环境搭建(一)Ubuntu下基于Hadoop文件系统的单机模式

2019年10月14日 ⁄ 综合 ⁄ 共 3840字 ⁄ 字号 评论关闭

转载请注明出处:季义钦的技术博客

最近开始准备学习NoSQL数据库,首先从最庞大的HBase开始下手(实在是太火了),以前搞过Hadoop的MapReduce编程,所以搭建这个环境也很快,两个小时就搞定了。

搭建环境前初始状况:

只有一台戴尔的台式机,安装的是Win7系统。

HBase环境搭建步骤:

1 首先就是从硬盘安装Ubuntu12, 和我的win7组成双系统。

参考网站:W​i​n​7​下​硬​盘​安​装​u​b​u​n​t​u​1​2​.​1​0​双​系​统

我安装的时候并没有弹出手动分区的那些界面,我的硬盘是在已有的F盘上面压缩的来的。

安装好了Ubuntu之后一定要让系统联上网络,然后有两个步骤对我来说是必须做的:

(1)启用root用户,两个步骤:

一个是编辑/etc/lightdm/lightdm.conf文件,增加 greeter-show-manual-login=true  allow-guest=false 配置。

然后是启用我们的root帐号:sudo passwd root ,根据提示输入roott帐号密码。

(2)安装vim。

一定要安装vim,这个文本编辑工具太好用了,以前一直用。

安装命令是: sudo apt-get install vim-gtk

2
搭建好单机的Hadoop环境(hadoop-0.20.203 + jdk1.6.0_30)
安装HBase之前一定要先安装Hadoop。

参考:http://weixiaolu.iteye.com/blog/1401931,写的非常全面。作为收藏,我转过来了:超详细单机版搭建hadoop环境图文解析

注意:(我hadoop-0.20.203下载地址是:http://download.chinaunix.net/download.php?id=39946&ResourceID=13378)。

启动hadoop之后,用jps命令查看一定要有dataNode和nameNode进程。

可以用浏览器打开 : http://localhost:50070/ 查看Hadoop的运行状况。

3 安装HBase,非常简单(hbase-0.94.20.tar.gz,下载地址:http://mirror.bit.edu.cn/apache/hbase/stable/)。

参考:http://www.linuxidc.com/Linux/2012-10/72959.htm,作为收藏我也转过来了:单机版搭建HBase环境图文教程详解

注意:因为我在搭建Hadoop环境的时候,即第二步的时候修改了hostname为jiyiqin-hadoop,所以在这里配置主机名和ip对应关系的时候,需要加上这么一项对应关系。

启动了Hbase之后用jps命令查看一定要有HMaster进程。

细心的人可能已经发现配置HBase的时候,修改的hbase-site,xml文件中指定了HBase数据存储的目录是本地磁盘上的一个文件目录,即HBase使用的文件系统是Ubuntu的文件系统,要么要怎么才能使用第二部中配置好的HDFS文件系统呢?即HBase要怎么样和Hadoop整合起来呢?

很简单,将这个配置项指定为hdfs文件系统即可,下面是详细步骤:

(1)首先查看到刚才配置Hadoop的时候,配置文件core-site.xml中配置的文件系统的地址是:

<configuration>
        <property>
                <name>fs.default.name</name>
                <value>hdfs://localhost:9000</value>
        </property>
</configuration>

所以我们配置HBase的hbase-site.xml的时候,指定文件系统不是Linux的硬盘上的文件系统,而是这个Hadoop的文件系统(hbase目录自动创建):

<configuration>
<property>
        <name>hbase.rootdir</name>
        <value>hdfs://localhost:9000/hbase</value>
</property>
<property>
        <name>dfs.replication</name>
        <value>1</value>
</property>
</configuration>

(2)做了这个步骤之后还不够,还要将Hadoop的核心jar文件替换到HBase下面使用的hadoop的jar文件,否则会因为不兼容而报错。

即将HADOOP_HOME下面的hadoop-core-0.20.203.0.jar文件替换掉HBASE_HOME/lib下面的haoop-1.0.4.jar文件。

备注:如不替换,Hbase启动时会因为hadoopHbase的客户端协议不一致而导致HMaster启动异常 

localhost:Exception in thread "main"org.apache.hadoop.ipc.RPC$VersionMismatch: Protocolorg.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch.(client = 42, server = 41)


经过上面上个步骤之后,HBase就和Hadoop结合起来了,即Hbase所使用的文件系统就是HDFS,下面启动Hbase

(在这之前请确保Hadoop启动,否则虽然能够用hbase shell登录,但是list的时候会报异常)。

启动命令是: start-hbase.sh (启动之后可能要等20s左右才能执行hbase命令,不知道是不是因为单机的原因)

然后就可以用hbase shell登陆,用list查看hbase上面的表的情况了。

同样可以用浏览器打开 : http://localhost:60010 来打开Hbase的管理界面。

备注: 为了让Hadoop的命令和Hbase的命令方便输入,可以在etc/profile文件中将他们的bin目录也加到PATH,并用source /etc/profile让其生效。

export JAVA_HOME=/usr/java/jdk1.6.0_30
export JRE_HOME=/usr/local/java/jdk1.6.0_30/jre  
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH

export HBASE_HOME=/usr/HBase/hbase
export PATH=$HBASE_HOME/bin:$PATH

export HADOOP_HOME=/usr/hadoop/hadoop
export PATH=$HADOOP_HOME/bin:$PATH

下面是Hbase的建表测试:

(1)用shell来连接HBase.

root@ubuntu:/usr/hbase/hbase-0.90.4# bin/hbase shell

HBase Shell; enter 'help<RETURN>' for list of supported commands.

Type "exit<RETURN>" to leave the HBase Shell

Version 0.90.4, r1150278, Sun Jul 24 15:53:29 PDT 2011

(2) 建表操作演示

hbase(main):004:0> create 'table1','col1'

0 row(s) in 1.1070 seconds

hbase(main):005:0> list

TABLE                                                                          

table1                                                                         

test1                                                                           

2 row(s) in 0.0210 seconds

hbase(main):006:0> put 'table1','row1','col1:a','value1'

0 row(s) in 0.2710 seconds

(3)用scan查看表所有数据

hbase(main):010:0> scan 'table1'

ROW                  COLUMN+CELL                                              

row1                 column=col1:a, timestamp=1317180621803, value=value1     

row2                 column=col1:b, timestamp=1317180679999, value=value2     

row3                 column=col1:c, timestamp=1317180708854, value=value3    

至此HBase单机环境搭建完成,下面就可以开始进入初学者角色了。

抱歉!评论已关闭.