2.1.2.1. ssh
必须安装ssh , sshd 也必须运行,这样Hadoop的脚本才可以远程操控其他的Hadoop和HBase进程。ssh之间必须都打通,不用密码都可以登录,详细方法可以Google一下 ("ssh passwordless login").
2.1.2.2. DNS
HBase使用本地 hostname 才获得IP地址. 正反向的DNS都是可以的.
如果你的机器有多个接口,HBase会使用hostname指向的主接口.
如果还不够,你可以设置 hbase.regionserver.dns.interface 来指定主接口。当然你的整个集群的配置文件都必须一致,每个主机都使用相同的网络接口
还有一种方法是设置 hbase.regionserver.dns.nameserver来指定nameserver,不使用系统带的.
2.1.2.3. Loopback IP
HBase expects the loopback IP address to be 127.0.0.1. Ubuntu and some other distributions, for example, will default to 127.0.1.1 and this will cause problems for you.
/etc/hosts should look something like this:
127.0.0.1 localhost
127.0.0.1 ubuntu.ubuntu-domain ubuntu
2.1.2.4. NTP
集群的时钟要保证基本的一致。稍有不一致是可以容忍的,但是很大的不一致会造成奇怪的行为。 运行 NTP 或者其他什么东西来同步你的时间.
如果你查询的时候或者是遇到奇怪的故障,可以检查一下系统时间是否正确!
2.1.2.5. ulimit 和 nproc
HBase是数据库,会在同一时间使用很多的文件句柄。大多数linux系统使用的默认值1024是不能满足的,会导致FAQ: Why do I see "java.io.IOException...(Too many open files)" in my logs?异常。还可能会发生这样的异常
2010-04-06 03:04:37,542 INFO org.apache.hadoop.hdfs.DFSClient: Exception increateBlockOutputStream java.io.EOFException
2010-04-06 03:04:37,542 INFO org.apache.hadoop.hdfs.DFSClient: Abandoning block blk_-6935524980745310745_1391901
所以你需要修改你的最大文件句柄限制。可以设置到10k。大致的数学运算如下:每列族至少有1个存储文件(StoreFile) 可能达到5-6个如果区域有压力。将每列族的存储文件平均数目和每区域服务器的平均区域数目相乘。例如:假设一个模式有3个列族,每个列族有3个存储文件,每个区域服务器有100个区域,JVM 将打开3 * 3 * 100 = 900 个文件描述符(不包含打开的jar文件,配置文件等)
你还需要修改 hbase 用户的 nproc,在压力下,如果过低会造成 OutOfMemoryError异常[3] [4]。
需要澄清的,这两个设置是针对操作系统的,不是HBase本身的。有一个常见的错误是HBase运行的用户,和设置最大值的用户不是一个用户。在HBase启动的时候,第一行日志会现在ulimit信息,确保其正确。[5]
2.1.2.5.1. 在Ubuntu上设置ulimit
如果你使用的是Ubuntu,你可以这样设置:
在文件 /etc/security/limits.conf 添加一行,如:
hadoop - nofile 32768
可以把 hadoop 替换成你运行HBase和Hadoop的用户。如果你用两个用户,你就需要配两个。还有配nproc hard 和 soft limits. 如:
hadoop soft/hard nproc 32000
.
在 /etc/pam.d/common-session 加上这一行:
session required pam_limits.so
否则在 /etc/security/limits.conf上的配置不会生效.
还有注销再登录,这些配置才能生效!
2.1.2.6. Windows
HBase没有怎么在Windows下测试过。所以不推荐在Windows下运行.
如果你实在是想运行,需要安装Cygwin 并虚拟一个unix环境.详情请看 Windows 安装指导 . 或者 搜索邮件列表找找最近的关于windows的注意点
2.1.3. hadoop
选择 Hadoop 版本对HBase部署很关键。下表显示不同HBase支持的Hadoop版本信息。基于HBase版本,应该选择合适的Hadoop版本。我们没有绑定 Hadoop 发行版选择。可以从Apache使用 Hadoop 发行版,或了解一下Hadoop发行商产品: http://wiki.apache.org/hadoop/Distributions%20and%20Commercial%20Support
Table 2.1. Hadoop version support matrix
HBase-0.92.x HBase-0.94.x HBase-0.96
Hadoop-0.20.205 S X X
Hadoop-0.22.x S X X
Hadoop-1.0.x S S S
Hadoop-1.1.x NT S S
Hadoop-0.23.x X S NT
Hadoop-2.x X S S
S = supported and tested,支持
X = not supported,不支持
NT = not tested enough.可以运行但测试不充分
由于 HBase 依赖 Hadoop,它配套发布了一个Hadoop jar 文件在它的 lib 下。该套装jar仅用于独立模式。在分布式模式下,Hadoop版本必须和HBase下的版本一致。用你运行的分布式Hadoop版本jar文件替换HBase lib目录下的Hadoop jar文件,以避免版本不匹配问题。确认替换了集群中所有HBase下的jar文件。Hadoop版本不匹配问题有不同表现,但看起来都像挂掉了。
修改hostname 直接 使用命令 hostname hadoop1 直接生效。。
修改/etc/hosts 并不及时生效 。需要重启??
hbase 和hadoop集群 时间一定要同步。
发生诡异问题,可以查看zk上的配置属性如:
[zk: localhost:2181(CONNECTED) 1] ls /hbase
[splitlog, online-snapshot, unassigned, root-region-server, rs, table92, backup-masters, hadoop1, table, draining, shutdown, hbaseid]
[zk: localhost:2181(CONNECTED) 2] ls /hbase/rs
[hadoop2,60020,1372646349424, hadoop1,60020,1372646349495]
可以帮助你快速定位问题。
分享到:
相关推荐
2. **Hadoop 安装**:如果要在 HDFS 文件系统模式下使用 HBase,则除了 JDK 外,还需要安装 Hadoop。HDFS 是 Hadoop 项目的核心子项目之一,用于提供高效的数据存储和访问能力。本文档所使用的 HBase 版本依赖于 ...
【大数据技术基础实验报告-HBase安装配置和应用实践】 这篇实验报告主要涵盖了HBase的安装、配置以及基本应用,这是大数据技术中一个重要的组件,它是一个分布式的、面向列的数据库,尤其适合处理大规模的数据。 1...
在本文中,我们将深入探讨HBase的安装过程及其在CDH环境中的集成。HBase是Apache Hadoop生态系统中的一个核心组件,它是一个分布式、版本化的、支持列族的NoSQL数据库,特别适合处理大规模的数据存储。CDH(Cloudera...
1. **环境准备**:首先确保已安装Java Development Kit(JDK)且版本不低于1.8,因为HBase依赖于Java运行环境。 2. **下载HBase**:从Apache官网下载最新稳定版的HBase二进制包,解压到指定目录。 3. **配置环境变量...
在教程中,"云计算实验-hadoop和Hbase的安装使用.pdf"很可能是详尽的步骤指南,包含了每个环节的截图和具体配置示例,有助于初学者直观理解。而"readme.txt"通常包含简要说明或注意事项,比如系统需求、安装前提、...
在Linux环境下,构建基于Hadoop集群的Zookeeper和Hbase安装及配置是一项关键任务,因为这两个组件在大数据处理中扮演着重要角色。Hadoop生态系统中的HBase是一个分布式数据库,它建立在Hadoop集群的HDFS(Hadoop ...
### 基于集群的HBase安装和配置 #### Zookeeper简介 Zookeeper作为Hadoop生态中的关键组件,主要用于提供高可用性和分布式协调服务。它能够有效地管理Hadoop集群中的各种资源和服务,例如Hadoop NameNode管理和...
重启HMaster服务,HBase会自动分配工作负载到新节点。 2. 移除节点:在HBase的`regionservers`文件中移除节点的主机名,然后停止该节点上的HBase服务。HBase会自动重新平衡负载到其他节点。 在运行过程中,可能会...
HBase 详细安装步骤 HBase 是一个分布式、面向列的 NoSQL 数据库,它基于 Hadoop 的分布式文件系统(HDFS)和 MapReduce 编程模型...注意:在安装过程中,需要授予权限和修改配置文件,以确保 HBase 安装和运行成功。
在本文中,我们将详细讲解Hbase的安装过程以及基本操作,特别针对在Linux环境下使用清华大学镜像进行下载的情况。Hbase是一个分布式的、面向列的数据库,常用于大数据存储,是Apache Hadoop生态系统的一部分。以下是...
在Windows上安装HBase 本文将指导您如何在Windows平台上安装HBase,包括配置详解。安装完成后,您将能够配置集群。 一、前提条件 在安装HBase前,需要安装Cygwin和Hadoop。这两个软件的安装不在本文的讨论范围内...
### Zookeeper及HBase安装配置详解 #### 一、Zookeeper安装配置 **目标环境**: - 三台服务器:192.168.15.5(master)、192.168.15.6(slave1)、192.168.15.7(slave2) **步骤一:主机名映射** - 在每台服务器...
根据提供的文件信息,以下是对HBase安装部署过程的详细知识点解析: ### HBase安装部署步骤 #### 一、上传并解压HBase安装包 - **上传安装包**:首先需要将HBase的安装包上传至每台服务器,并在服务器上进行解压...
【分布式数据库HBase安装配置与实践】 HBase是一款基于Google Bigtable理念设计的开源NoSQL数据库,它构建在Hadoop之上,适用于处理大规模数据。在本文档中,我们将详细介绍如何在Linux环境中安装、配置和实践HBase...
指导手册06:HBase安装部署 hbase配置文件
4. **配置HBase**:编辑`$HBASE_HOME/conf/hbase-site.xml`文件,设置HDFS为HBase的默认文件系统,并配置其他必要参数,如`hbase.rootdir`(HBase的数据目录)和`hbase.zookeeper.quorum`(Zookeeper服务器列表)。...
【大数据实验Hbase安装部署和使用javaapi调用】 在这个实验中,我们将深入理解HBase在Hadoop生态系统中的角色,并掌握如何在Ubuntu 19.04操作系统上安装、配置和使用HBase,同时利用Java API进行编程。实验中使用的...
### HBASE使用注意事项详解 #### 一、表设计注意事项 **1. 配置hostname** - **背景**:HBase依赖于Zookeeper进行服务管理,两者均基于域名解析来识别节点。 - **操作**:确保配置文件中正确设置了`hostname`,...
在正式开始Hadoop和HBase的安装之前,我们需要做一些准备工作。这些准备包括了安装必要的软件环境,例如虚拟机环境和SSH客户端,以及对虚拟机的基本配置。 ##### 1.1 安装VMware - **步骤**:从网络上下载并安装...
2. `hbase-2.2.2-src.tar.gz`:这是HBase的源代码包,适合开发者进行二次开发或者想要深入理解HBase工作原理的用户。你可以编译源代码,生成自己的二进制文件,或者查看、修改源代码以满足特定需求。 安装HBase涉及...