hbase 分布式部署

论坛 期权论坛     
选择匿名的用户   2021-5-26 12:31   516   0
<p>环境:</p>
<p>[hadoop&#64;big-master2 ~]$ cat /etc/hosts</p>
<p>127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4</p>
<p>::1 localhost localhost.localdomain localhost6 localhost6.localdomain6</p>
<p> </p>
<p>## bigdata cluster ##</p>
<p>192.168.41.20 big-master1 #bigdata1 namenode1,zookeeper,resourcemanager</p>
<p>192.168.41.21 big-master2 #bigdata2 namenode2,zookeeper,slave,resourcemanager</p>
<p>192.168.41.22 big-slave01 #bigdata3 datanode1,zookeeper,slave</p>
<p>192.168.41.25 big-slave02 #bigdata4 datanode2,zookeeper,slave</p>
<p>192.168.41.27 big-slave03 #bigdata5 datanode3,zookeeper,slave</p>
<p></p>
<ul><li>HMaster是Master Server的实现,负责监控集群中的RegionServer实例,同时是所有metadata改变的接口,在集群中,通常运行在NameNode上面。</li></ul>
<ul><li>
  <ul><li>HMasterInterface暴露的接口,Table(createTable, modifyTable, removeTable, enable, disable),ColumnFamily (addColumn, modifyColumn, removeColumn),Region (move, assign, unassign)</li><li>Master运行的后台线程:LoadBalancer线程,控制region来平衡集群的负载。CatalogJanitor线程,周期性的检查hbase:meta表。</li></ul></li></ul>
<ul><li>HRegionServer是RegionServer的实现,服务和管理Regions,集群中RegionServer运行在DataNode</li></ul>
<ul><li>
  <ul><li>HRegionRegionInterface暴露接口:Data (get, put, delete, next, etc.),Region (splitRegion, compactRegion, etc.)</li><li>RegionServer后台线程:CompactSplitThread,MajorCompactionChecker,MemStoreFlusher,LogRoller</li></ul></li></ul>
<ul><li>Regions,代表table,Region有多个Store(列簇),Store有一个Memstore和多个StoreFiles(HFiles),StoreFiles的底层是Block。</li></ul>
<p>存储设计</p>
<p>在Hbase中,表被分割成多个更小的块然后分散的存储在不同的服务器上,这些小块叫做Regions,存放Regions的地方叫做RegionServer。Master进程负责处理不同的RegionServer之间的Region的分发。在Hbase实现中HRegionServer和HRegion类代表RegionServer和Region。HRegionServer除了包含一些HRegions之外,还处理两种类型的文件用于数据存储</p>
<ul><li>HLog, 预写日志文件,也叫做WAL(write-ahead log)</li><li>HFile 真实的数据存储文件</li></ul>
<p>HLog</p>
<ul><li>MasterProcWAL:HMaster记录管理操作,比如解决冲突的服务器,表创建和其它DDLs等操作到它的WAL文件中,这个WALs存储在MasterProcWALs目录下,它不像RegionServer的WALs,HMaster的WAL也支持弹性操作,就是如果Master服务器挂了,其它的Master接管的时候继续操作这个文件。</li><li>WAL记录所有的Hbase数据改变,如果一个RegionServer在MemStore进行FLush的时候挂掉了,WAL可以保证数据的改变被应用到。如果写WAL失败了,那么修改数据的完整操作就是失败的。</li></ul>
<ul><li>
  <ul><li>通常情况,每个RegionServer只有一个WAL实例。在2.0之前,WAL的实现叫做HLog</li><li>WAL位于/hbase/WALs/目录下</li><li>MultiWAL: 如果每个RegionServer只有一个WAL,由于HDFS必须是连续的,导致必须写WAL连续的,然后出现性能问题。MultiWAL可以让RegionServer同时写多个WAL并行的,通过HDFS底层的多管道,最终提升总的吞吐量,但是不会提升单个Region的吞吐量。</li></ul></li></ul>
<ul><li>WAL的配置:</li></ul>
<p>// 启用multiwal &lt;property&gt; &lt;name&gt;hbase.wal.provider&lt;/name&gt; &lt;value&gt;multiwal&lt;/value&gt; &lt;/property&gt;</p>
<p> </p>
<p>###############################################</p>
<p>----------- 开始 ---------</p>
<p>###############################################</p>
<p>## 自定义部署 Hbase 分布式定义 ##</p>
<p>big-master1 hmaster1</p>
<p>big-master2 hmaster2</p>
<p>big-slave01 HRegionServer1 ## data</p>
<p>big-slave02 HRegionServer2 ## data</p>
<p>big-slave03 HRegionServer3 ## data</p>
<p>###########################################</p>
<p></p>
<p>下载地址:官方: <a href="https://mirror.bit.edu.cn/apache/hbase/">https://mirror.bit.edu.cn/apache/hbase/</a></p>
<p> </p>
<p>#################################################</p>
<p>作为一个 IT 农,是不是或多或少有些强迫症,比如用软件就用最新的~</p>
<p></p>
<p>---- 因为太懒,所以一些图片不想单独上传,排版,所以,将就将就吧。</p>
<p>HBase 和 JDK 兼容性</p>
<table><tbody><tr><td> <p>HBase Version</p> </td><td> <p>JDK 7</p> </td><td> <p>JDK 8</p> </td><td> <p>JDK 9</p> </td><td> <p>JDK 10</p> </td></tr><tr><td> <p>2.0</p> </td><td> <p><a href="http://search-hadoop.com/m/YGbbsPxZ723m3as">Not Supported</a></p> </td><td> <p>yes</p> </td><td> <p><a href="https://issues.apache.org/jira/browse/HBASE-20264">Not Supported</a></p> </td><td> <p><a href="https://issues.apache.org/jira/browse/HBASE-20264">Not Supported</a></p> </td></tr><tr><td> <p>1.3</p> </td><td> <p>yes</p> </td><td> <p>yes</p> </td><td> <p><a href="https://issues.apache.org/jira/browse/HBASE-20264">Not Supported</a></p> </td><td> <p><a href="https://issues.apache.o
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP