Hadoop-1.0.3和hbase-0.92.1整合安装

1. 最初接触hadoop的时候使用的版本是0.20.2,现在2.0版本都出了。当时搭建过一个hadoop0.20.2和hbase0.20.6的集群环境,现在为了测试学习的方便,主备搭建一个伪分布式环境,使用Hadoop-1.0.3和hbase-0.92.1。

2. 首先需要做的是对以前hadoop的升级,从0.20.2升级到1.0.3。升级过程如下所示:

  下面红字部分转自:http://www.cnblogs.com/ggjucheng/archive/2012/04/22/2465649.html

1.运行dfsadmin -upgradeProgress status 检查是否存在备份 如果是第一次升级 就不存在备份(在升级Hadoop前,如果已经存在备份,需要先结束 finalize 它。)

2.备份dfs.namenode.dir下文件,同时要备份下hdfs的文件目录的元数据信息:

bin/hadoop fsck / -files -blocks -locations > dfs-v-old-fsck-1.log 
bin/hadoop dfs -lsr / > dfs-v-old-lsr-1.log 
bin/hadoop dfsadmin -report > dfs-v-old-report-1.log

 

3.停止所有节点 bin/stop-all.sh

4.在所有节点上重新部署hadoop 并替换conf文件夹下所有文件(就是将原有的hadoop-0.19.1更名为hadoop-0.19.1-oldverstion,然后解压hadoop-0.19.2.tar.gz 将0.19.2中的conf文件替换为0.19.1中的conf文件夹)

并且要对照修改hadoop-site.xml中的路径指定是否正确

5.使用 bin/start-dfs.sh -upgrade 进行升级(DFS从一个版本升级到另外一个版本的时候,NameNode和DataNode使用的文件格式有可能会改变。当你第一次使用新版本的时候,你要告诉Hadoop 去改变HDFS版本,否则,新版本不会生效)

 

6.监控升级情况和升级问题处理

开始升级,你可以通过

bin/hadoop dfsadmin -upgradeProgress

命令来查看版本升级的情况。

当然你可以使用

bin/hadoop dfsadmin -upgradeProgress details

来查看更多的详细信息。

当升级过程被阻塞的时候,你可以使用

bin/hadoop dfsadmin -upgradeProgress force

来强制升级继续执行(当你使用这个命令的时候,一定要慎重考虑)。

 

当HDFS升级完毕后,Hadoop依旧保留着旧版本的有关信息,

以便你可以方便的对HDFS进行降级操作。

可以使用bin/start-dfs.sh -rollback来执行降级操作。

7.对比现有hdfs的文件目录的元数据信息和升级的差异。

8.升级完成,Hadoop一次只保存一个版本的备份,当新版本运行几天以后还是没有出现什么问题,你就可以使用运行一段时间后 没有问题再执行升级终结操作

bin/hadoop dfsadmin -finalizeUpgrade

命令把旧版本的备份从系统中删掉了。删除以后rollback 命令就失效了。

  基本上按照上面的步骤,不会出现什么错误。

3. 安装hbase,主要是配置文件hbase-site.xml,hbase-env.xml两个文件。hbase的安装主要有两种方式:单机版和分布式版;其中分布式版又分为:分布式和伪分布式。

   (1)单机版的安装很简单,利用本地文件系统,不使用Hdfs。只需修改hbase-env.xml中的JAVA_HOME就可以了。

   (2)伪分布式版:这个就有点迷糊了。apache官网上的配置,可以把

      <property>
                  <name>hbase.cluster.distributed</name>
                  <value>true</value>
           </property>

      可是我把上面的设为true后,总是出现下面的问题:

