本篇介绍两种HBase的安装方式:本地安装方式和伪分布式安装方式。
安装的前提条件是已经成功安装了Hadoop,而且hadoop的版本要和hbase的版本相匹配。
我将要安装的hbase是hbase-0.94.11版本,需要的hadoop是hadoop-1.2.1版本。
hbase下载地址:http://mirror.bit.edu.cn/apache/hbase/hbase-0.94.11/
将下载的hbase-0.94.11解压到相应的目录,如/usr/hbase-0.94.11
将hbase-0.90.4重命名为hbase
mv hbase-0.94.11 hbase
首先需要将hbase下的bin目录添加到系统的path中,修改/etc/profile,添加如下的内容:
export PATH=$PATH:/usr/hbase/bin
1.单机安装 修改hbase下的conf目录下的配置文件hbase-env.sh
首先,修改hbase-env.sh中的如下属性:
export JAVA_HOME=/usr/java/jdk1.6 export HBASE_MANAGES_ZK=true //此配置信息,设置由hbase自己管理zookeeper,不需要单独的zookeeper。
2.伪分布式安装 修改hbase-0.90.4下的conf目录下的配置文件hbase-env.sh和hbase-site.xml
首先,修改hbase-env.sh中的如下属性:
export JAVA_HOME=/usr/java/jdk1.6 export HBASE_CLASSPATH=/usr/hadoop/conf export HBASE_MANAGES_ZK=true
然后,修改hbase-site.xml文件
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://192.168.70.130:9000/hbase</value> >//此属性要根据自己的hadoop的配置信息进行相应的修改 </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> </configuration>
完成以上操作,就可以正常启动Hbase了,启动顺序:先启动Hadoop——>再启动Hbase,关闭顺序:先关闭Hbase——>再关闭Hadoop。
首先启动hadoop,(如果hadoop已经正常启动可以不再启动,直接查看进程是否正确,如果进程不正确,那么必须重新调试hadoop确保hadoop正常运行后再启动hbase),这里还要让HDFS处于非安全模式:bin/hadoop dfsadmin -safemode leave
start-all.sh //启动hadoop jps //查看进程
2564 SecondaryNameNode 2391 DataNode 2808 TaskTracker 2645 JobTracker 4581 Jps 2198 NameNode
启动hbase:
start-hbase.sh
jps 查看:
2564 SecondaryNameNode 2391 DataNode 4767 HQuorumPeer 2808 TaskTracker 2645 JobTracker 5118 Jps 4998 HRegionServer 4821 HMaster 2198 NameNode
可以看到,HBase的相关进程已经启动了
hbase shell
进入shell模式
HBase Shell; enter 'help<RETURN>' for list of supported commands. Type "exit<RETURN>" to leave the HBase Shell Version 0.94.12, r1524863, Fri Sep 20 00:25:45 UTC 2013 hbase(main):001:0>
通过:http://localhost:60010/master-status ,可以访问HBase状态
停止hbase 如果在操作Hbase的过程中发生错误,可以通过hbase安装主目录下的logs子目录查看错误原因
先停止hbase
stop-hbase.sh
再停止hadoop
stop-all.sh
错误解决方法:
1.报错如下: localhost: Exception in thread "main" org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch. (client = 42, server = 41) 所以如果遇到以上错误,就通过替换jar包解决。(一般使用新版本的hadoop 和 hbase不会出现这种错误)
替换Hbase中的jar包 需要用{HADOOP_HOME}下的hadoop-1.2.1-core.jar 替换掉{HBASE_HOME}/lib目录下的hadoop-1.2.1-append-r1056497.jar 。如果不替换jar文件Hbase启动时会因为hadoop和Hbase的客户端协议不一致而导致HMaster启动异常。
2.错误如下:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/........../lib/slf4j-log4j12-1.5.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/........../slf4j-log4j12-1.5.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
:hadoop中lib里slf4j-api-1.4.3.jar、slf4j-log4j12-1.4.3.jar和hbase中lib里对应的这两个jar包版本不一致导致冲突,把hbase里的替换成hadoop里的就可以了
3.有时候安装hbase完全分布式时会出现奇怪的问题,先去查下集群中各个服务器时间,是否相差太多,最好一致
NTP:集群的时钟要保证基本的一致。稍有不一致是可以容忍的,但是很大的不一致会 造成奇怪的行为。 运行 NTP 或者其他什么东西来同步你的时间.
如果你查询的时候或者是遇到奇怪的故障,可以检查一下系统时间是否正确!
设置集群各个节点时钟:date -s “2012-02-13 14:00:00”
4.2014-10-09 14:11:53,824 WARN org.apache.hadoop.hbase.master.AssignmentManager: Failed assignment of -ROOT-,,0.70236052 to 127.0.0.1,60020,1412820297393, trying to assign elsewhere instead; retry=0
org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed setting up proxy interface org.apache.hadoop.hbase.ipc.HRegionInterface to /127.0.0.1:60020 after attempts=1
at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.Java:242)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1278)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1235)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1222)
at org.apache.hadoop.hbase.master.ServerManager.getServerConnection(ServerManager.java:496)
at org.apache.hadoop.hbase.master.ServerManager.sendRegionOpen(ServerManager.java:429)
at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1592)
at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1329)
at org.apache.hadoop.hbase.master.AssignCallable.call(AssignCallable.java:44)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.net.ConnectException: Connection refused
解决如下:
/etc/hosts里边配置出的问题
127.0.1.1 后边是对应的主机名
将127.0.1.1改为127.0.0.1,问题解决
相关推荐
HBase(hbase-2.4.9-bin.tar.gz)是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System...
`hbase-1.2.0-cdh5.14.2.tar.gz` 是针对Cloudera Distribution Including Apache Hadoop (CDH) 5.14.2的一个特定版本的HBase打包文件。CDH是一个流行的Hadoop发行版,包含了多个大数据组件,如HDFS、MapReduce、YARN...
赠送jar包:flink-hbase_2.11-1.10.0.jar; 赠送原API文档:flink-hbase_2.11-1.10.0-javadoc.jar; 赠送源代码:flink-hbase_2.11-1.10.0-sources.jar; 赠送Maven依赖信息文件:flink-hbase_2.11-1.10.0.pom; ...
`phoenix-hbase-2.2-5.1.2-bin.tar.gz`这个压缩包包含了Phoenix 2.2版本与HBase 5.1.2版本的二进制文件,用户可以解压后在本地或集群环境中安装和运行。安装步骤通常包括配置环境变量、创建HBase和Phoenix的目录结构...
总结,"phoenix-hbase-2.4-5.1.2"版本的结合提供了强大而便捷的大数据处理能力。通过理解这两个技术的核心原理,以及在实际操作中的最佳实践,我们可以更好地利用这一组合解决大数据场景下的挑战。无论是数据存储、...
总结来说,HBase-2.4.17-bin安装包提供了一个强大且高效的NoSQL数据库,适合大数据场景下的实时读写操作。通过理解并掌握上述概念、安装步骤及操作方法,用户可以有效地利用HBase处理海量数据。
"phoenix-hbase-1.4-4.16.1-bin" 是一个包含Phoenix和HBase特定版本的二进制发行版,其中包含了运行和开发Phoenix应用所需的所有组件。这个版本对应的是Phoenix 1.4和HBase 4.16.1的组合,是针对特定HBase版本优化的...
赠送jar包:hbase-hadoop-compat-1.1.3.jar; 赠送原API文档:hbase-hadoop-compat-1.1.3-javadoc.jar; 赠送源代码:hbase-hadoop-compat-1.1.3-sources.jar; 赠送Maven依赖信息文件:hbase-hadoop-compat-1.1.3....
赠送jar包:hbase-prefix-tree-1.1.3.jar; 赠送原API文档:hbase-prefix-tree-1.1.3-javadoc.jar; 赠送源代码:hbase-prefix-tree-1.1.3-sources.jar; 赠送Maven依赖信息文件:hbase-prefix-tree-1.1.3.pom; ...
标题“hbase-1.2.1-bin.tar.gz.zip”表明这是HBase 1.2.1版本的二进制发行版,以tar.gz格式压缩,并且进一步用zip压缩。这种双重压缩方式可能用于减小文件大小,方便在网络上传输。用户需要先对zip文件进行解压,...
赠送jar包:hbase-metrics-api-1.4.3.jar; 赠送原API文档:hbase-metrics-api-1.4.3-javadoc.jar; 赠送源代码:hbase-metrics-api-1.4.3-sources.jar; 赠送Maven依赖信息文件:hbase-metrics-api-1.4.3.pom; ...
phoenix-client-hbase-2.2-5.1.2.jar
赠送jar包:hbase-hadoop-compat-1.1.3.jar; 赠送原API文档:hbase-hadoop-compat-1.1.3-javadoc.jar; 赠送源代码:hbase-hadoop-compat-1.1.3-sources.jar; 赠送Maven依赖信息文件:hbase-hadoop-compat-1.1.3....
HBase 元数据修复工具包。 ①修改 jar 包中的application.properties,重点是 zookeeper.address、zookeeper.nodeParent、hdfs....③开始修复 `java -jar -Drepair.tableName=表名 hbase-meta-repair-hbase-2.0.2.jar`
赠送jar包:hbase-common-1.4.3.jar; 赠送原API文档:hbase-common-1.4.3-javadoc.jar; 赠送源代码:hbase-common-1.4.3-sources.jar; 赠送Maven依赖信息文件:hbase-common-1.4.3.pom; 包含翻译后的API文档:...
这个压缩包"**hbase-2.0.2-bin.tar**"包含了HBase 2.0.2的二进制发行版,它是针对大规模数据存储而优化的。HBase构建于Hadoop之上,充分利用了Hadoop的HDFS(Hadoop Distributed File System)作为底层存储,并且...
被编译的hive-hbase-handler-1.2.1.jar,用于在Hive中创建关联HBase表的jar,解决创建Hive关联HBase时报FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoop....
hbase-2.2.6-bin.tar.gz HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所...
phoenix-4.14.1-HBase-1.2-client.jar
hbase-client-2.1.0-cdh6.3.0.jar