首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

HBase源码阅览-1-脚本

2012-07-05 
HBase源码阅读-1-脚本1.脚本??? start-hbase.sh,hbase-daemon.sh,hbase-daemons.sh,zookeepers.sh,regions

HBase源码阅读-1-脚本

1.脚本??? start-hbase.sh,hbase-daemon.sh,hbase-daemons.sh,zookeepers.sh,regionservers.sh,hbase,hbase-config.sh
1.1 hbase??? hbase命令行入口,最终控制master,regionserver,zookeeper等启动或关闭
1.1.1 hbase shell
执行jruby脚本org.jruby.Main ${HBASE_HOME}/bin/hirb.rb,是hbase命令行接口

1.1.2 hbase master
执行类org.apache.hadoop.hbase.master.HMaster,启动或关闭HMaster

1.1.3 hbase regionserver
执行类org.apache.hadoop.hbase.regionserver.HRegionServer,启动或关闭RegionServer

1.1.4 hbase thrift
执行org.apache.hadoop.hbase.thrift.ThriftServer,启动或关闭thrift服务
注:Thrift是facebook发起的轻量级跨语言的服务框架,现在在apache基金会下。
支持很多语言。Thrift有一个与具体编程语言无关IDL 语言,用来描述服务接口,以及数据交换的格式,存储在.thrift文件中。
然后使用自带的编译器将thrift文件编译成cpp、python等语言的框架代码。

1.1.5 hbase avro
org.apache.hadoop.hbase.avro.AvroServer
Avro 是一个数据序列化系统。
Avro 提供了:
??? * 丰富的数据结构。
??? * 一个简约的、快速的、二进制数据格式。
??? * 一个容器文件,用于存储持久数据。
??? * 远程过程调用(RPC)。
??? * 和其他动态语言的简单集成。存取数据文件或者使用 RPC 协议的时候不需要生成代码。代码生成只是作为静态类型语言的一个可选的优化项。

1.1.6 migrate
执行org.apache.hadoop.hbase.util.Migrate,貌似系统迁移的功能

1.1.7 zookeeper
执行org.apache.hadoop.hbase.zookeeper.HQuorumPeer,启动或关闭zookeeper服务

1.2 start-hbase.sh 启动hbase。先调用hbase-daemons.sh启动zookeeper,再调用hbase-daemon.sh启动master,最后调用hbase-daemons.sh启动regionserver

1.3 hbase-daemons.sh
执行regionservers.sh,从${HBASE_CONF_DIR}/regionservers读取regionserver列表,
ssh到每台host上调用其hbase-daemon.sh脚本,在后台启动regionserver;

执行zookeepers.sh,调用org.apache.hadoop.hbase.zookeeper.ZKServerTool从classpath下读取zoo.cfg中的server列表
sh到每台host上调用其hbase-daemon.sh脚本,在后台启动zookeeper;

1.4 hbase-daemon.sh
包装hbase master,regionserver,zookeeper等服务从后台启动

说了半天,其实核心的还是hbase脚本,所有功能最终都是调用的这个脚本

热点排行