首页 / HBASE / HBASE完全分布式模式的安装
HBASE完全分布式模式的安装
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了HBASE完全分布式模式的安装,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含7049字,纯文字阅读大概需要11分钟。
内容图文
hadoop环境搭建好了,也学习了在eclipse中调试wordcount了,嘿嘿,下面试试hbase集成进去,年后争取顺利转入hadoop工作
首先 hadoop 和hbase版本需要对应,不然很多未知问题的 对应表如下
Table 2.1. Hadoop version support matrix
HBase-0.92.x | HBase-0.94.x | HBase-0.96.0 | |
---|---|---|---|
Hadoop-0.20.205 | S | X | X |
Hadoop-0.22.x | S | X | X |
Hadoop-1.0.0-1.0.2[a] | S | S | X |
Hadoop-1.0.3+ | S | S | S |
Hadoop-1.1.x | NT | S | S |
Hadoop-0.23.x | X | S | NT |
Hadoop-2.0.x-alpha | X | NT | X |
Hadoop-2.1.0-beta | X | NT | S |
Hadoop-2.2.0 | X | NT | S |
Hadoop-2.x | X | NT | S |
[a] HBase requires hadoop 1.0.3 at a minimum; there is an issue where we cannot find KerberosUtil compiling against earlier versions of Hadoop.
|
S = supported and tested,
X = not supported,
NT = it should run, but not tested enough.
<H2 style=‘margin: 0px; padding: 0px; font-family: "Microsoft YaHei";‘><SPAN style=‘font-family: "Microsoft YaHei";‘>1集群环境下hadoop.1.0.0已经安装成功"Microsoft YaHei";‘>"Microsoft YaHei";‘> 确保hadoop集群正常。 hadoop dfsadmin -report
正常就ok 配置好需要安装hbase的机器,因为要用到zoopkeeper最好确保机器个数为奇数个。 注意事项,hbase的版本要兼容hadoop集群的hadoop-core-xxx.jar的版本。最好hbase版本里lib下的hadoop-core-xxx.jar和hadoop集群的一样。 所以这里我选择了HBase-0.94.0,
对应<SPAN
style=‘font-family: "Microsoft YaHei";‘>hadoop-core-1.0.0.jar 解压hbase过程略过。 ①配置环境变量。 su 切换root用户 vi
/etc/profile ②使环境变量生效
source
/etc/profile su
hadoop ③验证hbase hbase
version "Microsoft YaHei";‘>在 $HBASE_HOME/conf/hbase-site.xml 添加下面内容(hbase-0.94版本压缩包解压后会有 $HBASE_HOME/src/main/resources/hbase-default.xml
(不用全拷,其实就下面的就够了)拷贝里面的内容加入) 启动Hbase之前要确保zookeeper起来了 而且hadoop要处于非安全模式下(重要),hadoop启动后默认有30秒属于安全模式 查看命令 如果是ON ,可以等30秒或者 然后再启动hbase 停止hbase <SPAN
style=‘font-family: "Microsoft YaHei"; font-size: 14px;‘>stop-hbase.sh 验证:jps
可以查看进程 或者
用 hbase shell尝试进入 hbase环境 9问题总结 试验中,出现上面的问题,在master机器上,HMaster服务起来了一会,自动就关掉了,而http://192.168.40.145:60010/master-status
也打不开, 这个问题可能是存在于 hadoop的 namenode的VERSION不一致了,两个办法 原因:每次namenode
format会重新创建一个namenodeId,而tmp/dfs/data下包含了上次format下的id,namenode
format清空了namenode下的数据,但是没有清空datanode下的数据,导致启动时失败,所要做的就是每次fotmat前,清空tmp一下的所有目录。 第一种解决方案如下: 1)先删除"/usr/hadoop/tmp" rm -rf
/usr/hadoop/tmp 2)创建"/usr/hadoop/tmp"文件夹 mkdir
/usr/hadoop/tmp 3)删除"/tmp"下以"hadoop"开头文件 rm
-rf /tmp/hadoop* 4)重新格式化hadoop hadoop namenode
-format 5)启动hadoop start-all.sh 使用第一种方案,有种不好处就是原来集群上的重要数据全没有了。假如说Hadoop集群已经运行了一段时间。建议采用第二种。 第二种方案如下: 1)修改每个Slave的namespaceID使其与Master的namespaceID一致。 或者 2)修改Master的namespaceID使其与Slave的namespaceID一致。 该"namespaceID"位于"/usr/hadoop/tmp/dfs/data/current/VERSION"文件中,前面蓝色的可能根据实际情况变化,但后面红色是不变的。 例如:查看"Master"下的"VERSION"文件 保证namenode和datanode上这个一致就ok了 测试环境可以采用第一种直接format,实际生产环境推荐第二种 原文:http://www.cnblogs.com/fw5454f/p/3518713.html0px; padding: 0px; font-family: "Microsoft YaHei";‘>"Microsoft YaHei";‘>2配置hosts,确保涉及的主机名均可以解析为ip, 解压hbase(hadoop用户安装)
tar -zxvf /home/hadoop/hbase-0.94.0-hadoop1-bin.tar.gz
mv hbase-0.94.0-hadoop1 hbase ##重命名为hbase
export HBASE_HOME=/home/hadoop/hbase
export PATH=.:$HBASE_HOME/bin:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
3编辑$HBASE_HOME/conf/hbase-env.xml
#Java环境
export JAVA_HOME=/usr/java/jdk1.6.0_24
#通过hadoop的配置文件找到hadoop集群
export HBASE_CLASSPATH=/usr/hadoop/conf (我的hadoop放usr下面了)
#使用HBASE自带的zookeeper管理集群
export HBASE_MANAGES_ZK=true
<SPAN
style=‘font-family: "Microsoft YaHei";‘>4编辑$HBASE_HOME/conf/hbase-site.xml
<configuration><property><name>hbase.rootdir</name><value>hdfs://192.168.40.145:9000/hbase</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.zookeeper.session.timeout</name><value>60000</value></property><property><name>hbase.zookeeper.property.clientPort</name><value>2181</value></property><property><name>hbase.master.port</name><value>60000</value></property><property><name>hbase.master</name><value>Master.Hadoop</value></property><property><name>hbase.tmp.dir</name><value>/home/hadoop/hbase/hbase-tmp</value></property><property><name>hbase.zookeeper.quorum</name><value>Master.Hadoop</value></property><property><name>hbase.zookeeper.property.dataDir</name><value>/home/hadoop/hbase/hbase-tmp/zookeeper</value></property></configuration>
0px; padding: 0px; font-family: "Microsoft YaHei";‘>5编辑$HBASE_HOME/conf/regionservers文件
0px; padding: 0px; font-family: "Microsoft YaHei";‘>6把Hbase复制到其它节点
0px; padding: 0px; font-family: "Microsoft YaHei";‘>7启动Hbase
[hadoop@Master logs]$ jps
22484 Jps
21854 SecondaryNameNode
21938 JobTracker
21677 NameNode
22069 QuorumPeerMain
hadoop dfsadmin -safemode get
hadoop dfsadmin -safemode leave
start-hbase.sh [hadoop@Master logs]$ jps
22513 Jps
21854 SecondaryNameNode
21938 JobTracker
22269 HMaster
21677 NameNode
22069 QuorumPeerMain
0px; padding: 0px; font-family: "Microsoft YaHei";‘>"Microsoft YaHei";‘>8验证启动
0px; padding: 0px; font-family: "Microsoft YaHei";‘>21px/26px "Microsoft YaHei"; text-align: left; color: rgb(51, 102, 153); text-transform: none; text-indent: 0px; letter-spacing: normal; text-decoration: none; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; background-color: rgb(255, 255, 255); -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;‘>
2014-01-15 14:03:11,120 DEBUG org.apache.hadoop.hbase.util.FSUtils: Created version file at hdfs://192.168.40.145:9000/hbase set its version at:7
2014-01-15 14:03:11,135 WARN org.apache.hadoop.hdfs.DFSClient: DataStreamer Exception: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /hbase/hbase.version could only be replicated to 0 nodes, instead of 1
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1558)
at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:696)
at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:563)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1388)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1384)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1382)
内容总结
以上是互联网集市为您收集整理的HBASE完全分布式模式的安装全部内容,希望文章能够帮你解决HBASE完全分布式模式的安装所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。