HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。
HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。
上图描述了Hadoop EcoSystem中的各层系统,其中HBase位于结构化存储层,Hadoop HDFS为HBase提供了高可靠性的底层存储支持,Hadoop MapReduce为HBase提供了高性能的计算能力,Zookeeper为HBase提供了稳定服务和failover机制。 此外,Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。 Sqoop则为HBase提供了方便的RDBMS数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便。
下面介绍一下HBase完全分布式安装的步骤:
1.使用Hadoop 0.20.2+ZooKeeper 3.3.3+HBase 0.90.3,
2.下载HBase 0.90.3,解压至/home/grid/hbase
3.先检测zookeeper是否安装正确
HBase需要zookeeper,所以在配置HBase前务必确定zookeeper可以正常运行.
HBase有两种方式使用zookeeper服务,第一种是使用已经存在的独立zookeeper服务,另外一种是由HBase自己管理zookeeper服务,这里我们让HBase来管理zookeeper,可以少打一些命令:)
4.配置hbase/conf/hbase-site.xml
增加如下行:
- <configuration>
- <property>
- <name>hbase.zookeeper.quorum</name>
- <value>hadoop1.ahau.edu.cn,hadoop2.ahau.edu.cn,hadoop3.ahau.edu.cn,hadoop4.ahau.edu.cn</value>
- <description>Comma separated list of servers in the ZooKeeper Quorum.
- For example, "host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".
- By default this is set to localhost for local and pseudo-distributed modes
- of operation. For a fully-distributed setup, this should be set to a full
- list of ZooKeeper quorum servers. If HBASE_MANAGES_ZK is set in hbase-env.sh
- this is the list of servers which we will start/stop ZooKeeper on.
- </description>
- </property>
- <property>
- <name>hbase.zookeeper.property.dataDir</name>
- <value>/home/grid/zookeeper/</value>
- <description>Property from ZooKeeper's config zoo.cfg.
- The directory where the snapshot is stored.
- </description>
- </property>
- <property>
- <name>hbase.rootdir</name>
- <value>hdfs://hadoop1.ahau.edu.cn:9100/hbase</value>
- </property>
- <property>
- <name>hbase.cluster.distributed</name>
- <value>true</value>
- </property>
- </configuration>
hbase.zookeeper.quorum指定所有zookeeper的节点
hbase.zookeeper.property.dataDir指定zookeeper的数据目录
hbase.rootdir指定hdfs的路径
hbase.cluster.distributed为true表示完全分布式部署
5.修改hbase/conf/hbase-evn.sh
- export JAVA_HOME=/usr/local/jdk1.6.0_25 #JAVA的目录
- export HBASE_CLASSPATH=/home/grid/hadoop/conf #Hadoop配置所在目录
- export HBASE_OPTS="-ea -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"
- export HBASE_MANAGES_ZK=true #HBase是否管理zookeeper
6.将zookeeper的配置文件zoo.cfg复制到HBASE_CLASSPATH指定的目录
7.复制hadoop/conf/hdfs-site.xml到hbase/conf目录
8.把所有节点加入hbase/conf/regionservers,每行一个主机名
9.所有主机名都要做好反向解析,否则启动HBase会报错
10.检测一下HBase是否能够启动zookeeper
hbase$bin/hbase-daemon.sh start zookeeper
hbase#bin/hbase-daemon.sh stop zookeeper
11.把hbase目录同步到所有的节点服务器
12.启动时,先启动Hadoop,然后是HBase,关闭时,先停止HBase,再停止Hadoop
13.启动Hadoop
hadoop$bin/start-all.sh
启动HBase
hbase$bin/start-hbase.sh
14.启动以后可能会遇到问题,具体的问题日志里都会有写,本文最后有一些常见的问题的解决办法
15.打开页面http://hadoop1.ahau.edu.cn:60010/master.jsp
查看hbase的状态,此时会有一个提醒框
分布式系统有个这么个提示,不是很蛋疼,所以一定要解决掉
16.按照wiki的提示,在hadoop/conf/hdfs-site.xml和hbase/conf/hdfs-site.xml里增加dfs.support.append的支持
- <property>
- <name>dfs.support.append</name>
- <value>true</value>
- </property>
17.无果,仍旧有上面的提示,开始漫长的google
18.HBase的官网上有写,hbase不支持官方的0.20.2的dfs.support.append,需要自己编译分支hadoop
19.编译安装可以参考 北飞孤雁 大神的博客
或者
第二个地址是英文的
20.编译需要git和ant,ant的版本最好在1.8.0以上,我用1.7.6时报错
21.编译出来的jar包,需要替换原来hadoop里的包,也就是说要把原来的包删掉,否则hadoop还是会启动老的jar包
22.把新编译出来的jar包同步到所有节点
23.再次启动hadoop和hbase,那个红色的提示消失了
常见问题汇总:
1.使用官方的hadoop0.20.2时,启动hbase报错:
- FATAL master.HMaster: Unhandled exception. Starting shutdown.org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch. (client = 42, server = 41)
原因是hbase/lib里的包与hadoop的不一致,把hadoop目录里的hadoop-0.20.2-core.jar复制到hbase的lib里就可以解决
2.启动hbase,报:
- no valid quorum servers found in zoo.cfg
zoo.cfg一定要复制到hadoop/conf目录下,否则就会报这个错
3.hbase报错
- Could not find my address
有两种情况会导致这个错误,1主要是因为没有做反向解析,2是因为没有复制zoo.cfg,导致hbase读不到zookeeper的配置
分享到:
相关推荐
hadoop2.7分布式完全安装配置手册,含hbase1.2安装配置,图文并茂,一看就会。
该手册内容全面,涵盖了从 HBase 的基本概念、安装配置到运行维护的方方面面。首先,手册从介绍 HBase 入手,然后通过快速入门指南引导用户搭建起单机版的 HBase 环境,接着深入探讨了 HBase 的配置细节,包括配置...
### Hadoop2.2.0 + HBase0.98.1 + Sqoop1.4.4 + Hive0.13 完全安装手册 #### 前言 随着大数据技术的发展,Hadoop已经成为处理海量数据的核心框架之一。本文旨在为读者提供一套最新的Hadoop2.2.0、HBase0.98.1、...
接下来,教程会详细介绍Hadoop完全分布式模式的设置步骤,这包括但不限于: 1. **环境准备**:安装Java开发环境,配置系统环境变量,确保所有节点间网络互通。 2. **安装Hadoop**:下载Hadoop源码,解压并配置...
这包括设置Hadoop环境变量、配置Hadoop集群(单机、伪分布式和完全分布式)、启动和停止Hadoop服务等步骤。此外,还会讲解如何使用Hadoop自带的工具进行数据操作,如HDFS的文件上传、下载和管理。 "Hadoop和Hbase...
【Hadoop实验手册.docx】是一份详细的...以上步骤详尽地介绍了从零开始构建一个Hadoop云计算环境,包括Hadoop的分布式集群配置,HBase和Hive的安装和基本设置。这份手册为初学者提供了实践Hadoop生态系统的基础指导。
- 安装与配置Hadoop环境,包括单机模式、伪分布式和完全分布式集群的搭建。 - MapReduce编程模型,如何编写Mapper和Reducer,以及如何处理键值对。 - HDFS操作,包括数据上传、下载、查看及管理。 - YARN资源...
- **HBase**: 分布式、可扩展的列族数据库。 - **ZooKeeper**: 协调服务,用于维护分布式应用的一致性。 - **Oozie**: 工作流调度系统。 - **Pig**: 数据流语言和执行框架,简化复杂数据处理。 - **Sqoop**: 在...
6. **Hadoop安装与配置**:详述在不同操作系统上安装Hadoop的步骤,包括单机模式、伪分布式模式和完全分布式模式的配置,以及环境变量设置和集群优化技巧。 7. **数据输入与输出**:理解Hadoop如何处理不同类型的...
此外,集群的部署、安装和配置过程较为复杂,通常需要手动调整配置文件,并在每台服务器上进行配置分发,这增加了出错的风险。同时,社区版Hadoop缺乏集成的运行监控和运维工具,通常需要结合ganglia、nagios等工具...
1. **Hadoop安装与配置**:包括Hadoop环境的搭建,配置文件详解,以及如何进行单机模式、伪分布式模式和完全分布式模式的安装。 2. **HDFS原理**:讲解HDFS的数据存储模型,命名空间,副本策略,以及数据块的读写...
同时,理解伪分布式和完全分布式模式的区别也是很重要的,前者在单机上模拟分布式环境,后者则在多台机器上实现真正的集群部署。 三、HDFS操作 Hadoop用户需要熟悉HDFS的基本操作,如使用Hadoop命令行工具hadoop ...
7. **大数据框架搭建**:这部分内容将指导你如何安装、配置和管理Hadoop集群,包括单节点模式、伪分布式模式和完全分布式模式。同时,还会介绍如何在集群上部署和运行HBase、Hive等组件,实现大数据环境的搭建。 8....
- **安装部署**:涵盖单机模式、伪分布式模式和完全分布式模式的安装步骤。 - **配置优化**:包括内存调优、网络调优、磁盘I/O优化等方面。 - **故障排查**:如何诊断和解决NameNode、DataNode、MapReduce等组件...
1. **安装和配置Drill**:包括下载、构建、配置Drill的单节点或分布式集群。 2. **基本查询操作**:学习如何编写和执行SQL查询,包括SELECT、WHERE、JOIN等语句。 3. **处理JSON数据**:了解如何查询和解析嵌套及...
作为Hadoop和Hbase等大数据处理框架的关键组成部分,ZooKeeper旨在解决分布式环境下的诸多复杂问题,如配置管理、命名服务、分布式同步和组服务等。 **Zookeeper架构图** ZooKeeper的架构设计基于客户端-服务器模型...
通过这份Sqoop手册,你可以深入理解 Sqoop 的使用方法,掌握如何配置和调优 Sqoop 任务,以及如何解决常见问题。对于需要在 Hadoop 和 RDBMS 之间进行数据交换的场景,Sqoop 是一个非常实用的工具。