HBASE所有功能模块的启动都是通过start-hbase.sh调起的,所以源码学习之路就从start-hbase.sh开始。
我关注start-hbase.sh的首要目的主要是了解每个功能块是调用hbase源码的那个文件来启动服务的,这点东东其实全包在hbase文件里,可以看看如上那些shell文件,最终执行都是调用hbase来启动。这里就把hbase里提供的调用入口整理一下,以便看hbase的源码。
hbase文件提供的command包括:
command |
说明 |
对应的JAVA文件 |
shell |
运行hbase shell |
org.jruby.Main -X+O ${JRUBY_OPTS} ${HBASE_HOME}/bin/hirb.rb |
hbck |
运行hbase fsck |
org.apache.hadoop.hbase.util.HBaseFsck |
hlog |
WAL分析器 |
org.apache.hadoop.hbase.regionserver.wal.HLogPrettyPrinter |
hfile |
存储文件分析器 |
org.apache.hadoop.hbase.io.hfile.HFile |
zkcli |
运行ZooKeeper shell |
SERVER_ARG=`"$bin"/hbase org.apache.hadoop.hbase.zookeeper.ZooKeeperMainServerArg`
org.apache.zookeeper.ZooKeeperMain ${SERVER_ARG} |
|
|
|
master |
启动hbase的HMaster节点 |
org.apache.hadoop.hbase.master.HMaster |
regionserver |
启动hbase的HRegionServer节点 |
org.apache.hadoop.hbase.regionserver.HRegionServer |
zookeeper |
启动ZooKeeper服务器 |
org.apache.hadoop.hbase.zookeeper.HQuorumPeer |
rest |
启动一个hbase REST服务器 |
org.apache.hadoop.hbase.rest.Main |
thrift |
启动hbase Thrift服务器 |
org.apache.hadoop.hbase.thrift.ThriftServer |
thrift2 |
启动hbase Thrift2服务器 |
org.apache.hadoop.hbase.thrift2.ThriftServer |
avro |
启动hbase Avro服务器 |
org.apache.hadoop.hbase.avro.AvroServer |
|
|
|
参考资料:
分享到:
相关推荐
1. **bin**:存放可执行脚本,如启动和停止HBase的脚本,以及命令行工具。 2. **conf**:默认的配置文件,如hbase-site.xml用于配置HBase集群,regionservers指定哪些节点是RegionServer。 3. **lib**:包含HBase...
1. `bin`目录:包含可执行脚本,如启动、停止HBase服务的命令。 2. `conf`目录:默认配置文件存放地,用户可以在此修改以适应自己的环境。 3. `lib`目录:HBase依赖的库文件,包括Java类库和其他必要的软件包。 4. `...
1. **bin目录**:包含了启动、停止HBase服务的脚本,如`start-hbase.sh`和`stop-hbase.sh`,以及用于执行HBase命令行工具的可执行文件。 2. **conf目录**:这是存放HBase配置文件的地方,如`hbase-site.xml`,在...
2. **bin目录**:包含可执行脚本,如启动和停止HBase服务的命令,以及用于管理表和操作数据的工具。 3. **conf目录**:提供默认配置文件,如hbase-site.xml,用户可以在此修改配置以适应自己的环境需求。 4. **lib...
1. **bin**:这个目录包含用于启动、停止HBase的脚本,如`start-hbase.sh`和`stop-hbase.sh`,以及管理HBase的命令行工具。 2. **conf**:这是配置文件的存放位置,包括`hbase-site.xml`,它是HBase的主要配置文件...
5. **构建脚本**:如`build.gradle`或`pom.xml`,这是构建HBase的脚本,使用Gradle或Maven管理依赖和构建过程。 6. **资源文件**:如日志配置、国际化语言文件等,它们在运行时对HBase的正常运行至关重要。 7. **...
2. **权限问题**:Cygwin模拟的Unix权限模型可能与Windows原生的权限模型有冲突,这可能会影响到HBase的启动、停止或数据访问。 3. **文件描述符**:Unix和Windows对文件描述符的处理方式不同,可能需要特殊处理以...
1. **bin** 目录:包含启动、停止HBase服务的脚本,如`start-hbase.sh`和`stop-hbase.sh`。 2. **conf** 目录:配置文件存放处,如`hbase-site.xml`用于设置HBase的配置参数。 3. **lib** 目录:HBase运行所需的库...
2. 配置环境:修改`dev-support/generate-hadoopX-poms.sh`脚本,将`hbase_home`变量设置为实际的HBase源码目录。 3. 更新Hadoop依赖:编辑`pom.xml`文件,将`<hadoop-two.version>`从2.2.0改为2.4.1,以匹配你的...
- 编辑`/etc/init.d/hbase-master`脚本,并设置`HBASE_HOME`环境变量: ```bash vim /etc/init.d/hbase-master export HBASE_HOME="/usr/hdp/2.6.3.0-235/hbase" ``` **6. 启动 Zookeeper 和 HBase 集群** ...
6. **启动HBase**:使用HBase提供的`start-hbase.sh`脚本启动HBase集群。如果是单机测试,可以使用`start-hbase.sh --master local`。 7. **检查状态**:通过`hbase shell`进入HBase的命令行界面,使用`status`命令...
1. **启动HBase**:在命令行中,使用`start-hbase.sh`脚本启动HBase集群。如果是单机模式,可以使用`start-hbase.sh --nonInteractive`避免交互式确认。 2. **检查状态**:通过`hbase zkcli -server localhost:2181`...
该项目是对hbase-sdk进行源码迁移至HydraQL的设计,涉及812个文件,包括420个Ruby脚本、333个Java源文件、28个XML配置文件、8个Shell脚本、5个Grammar文件、5个属性文件、2个JAR包、2个Token文件、2个YAML文件以及1...
本项目为基于Java语言的HBase分布式数据库设计源码,包含5415个文件,涵盖了4575个Java源文件、223个Ruby脚本、118个XML配置文件、68个Protocol Buffers文件、64个AsciiDoc文件、49个Shell脚本、41个PNG图像文件、29...
本项目为Java语言的Hbase基础学习与实践设计源码,包含35个文件,涵盖13个Java源文件、4个JavaScript文件、3个属性文件、3个JSON文件、2个SVG文件、2个Git忽略文件、1个JAR包文件、1个Hbase Server的mvnw脚本以及1个...
本项目为Apache HBase的Java实现设计源码镜像,包含4981个文件,主要涵盖4134个Java源文件,辅以Ruby脚本、Shell脚本、C/C++、Python、CSS、HTML、JavaScript等语言编写的辅助文件。其中,XML配置文件96个,Proto...
在Python中操作HBase,首先需要启动Thrift服务器,因为HBase与Python的通信是通过Thrift协议进行的。这通常在HBase集群的节点上完成。然后在Python端,可以使用`hbase-thrift`库来创建连接,执行CRUD(创建、读取、...
5. 性能调优:提供性能测试脚本和调优建议,帮助读者优化HBase的运行效率。 6. 故障排查:可能包含一些错误案例和解决方案,以便读者在遇到问题时能快速定位和解决。 通过研究这些源码,读者可以了解到HBase的内部...