转:http://www.aboutyun.com/thread-10961-1-1.html
http://blog.csdn.net/michaelzhou224/article/details/10579123
HMaster的作用:
为Region server分配region 负责Region server的负载均衡 发现失效的Region server并重新分配其上的region HDFS上的垃圾文件回收 处理schema更新请求 HRegionServer作用: 维护master分配给他的region,处理对这些region的io请求 负责切分正在运行过程中变的过大的region 可以看到,client访问hbase上的数据并不需要master参与(寻址访问zookeeper和region server,数据读写访问region server),master仅仅维护table和region的元数据信息(table的元数据信息保存在zookeeper上),负载很低。 HRegionServer存取一个子表时,会创建一个HRegion对象,然后对表的每个列族创建一个Store实例,每个Store都会有一个MemStore和0个或多个StoreFile与之对应,每个StoreFile都会对应一个HFile, HFile就是实际的存储文件。因此,一个HRegion有多少个列族就有多少个Store。一个HRegionServer会有多个HRegion和一个HLog。
配置hbase集群
先要配置hadoop集群:http://blog.csdn.net/u014695188/article/details/54616458
在hadoop04主机上配置
1 。修改conf目录下hbase-env.sh export JAVA_HOME=/usr/java/jdk1.7.0_55 //告诉hbase使用外部的zk export HBASE_MANAGES_ZK=false 修改conf目录下hbase-site.xml
<configuration> <!-- 指定hbase在HDFS上存储的路径 --> <property> <name>hbase.rootdir</name> <value>hdfs://ns1/hbase</value> </property> <!-- 指定hbase是分布式的 --> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <!-- 指定zk的地址,多个用“,”分割 --> <property> <name>hbase.zookeeper.quorum</name> <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value> </property> </configuration>vim regionservers(配置 HRegionServer节点)hadoop01 hadoop02 hadoop03
拷贝hbase到其他节点
scp -r hbase-1.3.0/ hadoop01:/home/hadoop/cloud/ scp -r hbase-1.3.0/ hadoop02:/home/hadoop/cloud/ scp -r hbase-1.3.0/ hadoop03:/home/hadoop/cloud/ scp -r hbase-1.3.0/ hadoop05:/home/hadoop/cloud/ 这步主要做个说明: Hbase安装在所有节点,包括NameNode,因为NameNode我主要是让其来管理HMaster的。 安装是基于Hadoop的HA,我有两个NameNode,准备让这两个NameNode都运行HMaster。 上面regionservers里配置的3个主机名是的DataNode节点。 现在开始启动:在hadoop4上hbase目录的bin下执行:./start-hbase.sh
starting master, logging to /home/hadoop/cloud/hbase-1.3.0/bin/../logs/hbase-hadoop-master-master.hadoop.out hadoop01: starting regionserver, logging to /home/hadoop/cloud/hbase-1.3.0/bin/../logs/hbase-hadoop-regionserver-master.hadoop.out hadoop02: starting regionserver, logging to /home/hadoop/cloud/hbase-1.3.0/bin/../logs/hbase-hadoop-regionserver-master.hadoop.out hadoop03: starting regionserver, logging to /home/hadoop/cloud/hbase-1.3.0/bin/../logs/hbase-hadoop-regionserver-master.hadoop.out
在hadoop5上hbase目录的bin下执行:./hbase-daemon.sh start master
starting master, logging to /home/hadoop/cloud/hbase-1.3.0/bin/../logs/hbase-hadoop-master-master.hadoop.out hadoop01, hadoop02 ,hadoop03 $ jps 2336 DataNode 2242 JournalNode 2163 QuorumPeerMain 2534 HRegionServer 2566 Jps hadoop04,hadoop05
$ jps 3138 Jps 2564 DFSZKFailoverController 3028 HMaster 2297 NameNode
