HBase 0.90.5 + Hadoop 1.0.0 集成

自从Hadoop升级到1.0以后,在与Hive,HBase等集成上经常会出现问题。

Hive:http://blog.csdn.net/kunshan_shenbin/article/details/7105319

在Hive0.8中写死了与之兼容的Hadoop的版本号(0.2x.x),而Hadoop又偏偏修改了他的版本命名规则,不得已只能重现编译Hive:

https://issues.apache.org/jira/browse/HIVE-2631

上文讲诉了Pig的安装和使用:

Pig:http://blog.csdn.net/kunshan_shenbin/article/details/7208103

这次该对HBase进行一下说明了。HBase使用最新的0.90.5。

A. 安装

cd /usr/local

wget www.apache.org/dist//hbase/stable/hbase-0.90.5.tar.gz

chmod 777 hbase-0.90.5.tar.gz

tar -zxvf hbase-0.90.5.tar.gz

mv hbase-0.90.5 hbase


B. 修改配置文件(hbase/conf):

1. 修改hbse-env.sh文件:
export JAVA_HOME=/usr/java/jdk1.7.0_01
export HBASE_MANAGES_ZK=true $使用hbase自带的zookeeper

2. 修改hbase-site.xml文件:

<configuration>

<property>
    <name>hbase.rootdir</name>
    <value>hdfs://master:54310/hbase</value>
</property>
<property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
</property>
<property>
    <name>hbase.zookeeper.quorum</name>
    <value>slave</value>
</property>
<property>
    <name>zookeeper.session.timeout</name>
    <value>60000</value>
</property>
<property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2222</value>
</property>

</configuration>
3. 修改regionservers文件,使用机器名替换localhost,例如slave。

测试时在master以及slave端的个机器都使用了一致的配置方式。


C. 由于使用的Hadoop1.0.0,HBase0,90.5并不支持这个版本,需要替换相关的Jar包:

hbase/lib下找到:hadoop-core-0.20-append-r1056497.jar 后删除它。

从Hadoop/lib下找到hadoop-core-1.0.0.jar和commons-configuration-1.6.jar,并拷贝到hbase/lib下。

这个需要在master和各slave上分别进行。


D. 运行HBase:

/hbase/bin/start-hbase.sh

可以通过 http://master:60010/master.jsp 访问Hbase。


问题点:

hbase 结点之间时间不一致造成regionserver启动失败:

Caused by: org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.hbase.ClockOutOfSyncException: Server s3,60020,1304927875246 has been rejected; Reported time is too far out of sync with master.  Time difference of 41450ms > max allowed of 30000ms

1.方案1
在hbase-site.xml添加配置
<property>
        <name>hbase.master.maxclockskew</name>
        <value>180000</value>
        <description>Time difference of regionserver from master</description>
 </property>

2.方案2
修改各结点时间,使其误差在30s内


参考资料:

http://blog.csdn.net/chengweipeng123/article/details/7174717

http://hbluojiahui.blog.163.com/blog/static/310647672011427103841280/

http://hi.baidu.com/dekar/blog/item/f5c034efcf080e5778f055a6.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hive、HBaseHadoop是三种流行的大数据技术,它们都有不同的用途和优势。Hadoop是一个分布式系统平台,它可以处理大量的数据,并提供高性能的数据处理。Hive是一个数据仓库,它可以通过SQL查询访问Hadoop中的数据。HBase是一个分布式数据库,它可以实时存储和访问大量的非结构化数据。 在部署Hive、HBaseHadoop时,需要注意以下几点: 首先,需要想好在哪里安装这些组件,是否在同一台服务器上安装。通常情况下,为了实现最佳性能,最好在分布式服务器集群上安装它们。 其次,需要安装和配置Hadoop,并确认其正常运行。这包括设置Hadoop目录结构、配置Hadoop的XML配置文件、启动Hadoop服务等。 第三,需要安装并配置HBase。这包括设置HBase目录结构、配置HBase的XML配置文件、启动HBase服务、设置HBase集群等。需要确保HBase的表空间和列族的设计符合需求,并且表的分布在整个HBase集群中。 最后,需要安装并配置Hive。这包括设置Hive目录结构、配置Hive的XML配置文件,启动Hive服务等;同时需要确保配置Hive的JDBC连接和ODBC连接,以便于应用程序使用Hive。还应检查Hive与HadoopHBase的兼容性,并进行充分测试以确保其正常运行。 总之,Hive、HBaseHadoop的部署需要仔细考虑,并按照最佳实践进行。只有这样,才能在大数据处理中获得最佳性能和效益。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值