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 |
|
|
|
参考资料:
分享到:
相关推荐
这个目录结构中,`bin`目录包含了运行HBase的脚本,如启动和停止HBase的命令;`conf`目录存放配置文件,用户可以根据自己的环境进行定制;`lib`目录包含HBase运行所需的依赖库;`docs`则包含了相关的文档资料。 ...
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运行所需的库...
基于HydraQL的hbase-sdk设计源码迁移与维护更新项目,不仅仅是对传统HBase操作方式的一种简化,更是对大数据处理能力的一次技术革新。它不仅提高了开发效率,还可能引领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`...
在深入分析基于Java语言的Apache HBase数据库设计源码之前,我们首先需要理解HBase作为NoSQL数据库系统的核心概念和设计哲学。HBase是构建在Hadoop文件系统(HDFS)上的一个开源、分布式的列式存储数据库。它模仿了...
除了Java,项目中还使用了其他编程语言和技术,Ruby脚本的使用主要用于自动化部署和管理任务,XML配置文件则负责系统的配置管理,Protobuf定义文件体现了HBase内部使用Protocol Buffers进行数据序列化的机制。...
在本文中,我们将详细介绍一个特定项目——“基于Apache HBase的Java实现设计源码镜像”,该项目为Apache HBase提供了全面的Java实现,包含众多文件类型,能够为开发者和维护者提供重要的源码支持。 首先,该项目...
此外,项目中还包含Ruby脚本、XML配置文件等,这些脚本和配置文件在HBase的日常部署和运维中扮演着关键角色。 Protocol Buffers是Google开发的一种数据描述语言,用于序列化结构化数据,类似于XML或JSON,但它更小...
该项目的文件结构和内容表明它是一个对HBase内部结构和工作机制进行了深入分析的源码优化项目。该项目不仅能够帮助开发者更好地理解HBase的内部工作原理,而且可以为分布式数据库的研究和应用提供重要的参考,尤其在...