export JAVA_HOME=/usr/local/jdk1.7.0_79
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

在这里插入图片描述

export HBASE_MANAGES_ZK=false
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

在这里插入图片描述

2. 配置hbase-site.xml文件

配置conf目录下的hbase-site.xml文件,设置如下:

vim /usr/cstor/hbase/conf/hbase-site.xml
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
<configuration>
   <property>
      <name>hbase.rootdirname>
      <value>hdfs://master:8020/hbasevalue>
   property>
   <property>
      <name>hbase.cluster.distributedname>
      <value>truevalue>
   property>
   <property>
      <name>hbase.zookeeper.quorumname>
      <value>slave1,slave2,mastervalue>
   property>
   <property>
      <name>hbase.tmp.dirname>
      <value>/usr/cstor/hbase/data/tmpvalue>
   property>
configuration>
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}"> class="hide-preCode-box">

在这里插入图片描述

3. 配置regionservers文件

配置conf目录下的regionservers文件,设置如下:

vim /usr/cstor/hbase/conf/regionservers
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
slave1
slave2
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

在这里插入图片描述

配置完成后,将hbase目录传输到集群的其它节点:

scp -r /usr/cstor/hbase root@slave1:/usr/cstor
scp -r /usr/cstor/hbase root@slave2:/usr/cstor
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

在这里插入图片描述

(三)启动并验证HBase

接着,启动HBase,并简单验证HBase,如下:
在主节点master进入hbase解压目录的bin目录,启动HBase服务进程(已启动Zookeeper):

cd /usr/cstor/hbase/bin
./start-hbase.sh
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

在这里插入图片描述

启动完HBase后,使用jps命令查看进程:

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

在master服务器上,可以看到HMaster进程;在slave1~2上,可以看到HRegionServer进程。这样,HBase就启动成功了。

通过以下命令进入HBase shell界面:

./hbase shell
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

在这里插入图片描述

在shell里创建表:

create 'testhbase' , 'f1'
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

查询所有表名:

list
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

查看表结构信息:

describe 'testhbase'
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

在shell里插入数据:

put 'testhbase', '001', 'f1:name', 'aaa'
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

在shell里查询:

scan 'testhbase'
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

删除表,先disable再drop:

disable 'testhbase'
drop 'testhbase'
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

退出shell:

quit
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

六、实验结果

HBase启动成功后,进入shell界面,用shell命令简单操作HBase数据库验证HBase成功安装,验证结果如图所示。

在这里插入图片描述

HBase安装成功后,可以通过访问HBase WEB页面(http://master:16010)来查看HBase集群的一些基本情况,如图所示。(这里的master要替换为对应的IP地址)

在这里插入图片描述

七、实验心得

  在进行HBase实验的过程中,我深刻体会到了HBase作为一个分布式、可扩展的NoSQL数据库的独特优势。HBase的设计理念强调高吞吐量和低延迟,这使得它非常适合处理大规模数据存储和实时数据访问。

  首先,我在实验中学习了HBase的基本架构。HBase是建立在Hadoop之上的,它利用Hadoop的HDFS作为底层存储。通过理解RegionServer、HMaster和Zookeeper的协作机制,我认识到HBase是如何实现高可用性和容错性的。尤其是Zookeeper在HBase中起到了关键的协调作用,确保了系统的一致性和稳定性。

  在实际操作中,我体验到了HBase的表设计与传统关系型数据库的显著不同。在HBase中,表的设计更为灵活,允许动态列族的添加和删除。这种灵活性使得我们可以更方便地进行数据建模,尤其是在处理多样化和不断变化的数据时。此外,实验中我还实践了HBase的CRUD操作,通过Java API进行数据的插入、查询、更新和删除。尽管最初遇到了一些API使用上的困惑,但在查阅文档和反复试验后,我逐渐掌握了如何高效地进行数据操作。HBase的Scan和Get操作让我能够快速检索所需数据,极大提高了数据处理效率。

  同时,我也注意到HBase在处理海量数据时的性能优势。在对大规模数据集进行测试时,HBase表现出色,能够迅速响应查询请求,显示出其高效的性能。这使我意识到,HBase非常适合大数据分析和实时数据处理的场景。在实验的最后阶段,我尝试对HBase进行一些基本的性能调优,了解了如预分区、缓存等优化策略。这些措施能够有效提升HBase的读写性能,为后续的应用提供了更好的支持。

  总的来说,这次HBase实验让我对分布式数据库的架构和操作有了更加深入的理解。通过实践,我不仅学会了如何使用HBase,还认识到了在实际应用中如何根据需求进行设计和优化。这将对我未来的数据处理和分析工作产生积极的影响。

:以上文中的数据文件及相关资源下载地址:
链接:https://pan.quark.cn/s/356a503ecf3e
提取码:khqu

data-report-view="{"mod":"1585297308_001","spm":"1001.2101.3001.6548","dest":"https://blog.csdn.net/Morse_Chen/article/details/143255472","extend1":"pc","ab":"new"}">> id="blogExtensionBox" style="width:400px;margin:auto;margin-top:12px" class="blog-extension-box"> class="blog_extension blog_extension_type2" id="blog_extension"> class="extension_official" data-report-click="{"spm":"1001.2101.3001.6471"}" data-report-view="{"spm":"1001.2101.3001.6471"}"> class="blog_extension_card_left"> class="blog_extension_card_cont"> 学习交流 | 商务合作 (备注来意) class="blog_extension_card_cont_r"> 微信名片
注:本文转载自blog.csdn.net的Francek Chen的文章"https://blog.csdn.net/Morse_Chen/article/details/143255472"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接

评论记录:

未查询到任何数据!