HBase 默认配置说明(收藏版)
hbase.rootdir
这个目录是region server的共享目录,用来持久化Hbase。URL需要是'完全正确'的,还要包含文件系统的scheme。例如,要表示hdfs中的 '/hbase'目录,namenode 运行在的9090端口。则需要设置为hdfs://:9000 /hbase。默认情况下Hbase是写到/tmp的。不改这个配置,数据会在重启的时候丢失。 默认: file:///tmp/hbase-${user.name}/hbase
hbase.master.port
Hbase的Master的端口.
默认: 60000
hbase.cluster.distributed
Hbase的运行模式。false是单机模式,true是分布式模式。若为false,Hbase和Zookeeper会运行在同一个JVM里面。
默认: false
hbase.tmp.dir
本地文件系统的临时文件夹。可以修改到一个更为持久的目录上。(/tmp会在重启时清楚) 默认: /tmp/hbase-${user.name}
…… …… 余下全文
第1章 集群的搭建
1.1 集群的结构
实验环境中共有6台服务器,搭建完全分布式HDFS与HBase环境,采用的Hadoop与HBase版本为hadoop0.20.2HBase0.92.0,其中一台节点做为NameNode和Master,另一台做为Master备份节点(可以不要备份Master节点),剩余四台则做为DataNode和RegionServer节点,并且在其上运行Zookeeper服务,整个实验环境结构如图 1-1所示。
图 1-1 HBase 集群结构
1.2 基础环境
整个系统要能正常的运行,在各机器上安装需要的程序软件之前,也要正确的配置好网络连接、程序参数和系统设置等,主要包括:操作系统Ubuntu10.04、sun-java-6和OpenSSH。分别在每台服务器上安装上述的系统和程序,过程中要注意:
根据Hadoop和HBase的系统兼容性要求Linux系统的版本可以不一致,不影响HDFS和HBase的运行。
JDK的版本、安装位置和环境变量的设置都应保持一致。
OpenSSH要设置为无密码访问,确保各服务器之间能正常通信。 各服务器配置如表 1-1所示。
…… …… 余下全文
Hbase分布式详细安装步骤
Hbase(版本:0.20.6)安装
注:自0.20.5以后版本集成了zookeeper,可匹配Hadoop0.20.2 准备工作:
二台机器上是这样的:都有一个coole的帐户,主目录是/home/coole 两台机器(内存应在512以上,否则可能会出现计算极度缓慢的情况): 一台机器名:master IP:211.87.239.181
一台机器名:slave IP:211.87.239.182
每台都建coole用户
四、配置Hbase
coole用户登录
1、下载/
下载hbase-0.20.6.tar.gz
2、coole用户解压hbase-0.20.6.tar.gz最终目录结构为/home/coole/hbase-0.20.6 解压命令:$tar zxvf hbase-0.20.6.tar.gz
3、配置/home/coole/hbase-0.20.6/conf下文件hbase-env.sh
用gedit打开hbase-env.sh修改
文件未尾加:
# The java implementation to use. Required.
…… …… 余下全文
hadoop端口
20xx年8月6日
9:54
端口 作用
9000 fs.defaultFS,如:hdfs://172.25.40.171:9000 9001 dfs.namenode.rpc-address,DataNode会连接这个端口 50070 dfs.namenode.http-address
50470 dfs.namenode.https-address
50100 dfs.namenode.backup.address
50105 dfs.namenode.backup.http-address
50090 dfs.namenode.secondary.http-address,如:172.25.39.166:50090
50091 dfs.namenode.secondary.https-address,如:172.25.39.166:50091
50020 dfs.datanode.ipc.address
…… …… 余下全文
Hadoop应用各端口具体用途:
Hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问。而随着Hadoop周边组件的增多,完全记不住哪个端口对应哪个应用,特收集记录如此,以便查询。 这里包含我们使用到的组件:HDFS, YARN, HBase, Hive, ZooKeeper:
其它说明:
所有端口协议均基于TCP。 对于存在Web UI(HTTP服务)的所有hadoop daemon,有如下url:
/logs
日志文件列表,用于下载和查看
/logLevel
允许你设定log4j的日志记录级别,类似于hadoop daemonlog
/stacks
所有线程的stack trace,对于debug很有帮助
/jmx
服务端的Metrics,以JSON格式输出。
/jmx?qry=Hadoop:*会返回所有hadoop相关指标。
/jmx?get=MXBeanName::AttributeName 查询指定bean指定属性的值,例如
/jmx?get=Hadoop:service=NameNode,name=NameNodeInfo::ClusterId会返回ClusterId。 这个请求的处理类:org.apache.hadoop.jmx.JMXJsonServlet
…… …… 余下全文
Hbase Java API 介绍及使用示例
几个相关类与HBase数据模型之间的对应关系
java类HBase数据模型
HBaseAdmin数据库(DataBase)
HBaseConfiguration
HTable表(Table)
HTableDescriptor列族(Column Family)
Put 列修饰符(Column Qualifier)
Get
Scanner
一、HBaseConfiguration
关系:org.apache.hadoop.hbase.HBaseConfiguration
作用:对HBase进行配置
返回值函数描述
void addResource(Path file) 通过给定的路径所指的文件来添加资源
void clear() 清空所有已设置的属性
string get(String name) 获取属性名对应的值
String getBoolean(String name, booleandefaultValue) 获取为boolean类型的属性值,如果其属性值类型部位boolean,则返回默认属性值
void set(String name, String value) 通过属性名来设置值
…… …… 余下全文
Eclipse中使用Struts2和Tomcat访问Hbase数据库
实验环境:
? Struts版本2.3.14
? Hadoop版本1.0.4
? Hbase版本 0.94.8
注意事项:
? 要求Hbase已安装完毕,正在成功运行中。Hbase安装请参考文档“Hbase分布式多结点安装运行手册.doc”(百度 文库 中 可以 下载。)
? 防火墙已经添加了相关Accept规则或者已经关闭,不会因为防火墙问题影响程序连接hbase系统。
? Hbase中hadoop-core-1.x.x.jar的版本与Hadoop中该文件的版本要保持一致,防止因版本问题出现难以排除的不明错误。
1. 添加struts2的jar包到WEB—INF的lib文件夹下
2. 把hbase开发需要用到的jar包(jar包在下载的Hbase文件夹以及lib子文件夹中)也放到WEB—INF的lib文件夹下。主要包括:
工程所需jar包如下图所示:
几点说明:
(1)Struts 2.3.14中使用commons-lang3-3.1.jar,而Hbase 0.94.8中使用
commons-lang-2.5.jar,所以需要添加commons-lang-2.5.jar,两者的package名称不同。
…… …… 余下全文
一.单机环境下配置
1. 在$HBASE_HOME/conf/hbase-env.sh中增加如下两个环境变量: export JAVA_HOME=~/jdk1.6.0_11
export HADOOP_CONF_DIR=~/hadoop/conf export HBASE_HOME=~/hbase
export HBASE_MANAGES_ZK=true
2. 将下面的内容覆盖$HBASE_HOME/conf下的hbase-site.xml文件: <?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://namenode机器名:9000/hbase</value>(注:这个值的ip和端口号要与hadoop的core-site.xml里面的“fs.default.name”的值一致,而“hbase”可以在hadoop的根目录下手动创建)
…… …… 余下全文