1.安装好 hadoop 集群,并启动

[grid@hadoop4 ~]$ sh hadoop-2.5./sbin/start-dfs.sh
[grid@hadoop4 ~]$ sh hadoop-2.5./sbin/start-yarn.sh

查看 hadoop 版本:

[grid@hadoop4 ~]$ hadoop-2.5./bin/hadoop version
Hadoop 2.5.
Subversion Unknown -r Unknown
Compiled by grid on --31T01:40Z
Compiled with protoc 2.5.
From source with checksum df7537a4faa4658983d397abf4514320
This command was run using /home/grid/hadoop-2.5./share/hadoop/common/hadoop-common-2.5..jar

2.查看 hbase 官方文档(http://hbase.apache.org/book.html#basic.prerequisites),找到与 hadoop 版本对应的 hbase 并下载

[grid@hadoop4 ~]$ wget http://mirrors.cnnic.cn/apache/hbase/hbase-1.0.0/hbase-1.0.0-bin.tar.gz 

3.解压

[grid@hadoop4 ~]$ tar -zxf hbase-1.0.-bin.tar.gz 

4.进入 hbase 的 lib 目录,查看 hadoop jar 包的版本

[grid@hadoop4 ~]$ cd hbase-1.0./lib/
[grid@hadoop4 lib]$ find -name 'hadoop*jar'
./hadoop-common-2.5..jar
./hadoop-mapreduce-client-common-2.5..jar
./hadoop-annotations-2.5..jar
./hadoop-yarn-server-common-2.5..jar
./hadoop-hdfs-2.5..jar
./hadoop-client-2.5..jar
./hadoop-mapreduce-client-shuffle-2.5..jar
./hadoop-yarn-common-2.5..jar
./hadoop-yarn-server-nodemanager-2.5..jar
./hadoop-yarn-client-2.5..jar
./hadoop-mapreduce-client-core-2.5..jar
./hadoop-auth-2.5..jar
./hadoop-mapreduce-client-app-2.5..jar
./hadoop-yarn-api-2.5..jar
./hadoop-mapreduce-client-jobclient-2.5..jar

发现与 hadoop 集群的版本号不一致,需要用 hadoop 目录下的 jar 替换 hbase/lib 目录下的 jar 文件。 
编写脚本来完成替换,如下所示:

[grid@hadoop4 lib]$ pwd
/home/grid/hbase-1.0./lib
[grid@hadoop4 lib]$ vim f.sh
find -name "hadoop*jar" | sed 's/2.5.1/2.5.2/g' | sed 's/\.\///g' > f.log
rm ./hadoop*jar
cat ./f.log | while read Line
do
find /home/grid/hadoop-2.5. -name "$Line" | xargs -i cp {} ./
done
rm ./f.log
[grid@hadoop4 lib]$ chmod u+x f.sh
[grid@hadoop4 lib]$ ./f.sh
[grid@hadoop4 lib]$ find -name 'hadoop*jar'
./hadoop-yarn-api-2.5..jar
./hadoop-mapreduce-client-app-2.5..jar
./hadoop-common-2.5..jar
./hadoop-mapreduce-client-jobclient-2.5..jar
./hadoop-mapreduce-client-core-2.5..jar
./hadoop-yarn-server-nodemanager-2.5..jar
./hadoop-hdfs-2.5..jar
./hadoop-yarn-common-2.5..jar
./hadoop-mapreduce-client-shuffle-2.5..jar
./hadoop-auth-2.5..jar
./hadoop-mapreduce-client-common-2.5..jar
./hadoop-yarn-client-2.5..jar
./hadoop-annotations-2.5..jar
./hadoop-yarn-server-common-2.5..jar

OK,jar 包替换成功;hbase/lib 目录下还有个 slf4j-log4j12-XXX.jar,在机器有装hadoop时,由于classpath中会有hadoop中的这个jar包,会有冲突,直接删除掉

[grid@hadoop4 lib]$ rm `find -name 'slf4j-log4j12-*jar'`

5.修改配置文件

5.1.

[grid@hadoop4 hbase-1.0.]$ vi conf/hbase-env.sh
export JAVA_HOME=/usr/java/jdk1..0_72
export HBASE_CLASSPATH=/home/grid/hadoop-2.5./etc/hadoop
export HBASE_MANAGES_ZK=true

第一个参数指定了JDK路径;第二个参数指定了 hadoop 的配置文件路径;第三个参数设置使用 hbase 默认自带的 Zookeeper

5.2.

[grid@hadoop4 hbase-1.0.]$ vim conf/hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop4:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/home/grid/hbase-1.0./tmp</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop4,hadoop5,hadoop6</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/grid/hbase-1.0./zookeeper</value>
</property>

创建目录

[grid@hadoop4 hbase-1.0.]$ mkdir tmp
[grid@hadoop4 hbase-1.0.]$ mkdir zookeeper

5.3.

[grid@hadoop4 hbase-1.0.]$ vim conf/regionservers
hadoop4
hadoop5
hadoop6

6.设置环境变量

[grid@hadoop4 ~]$ vi .bash_profile
export HBASE_HOME=/home/grid/hbase-1.0.
export PATH=$PATH:$HBASE_HOME/bin
[grid@hadoop4 ~]$ source .bash_profile

7.分发 hbase 到其它机器,并在其上设置环境变量

[grid@hadoop4 ~]$ scp -r hbase-1.0. grid@hadoop5:~
[grid@hadoop4 ~]$ scp -r hbase-1.0. grid@hadoop6:~

8.启动 hbase

[grid@hadoop4 ~]$ sh start-hbase.sh
[grid@hadoop4 ~]$ jps
ResourceManager
Jps
NameNode
HQuorumPeer
SecondaryNameNode
HMaster
[grid@hadoop5 ~]$ jps
Jps
HQuorumPeer
HRegionServer
NodeManager
DataNode
[grid@hadoop6 ~]$ jps
HQuorumPeer
DataNode
NodeManager
Jps
HRegionServer

jps查看发现 Master 机上 HRegionServer 服务未启动,查看日志显示因16020端口被占用导致 HRegionServer 启动失败,查证发现占用16020端口的是 HMaster 进程,查看官方文档后解决:

[grid@hadoop4 ~]$ sh local-regionservers.sh start  

官方文档截图: 

9.shell

10.Web管理界面

© 著作权归作者所有

Hadoop2.x下安装HBase的更多相关文章

  1. Mac下安装HBase及详解

    Mac下安装HBase及详解 1. 千篇一律的HBase简介 HBase是Hadoop的数据库, 而Hive数据库的管理工具, HBase具有分布式, 可扩展及面向列存储的特点(基于谷歌BigTabl ...

  2. WIN10下安装HBASE教程

    工作需要,现在开始做大数据开发了,通过下面的配置步骤,你可以在win10系统中,部署出一套hadoop+hbase,便于单机测试调试开发. 准备资料: 1. hadoop-2.7.2: https:/ ...

  3. 在Hadoop伪分布式模式下安装Hbase

    安装环境:Hadoop 1.2.0, Java 1.7.0_21 1.下载/解压 在hbase官网上选择自己要下的hbase版本,我选择的是hbase-0.94.8. 下载后解压到/usr/local ...

  4. Windows下安装HBase

    本文转载自:http://blog.csdn.net/kangkanglou/article/details/30748139 本文主要参照Hbase官网:http://hbase.apache.or ...

  5. Ubuntu下安装hbase

    1.在清华镜像站点下载hbase的安装文件,选择的是stable的版本,版本号是hbase-1.2.5/ 2.解压放在/usr/local的目录下 3.修改权限 sudo chown -R hduse ...

  6. hadoop2 Ubuntu 下安装部署

    搭建Hadoop环境( 我以hadoop 2.7.3 为例, 系统为 64bit Ubuntu14.04 ) hadoop 2.7.3 官网下载 , 选择自己要安装的版本.注意每个版本对应两个下载选项 ...

  7. CentOS下安装Hbase

    1.安装JDK.https://www.cnblogs.com/zhi-leaf/p/10315125.html 2.下载Hbase.下载地址:https://hbase.apache.org/dow ...

  8. mac下安装伪分布hadoop2.6.0和hbase1.0.1.1

    1.安装JDK,我安装的是java1.7 2.创建管理员账户 3.安装ssh服务(如果已有跳过此步) 4.ssh无密码验证登陆 以上过程略,可参考ubuntu下安装hadoop一文. 5.下载并解压h ...

  9. Centos6下安装Hadoop2.6 问题总结

    一. 安装背景:VirtualBox下安装三台Centos6.8虚拟机(一主:master, 两从:slave1,slave2) Centos版本:CentOS-6.8-x86_64 网络配置:三台虚 ...

随机推荐

  1. LeetCode——Find Duplicate Subtrees

    Question Given a binary tree, return all duplicate subtrees. For each kind of duplicate subtrees, yo ...

  2. php-fpm 与 cgi

    CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者. web server(比如说nginx)只是内容的分发者.比如,如果请求/index.html ...

  3. 【Python】模块学习之利用string模块造测试数据

    背景 测试过程中需要一些随机数据,使用到了python中的string模块,记录一下 #! /usr/bin/python # coding:utf-8 """ @aut ...

  4. 【Linux】结合Python 简易实现监控公司网站,邮件发送异常

    背景 由于一些原因,博主负责测试的网站的服务器切换到了香港,切换后出现了多次访问超时的情况 于是主动请缨写一个自动监测的脚本,本来准备完全使用shell来写,后来发现shell发送邮件只能在测试机之间 ...

  5. Tomcat服务部署步骤

    Tomcat服务部署步骤 1. 2. 3. tar -zxvf apache-tomcat-7.0.68.tar.gz,然后修改文件夹名称为需要的名称, 使用mv命令 4. 删除 /webapps/R ...

  6. 设计模式--享元模式C++实现

    1定义 使用共享对象可有效的支持大量细粒度的对象 2类图 角色分析 Flyweight抽象享元角色,一个产品的抽象,定义内部状态和外部状态的接口或者实现 ConcreteFlyweight具体享元角色 ...

  7. 新旧版ubuntu镜像免费下载

    链接:https://pan.baidu.com/s/1hUNfiyA_Npj9QQ0vNLJ_Xw 密码:6k6i

  8. 【Python】日期模块总结

    Time Tuple: 索引 字段 值 0 年(四位数字) 2015 1 月份 1 - 12 2 日期 1 - 31 3 小时 0 - 23 4 分钟 0 - 59 5 秒 0 - 61 (60 或 ...

  9. Exact Change

    设计一个收银程序 checkCashRegister() ,其把购买价格(price)作为第一个参数 , 付款金额 (cash)作为第二个参数, 和收银机中零钱 (cid) 作为第三个参数. cid ...

  10. json 解析double类型多出几位小数,利用NSDecimalNumber修复 , 服务器返回的数据,用数据类型接收(int,NSNumber)?

     后台返回float类型数据8.2,实际用AFN的json解析后得到8.1999999999,该怎么处理呢? 开发中处理处理价格金额问题, 后台经常返回float.double类型, 打印或转成NSS ...