复制代码
1 2012-06-21 22:20:37,248 INFO org.apache.zookeeper.client.ZooKeeperSaslClient: Client will not SASL-authenticate because the default JAAS configuration section 'Client' could not be found. If you are not using SASL, you may ignore this. On the other hand, if you expected SASL to work, please fix your JAAS configuration.
2 2012-06-21 22:20:37,248 WARN org.apache.zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
3 java.net.ConnectException: Connection refused
4         at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
5         at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:592)
6         at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:286)
7         at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1035)
8 2012-06-21 22:20:37,350 WARN org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper: Possibly transient ZooKeeper exception: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase
9                                                               176,9    
复制代码

      着实令人抓狂。如果把其设置为false,总是不能启动zookeeper服务,真是郁闷!!!

  (3)分布式版。这种配置到没什么疑问的,网上的资料很多,注意网络,防火墙之类的问题,配置起来问题不大。

4. 单机版的Hbase测试也够用了。下面是hbase-site.xml的配置文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
< configuration >
         < property >
                 < name >hbase.rootdir</ name >
                 < value >hdfs://localhost:9000/hbase</ value >
         </ property >
         < property >
                 < name >hbase.zookeeper.quorum</ name >
                 < value >localhost</ value >
         </ property >
         < property >
                 < name >hbase.zookeeper.property.dataDir</ name >
                 < value >/home/nslab/HbaseInstall/zookeeperData</ value >
         </ property >
         < property >
                 < name >hbase.zookeeper.property.clientPort</ name >
                 < value >22222</ value >
         </ property >
         < property >
                 < name >hbase.cluster.distributed</ name >
                 < value >false</ value >
         </ property >
         < property >
                 < name >dfs.support.append</ name >
                 < value >true</ value >
         </ property >
         < property >
                 < name >dfs.datanode.max.xceievers</ name >
                 < value >4096</ value >
         </ property >
</ configuration >

5. 将hbase-env.xml中的:export HBASE_MANAGES_ZK=true。不过单机版zookeeper怎么也没老老实实的启动,有大牛求指教。在使用上面的配置关闭hbase时,日志上会出现下面的异常,原因菜鸟我还不知道啊~~~~

复制代码
2012-06-21 23:22:01,864 WARN org.apache.zookeeper.server.NIOServerCnxn: caught end of stream exception
EndOfStreamException: Unable to read additional data from client sessionid 0x1380f9f60170003, likely client has closed socket
    at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:220)
    at org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:224)
    at java.lang.Thread.run(Thread.java:636)
复制代码

 

6. 这些配置网上一般都有,不过照搬的话总会出现各种错误,个人感觉官方文档最重要,可以多参考官方文档。但是也会遇到一些问题。

7. 当遇到这类配置文件,出现莫名的错误无从下手时,可以采取下面的方法:a.google or 百度两个各有所长;b. 去除一些不确定的配置选项,从最简单的文件配置做起。

8. 好些错误网上都有解决方案,具体配置的时候还是要多看看别人的技术文档。

9. 有时候一些小问题确实很折磨人,没办法,谁让我们做技术呢~~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的影城管理系统,源码+数据库+论文答辩+毕业论文+视频演示 随着现在网络的快速发展,网上管理系统也逐渐快速发展起来,网上管理模式很快融入到了许多生活之中,随之就产生了“小徐影城管理系统”,这样就让小徐影城管理系统更加方便简单。 对于本小徐影城管理系统的设计来说,系统开发主要是采用java语言技术,在整个系统的设计中应用MySQL数据库来完成数据存储,具体根据小徐影城管理系统的现状来进行开发的,具体根据现实的需求来实现小徐影城管理系统网络化的管理,各类信息有序地进行存储,进入小徐影城管理系统页面之后,方可开始操作主控界面,主要功能包括管理员:首页、个人中心、用户管理、电影类型管理、放映厅管理、电影信息管理、购票统计管理、系统管理、订单管理,用户前台;首页、电影信息、电影资讯、个人中心、后台管理、在线客服等功能。 本论文主要讲述了小徐影城管理系统开发背景,该系统它主要是对需求分析和功能需求做了介绍,并且对系统做了详细的测试和总结。具体从业务流程、数据库设计和系统结构等多方面的问题。望能利用先进的计算机技术和网络技术来改变目前的小徐影城管理系统状况,提高管理效率。 关键词:小徐影城管理系统;Spring Boot框架,MySQL数据库
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值