版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
修訂記錄課程編碼適用產(chǎn)品產(chǎn)品版本課程版本ISSUEModule06HBaseFusionInsightHDV100R002C60V1.0開(kāi)發(fā)/優(yōu)化者時(shí)間審核人開(kāi)發(fā)類型(新開(kāi)發(fā)/優(yōu)化)吳啟俊002265142016年6月高冬冬WX321719新開(kāi)發(fā)本頁(yè)不打印HBase運(yùn)維管理學(xué)完本課程后,您將能夠:掌握HBase常用維護(hù)命令/參數(shù)掌握HBase性能調(diào)優(yōu)參數(shù)掌握HBase常見(jiàn)問(wèn)題及定位服務(wù)檢查與日志維護(hù)命令與參數(shù)Hbase備份與恢復(fù)性能調(diào)優(yōu)命令與參數(shù)常見(jiàn)問(wèn)題與定位HBase目錄介紹HBase組件目錄:{$BIGDATA_HOME}/FusionInsight_V100R002C60/FusionInsight-HBase-1.0.2/hbasebinhbase運(yùn)行腳本目錄CHANGES.txt該版本變更信息conf原h(huán)base配置文件目錄(FusionInsight實(shí)際使用的配置目錄統(tǒng)一在安裝目錄etc底下)hbase-webappshbaseweb文件目錄libhbase依賴包目錄LICENSE.txtlicenceNOTICE.txt聲明文件perties版本說(shuō)明服務(wù)健康檢查手動(dòng)執(zhí)行HBase的健康檢查:?jiǎn)螕簟胺?wù)管理”,在服務(wù)列表中單擊服務(wù)指定名稱。選擇“更多操作>啟動(dòng)服務(wù)健康檢查”啟動(dòng)指定服務(wù)健康檢查。健康檢查指標(biāo)項(xiàng)HBase數(shù)據(jù)寫入延時(shí)指標(biāo)項(xiàng)名稱:HBase數(shù)據(jù)寫入延時(shí)。指標(biāo)項(xiàng)含義:檢查HBase數(shù)據(jù)操作是否正常。如果數(shù)據(jù)寫入操作延時(shí)大于300毫秒,則認(rèn)為不健康。恢復(fù)指導(dǎo):如果該指標(biāo)項(xiàng)異常,請(qǐng)檢查RegionServer的狀態(tài)是否正常并處理,然后建議檢查網(wǎng)絡(luò)是否正常。HBase數(shù)據(jù)刪除延時(shí)指標(biāo)項(xiàng)名稱:HBase數(shù)據(jù)刪除延時(shí)。指標(biāo)項(xiàng)含義:檢查HBase數(shù)據(jù)操作是否正常。如果數(shù)據(jù)刪除操作延時(shí)大于300毫秒,則認(rèn)為不健康?;謴?fù)指導(dǎo):如果該指標(biāo)項(xiàng)異常,請(qǐng)檢查RegionServer的狀態(tài)是否正常并處理,然后建議檢查網(wǎng)絡(luò)是否正常。健康檢查指標(biāo)項(xiàng)HBase數(shù)據(jù)讀取延時(shí)指標(biāo)項(xiàng)名稱:HBase數(shù)據(jù)讀取延時(shí)。指標(biāo)項(xiàng)含義:檢查HBase數(shù)據(jù)操作是否正常。如果數(shù)據(jù)讀取操作延時(shí)大于300毫秒,則認(rèn)為不健康。恢復(fù)指導(dǎo):如果該指標(biāo)項(xiàng)異常,請(qǐng)檢查RegionServer的狀態(tài)是否正常并處理,然后建議檢查網(wǎng)絡(luò)是否正常。服務(wù)健康狀態(tài)指標(biāo)項(xiàng)名稱:服務(wù)健康狀態(tài)。指標(biāo)項(xiàng)含義:檢查HBase服務(wù)狀態(tài)是否正常。如果狀態(tài)不正常,則認(rèn)為不健康。恢復(fù)指導(dǎo):如果該指標(biāo)項(xiàng)異常,請(qǐng)檢查HMaster和RegionServer的狀態(tài)是否正常并先處理,然后檢查ZooKeeper服務(wù)的狀態(tài)是否為bad并處理。使用HBase客戶端,確認(rèn)是否可以正確讀取HBase表中的數(shù)據(jù),排查讀數(shù)據(jù)失敗的原因。最后參見(jiàn)告警進(jìn)行處理。健康檢查指標(biāo)項(xiàng)檢查告警指標(biāo)項(xiàng)名稱:告警信息。指標(biāo)項(xiàng)含義:檢查服務(wù)是否存在未清除的告警。如果存在,則認(rèn)為不健康?;謴?fù)指導(dǎo):如果該指標(biāo)項(xiàng)異常,建議參見(jiàn)告警進(jìn)行處理。服務(wù)健康檢查日志健康檢查完成后生成相關(guān)日志文件可在主HMaster上查看如下日志文件:/var/log/Bigdata/hbase/hm/checkServiceDetail.log/var/log/Bigdata/hbase/hm/hbase.logHBase日志介紹日志存儲(chǔ)路徑:HBase相關(guān)日志的默認(rèn)存儲(chǔ)路徑為/var/log/Bigdata/hbase/角色名HMaster:/var/log/Bigdata/hbase/hm(運(yùn)行日志)/var/log/Bigdata/audit/hbase/hm(審計(jì)日志)RegionServer:/var/log/Bigdata/hbase/rs(運(yùn)行日志)/var/log/Bigdata/audit/hbase/rs(審計(jì)日志)ThriftServer:/var/log/Bigdata/hbase/ts(運(yùn)行日志)/var/log/Bigdata/audit/hbase/ts(審計(jì)日志)HBase日志歸檔日志歸檔規(guī)則:HBase的日志啟動(dòng)了自動(dòng)壓縮歸檔功能,缺省情況下,當(dāng)日志大小超過(guò)30MB的時(shí)候(此日志文件大小可進(jìn)行配置,詳情請(qǐng)參見(jiàn)“配置日志級(jí)別與文件大小”),會(huì)自動(dòng)壓縮,壓縮后的日志文件名規(guī)則為:“<原有日志名>-<yyyy-mm-dd_hh-mm-ss>.[編號(hào)].log.zip”。最多保留最近的20個(gè)壓縮文件,壓縮文件保留個(gè)數(shù)可以在FusionInsightManager界面中配置。HBase日志說(shuō)明日志類型日志文件名描述運(yùn)行日志hbase-<SSH_USER>-<process_name>-<hostname>.log記錄HBase啟動(dòng)信息的日志,主要包括啟動(dòng)時(shí)間,啟動(dòng)參數(shù)信息。hbase-<SSH_USER>-<process_name>-<hostname>.outHBase運(yùn)行環(huán)境信息日志。<process_name>-<SSH_USER>-gc.logHBase服務(wù)垃圾回收日志。checkServiceDetail.logHBase服務(wù)啟動(dòng)是否成功的檢查日志。hbase.logHBase系統(tǒng)日志,記錄HBase系統(tǒng)運(yùn)行時(shí)候所產(chǎn)生的大部分日志。審計(jì)日志hbase-audit-<process_name>.logHBase安全審計(jì)日志。HBase日志級(jí)別HBase中提供下表所示的日志級(jí)別。日志級(jí)別優(yōu)先級(jí)從高到低分別是FATAL、ERROR、WARN、INFO、DEBUG。程序會(huì)打印高于或等于所設(shè)置級(jí)別的日志,設(shè)置的日志等級(jí)越高,打印出來(lái)的日志就越少。級(jí)別描述FATALFATAL表示當(dāng)前事件處理出現(xiàn)嚴(yán)重錯(cuò)誤信息,可能導(dǎo)致系統(tǒng)崩潰。ERRORERROR表示當(dāng)前事件處理出現(xiàn)錯(cuò)誤信息,系統(tǒng)運(yùn)行出錯(cuò)。WARNWARN表示當(dāng)前事件處理存在異常信息,但認(rèn)為是正常范圍,不會(huì)導(dǎo)致系統(tǒng)出錯(cuò)。INFOINFO表示記錄系統(tǒng)及各事件正常運(yùn)行狀態(tài)信息。DEBUGDEBUG表示記錄系統(tǒng)及系統(tǒng)的調(diào)試信息。服務(wù)檢查與日志維護(hù)命令與參數(shù)Hbase備份與恢復(fù)性能調(diào)優(yōu)命令與參數(shù)常見(jiàn)問(wèn)題與定位HBase
Shell維護(hù)命令安裝客戶端進(jìn)入客戶端執(zhí)行:source./bigdata_env配置環(huán)境變量執(zhí)行kinit<用戶名>進(jìn)行認(rèn)證執(zhí)行hbaseshell進(jìn)入命令窗口如何進(jìn)入HBaseshellHBase
Shell維護(hù)命令命令幫助類help作用:用于查詢HBase命令幫助集群狀態(tài)查詢類version作用:查詢HBase集群版本信息whoami作用:查詢當(dāng)前登陸的用戶status作用:用于查詢HBase集群狀態(tài)樣例1:查詢基本信息,status'simple'樣例2:查詢?cè)敿?xì)信息,status'detailed'grant作用:對(duì)指定用戶賦予表/列族/行的讀、寫、管理等權(quán)限HBase
Shell維護(hù)命令權(quán)限類樣例1:對(duì)用戶huawei賦予所有表的所有權(quán)限樣例2:對(duì)用戶huawei賦予test表的讀寫revoke作用:收回指定用戶已經(jīng)被賦予的權(quán)限user_permission作用:查詢某表的用戶權(quán)限HBase
Shell維護(hù)命令權(quán)限類樣例:查詢test表的權(quán)限assign作用:手動(dòng)讓region上線HBase
Shell維護(hù)命令Region操作類unassign作用:手動(dòng)讓region下線compact作用:手動(dòng)對(duì)一個(gè)表或一個(gè)Region進(jìn)行compact操作HBase
Shell維護(hù)命令Region操作類split作用:手動(dòng)對(duì)一個(gè)表或一個(gè)Region進(jìn)行分裂操作balancer作用:手動(dòng)觸發(fā)HBase負(fù)載均衡pact作用:手動(dòng)對(duì)一個(gè)表或一個(gè)Region進(jìn)行Compact操作檢測(cè)集群健康狀態(tài)Hbasehbck作用:查看集群健康狀態(tài)。hbasehbck并不是hbaseshell命令,在登錄認(rèn)證之后,直接執(zhí)行hbasehbck即可。檢測(cè)集群健康狀態(tài)服務(wù)檢查與日志維護(hù)命令與參數(shù)HBase備份與恢復(fù)性能調(diào)優(yōu)命令與參數(shù)常見(jiàn)問(wèn)題與定位HBase備份為了確保HBase日常數(shù)據(jù)安全,或者系統(tǒng)管理員需要對(duì)HBase進(jìn)行重大操作(如升級(jí)或遷移等),需要對(duì)HBase數(shù)據(jù)進(jìn)行備份,從而保證系統(tǒng)在出現(xiàn)異?;蛭催_(dá)到預(yù)期結(jié)果時(shí)可以及時(shí)進(jìn)行數(shù)據(jù)恢復(fù),將對(duì)業(yè)務(wù)的影響降到最低。備份內(nèi)容為HBase表級(jí)別的用戶數(shù)據(jù)。HBase備份備份前的準(zhǔn)備和約束需要準(zhǔn)備一個(gè)用于備份數(shù)據(jù)的備集群。主備集群必須已配置跨集群互信。主備集群必須已配置跨集群拷貝。主備集群上的時(shí)間必須一致,而且主備集群上的NTP服務(wù)必須使用同一個(gè)時(shí)間源。根據(jù)業(yè)務(wù)需要,規(guī)劃備份任務(wù)的類型、周期、備份對(duì)象、備份目錄和備份任務(wù)需要使用的YARN隊(duì)列等策略規(guī)格。檢查備集群HDFS是否有充足的空間,備份文件保存的目錄建議使用用戶自定義的目錄。使用HDFS客戶端,以“hdfs”用戶執(zhí)行hdfslsSnapshottableDir檢查當(dāng)前集群中已創(chuàng)建HDFS快照的目錄清單,確保待備份的數(shù)據(jù)文件所在HDFS路徑的父目錄或子目錄不存在HDFS快照,否則無(wú)法創(chuàng)建備份任務(wù)。HBase備份創(chuàng)建備份任務(wù)在FusionInsightManager,選擇“系統(tǒng)設(shè)置>備份管理”。單擊“創(chuàng)建備份任務(wù)”。HBase備份備份策略“任務(wù)名稱”,填寫備份任務(wù)的名稱。“備份類型”,選擇備份任務(wù)的運(yùn)行類型,“周期備份”表示按周期自動(dòng)執(zhí)行備份,“手動(dòng)備份”表示由手工執(zhí)行備份。創(chuàng)建周期備份任務(wù),還需要填寫以下參數(shù):“開(kāi)始時(shí)間”,表示任務(wù)第一次啟動(dòng)的時(shí)間?!爸芷凇保硎救蝿?wù)下次啟動(dòng),與上一次運(yùn)行時(shí)間間隔。支持“按小時(shí)”或“按天”。“備份策略”,表示任務(wù)每次啟動(dòng)時(shí)備份的數(shù)據(jù)量。支持“首次全量備份,后續(xù)增量備份”、“每次都全量備份”和“每n次進(jìn)行一次全量備份”。選擇“每n次進(jìn)行一次全量備份”時(shí),需要指定n的值。HBase備份HBase備份備份配置“業(yè)務(wù)數(shù)據(jù)”,勾選“HBase”(多實(shí)例下可勾選其他HBase實(shí)例)。“路徑類型”,選擇“RemoteHDFS(DistCp)”?!澳康亩薔ameNodeIP地址”,填寫備集群NameNode業(yè)務(wù)平面IP地址,支持主節(jié)點(diǎn)或備節(jié)點(diǎn)。“目的端路徑”,填寫備集群保存?zhèn)浞輸?shù)據(jù)的HDFS目錄。不支持填寫HDFS的隱藏目錄,例如快照或回收站目錄;不支持默認(rèn)系統(tǒng)目錄,例如“/hbase”或“/user/hbase/backup”。“最大備份數(shù)”,填寫備份目錄中可保留的備份文件集數(shù)量。已備份的文件集數(shù)量大于“最大備份數(shù)”參數(shù)值時(shí),默認(rèn)保留最新的文件。“隊(duì)列名稱”,填寫備份任務(wù)執(zhí)行時(shí)使用的YARN隊(duì)列的名稱。需和集群中已存在且狀態(tài)正常的隊(duì)列名稱相同。“備份對(duì)象”,勾選這個(gè)備份任務(wù)需要備份的用戶表。支持正則表達(dá)式匹配。HBase數(shù)據(jù)恢復(fù)在用戶意外修改刪除、數(shù)據(jù)需要找回,系統(tǒng)管理員對(duì)HBase進(jìn)行重大操作(如升級(jí)、重大數(shù)據(jù)調(diào)整等)后系統(tǒng)數(shù)據(jù)出現(xiàn)異常或未達(dá)到預(yù)期結(jié)果,模塊全部故障完全無(wú)法使用,或者遷移數(shù)據(jù)到新集群的場(chǎng)景中,需要對(duì)HBase進(jìn)行恢復(fù)數(shù)據(jù)操作?;謴?fù)內(nèi)容為HBase表級(jí)別的用戶數(shù)據(jù)。HBase數(shù)據(jù)恢復(fù)對(duì)系統(tǒng)的影響恢復(fù)過(guò)程的數(shù)據(jù)還原階段,系統(tǒng)會(huì)把待恢復(fù)的HBase表禁用,此時(shí)無(wú)法訪問(wèn)該表。還原階段可能需要幾分鐘時(shí)間,此時(shí)HBase的上層應(yīng)用無(wú)法正常工作。恢復(fù)過(guò)程中會(huì)停止用戶認(rèn)證,用戶無(wú)法開(kāi)始新的連接。數(shù)據(jù)恢復(fù)后,會(huì)丟失從備份時(shí)刻到恢復(fù)時(shí)刻之間的數(shù)據(jù)。數(shù)據(jù)恢復(fù)后,需要重新啟動(dòng)HBase的上層應(yīng)用。恢復(fù)前準(zhǔn)備和約束主備集群必須已配置跨集群互信。主備集群必須已配置跨集群拷貝。主備集群上的時(shí)間必須一致,而且主備集群上的NTP服務(wù)必須使用同一個(gè)時(shí)間源。根據(jù)業(yè)務(wù)需要,規(guī)劃恢復(fù)任務(wù)的類型、周期、命名空間和表等策略規(guī)格,確認(rèn)備份任務(wù)需要使用的YARN隊(duì)列。檢查HBase備份文件保存路徑。停止HBase的上層應(yīng)用。HBase數(shù)據(jù)恢復(fù)HBase數(shù)據(jù)恢復(fù)恢復(fù)配置“業(yè)務(wù)數(shù)據(jù)”,勾選“HBase”(多實(shí)例下可勾選其他HBase實(shí)例)。“路徑類型”,選擇“RemoteHDFS(DistCp)”。“源端NameNodeIP地址”,填寫源集群NameNode業(yè)務(wù)平面IP地址,支持主節(jié)點(diǎn)或備節(jié)點(diǎn)。“源端路徑”,填寫源集群保存?zhèn)浞輸?shù)據(jù)的HDFS目錄。“隊(duì)列名稱”,填寫備份任務(wù)執(zhí)行時(shí)使用的YARN隊(duì)列的名稱。需和集群中已存在且狀態(tài)正常的隊(duì)列名稱相同。“恢復(fù)點(diǎn)列表”,拉選所需恢復(fù)的恢復(fù)點(diǎn)。服務(wù)檢查與日志維護(hù)命令與參數(shù)HBase備份與恢復(fù)性能調(diào)優(yōu)命令與參數(shù)提升實(shí)時(shí)寫效率提升實(shí)時(shí)讀效率常見(jiàn)問(wèn)題與定位提升實(shí)時(shí)寫效率操作場(chǎng)景需要把數(shù)據(jù)實(shí)時(shí)寫入到HBase中或者對(duì)于大批量、連續(xù)put的場(chǎng)景。前提條件調(diào)用HBase的put或delete接口,把數(shù)據(jù)保存到HBase中。寫數(shù)據(jù)服務(wù)端調(diào)優(yōu)配置參數(shù)描述默認(rèn)值hbase.regionserver.wal.durable.sync控制HLog文件在寫入到HDFS時(shí)的同步程度。如果為true,HDFS在把數(shù)據(jù)寫入到硬盤后才返回;如果為false,HDFS在把數(shù)據(jù)寫入OS的緩存后就返回。把該值設(shè)置為false比true在寫入性能上會(huì)更優(yōu)。truehbase.regionserver.hfile.durable.sync控制HFile文件在寫入到HDFS時(shí)的同步程度。如果為true,HDFS在把數(shù)據(jù)寫入到硬盤后才返回;如果為false,HDFS在把數(shù)據(jù)寫入OS的緩存后就返回。把該值設(shè)置為false比true在寫入性能上會(huì)更優(yōu)。true寫數(shù)據(jù)服務(wù)端調(diào)優(yōu)配置參數(shù)描述默認(rèn)值GC_OPTSHBase利用內(nèi)存完成讀寫操作。提高HBase內(nèi)存可以有效提高HBase性能。GC_OPTS主要需要調(diào)整HeapSize的大小和NewSize的大小。調(diào)整HeapSize大小的時(shí)候,建議將Xms和Xmx設(shè)置成相同的值,這樣可以避免JVM動(dòng)態(tài)調(diào)整HeapSize大小的時(shí)候影響性能。調(diào)整NewSize大小的時(shí)候,建議把其設(shè)置為HeapSize大小的1/9。HMaster:當(dāng)HBase集群規(guī)模越大、Region數(shù)量越多時(shí),可以適當(dāng)調(diào)大HMaster的GC_OPTS參數(shù)。RegionServer:RegionServer需要的內(nèi)存一般比HMaster要大。在內(nèi)存充足的情況下,HeapSize可以相對(duì)設(shè)置大一些。說(shuō)明:主HMaster的HeapSize為4G的時(shí)候,HBase集群可以支持100000Region數(shù)的規(guī)模。根據(jù)經(jīng)驗(yàn)值,單個(gè)RegionServer的HeapSize不建議超過(guò)20GB。HMaster:-Xms2G-Xmx2G-XX:NewSize=256M-XX:MaxNewSize=256M
RegionServer:-Xms4G-Xmx4G-XX:NewSize=512M-XX:MaxNewSize=512M寫數(shù)據(jù)服務(wù)端調(diào)優(yōu)配置參數(shù)描述默認(rèn)值hbase.regionserver.handler.count表示RegionServer在同一時(shí)刻能夠并發(fā)處理多少請(qǐng)求。如果設(shè)置過(guò)高會(huì)導(dǎo)致激烈線程競(jìng)爭(zhēng),如果設(shè)置過(guò)小,請(qǐng)求將會(huì)在RegionServer長(zhǎng)時(shí)間等待,降低處理能力。根據(jù)資源情況,適當(dāng)增加處理線程數(shù)。建議根據(jù)CPU的使用情況,可以選擇設(shè)置為100至300之間的值。100hbase.hregion.max.filesize表示HBase中Region的文件總大小的最大值。當(dāng)Region中的文件大于該參數(shù)時(shí),將會(huì)導(dǎo)致Region分裂。該參數(shù)設(shè)置過(guò)小時(shí),可能會(huì)導(dǎo)致Split操作過(guò)于頻繁。當(dāng)設(shè)置過(guò)大時(shí),可能導(dǎo)致Compact需要處理的文件大小增加,影響Compact執(zhí)行效率。10737418240(單位:字節(jié))寫數(shù)據(jù)服務(wù)端調(diào)優(yōu)配置參數(shù)描述默認(rèn)值hbase.hregion.memstore.flush.size在RegionServer中,當(dāng)寫操作內(nèi)存中存在超過(guò)memstore.flush.size大小的memstore,則MemStoreFlusher就啟動(dòng)flush操作將該memstore以hfile的形式寫入對(duì)應(yīng)的store中。如果RegionServer的內(nèi)存充足,而且活躍Region數(shù)量也不是很多的時(shí)候,可以適當(dāng)增大該值,可以減少compaction的次數(shù),有助于提升系統(tǒng)性能。同時(shí),這種flush產(chǎn)生的時(shí)候,并不是緊急的flush,flush操作可能會(huì)有一定延遲,在延遲期間,寫操作還可以進(jìn)行,Memstore還會(huì)繼續(xù)增大,最大值為“memstore.flush.size”*“hbase.hregion.memstore.block.multiplier”。當(dāng)超過(guò)最大值時(shí),將會(huì)阻塞操作。適當(dāng)增大“hbase.hregion.memstore.block.multiplier”可以減少阻塞,減少性能波動(dòng)。134217728(單位:字節(jié))寫數(shù)據(jù)服務(wù)端調(diào)優(yōu)配置參數(shù)描述默認(rèn)值hbase.regionserver.global.memstore.sizeRegionServer中,負(fù)責(zé)flush操作的是MemStoreFlusher線程。該線程定期檢查寫操作內(nèi)存,當(dāng)寫操作占用內(nèi)存總量達(dá)到閾值,MemStoreFlusher將啟動(dòng)flush操作,按照從大到小的順序,flush若干相對(duì)較大的memstore,直到所占用內(nèi)存小于閾值。閾值=“hbase.regionserver.global.memstore.size”*“hbase.regionserver.global.memstore.size.lower.limit”*“HBase_HEAPSIZE”0.4寫數(shù)據(jù)服務(wù)端調(diào)優(yōu)配置參數(shù)描述默認(rèn)值hbase.hstore.blockingStoreFiles在regionflush前首先判斷file文件個(gè)數(shù),是否大于hbase.hstore.blockingStoreFiles。如果大于需要先compation并且讓flush延時(shí)90s(這個(gè)值可以通過(guò)hbase.hstore.blockingWaitTime進(jìn)行配置),在延時(shí)過(guò)程中,將會(huì)繼續(xù)寫從而使得Memstore還會(huì)繼續(xù)增大超過(guò)最大值“memstore.flush.size”*“hbase.hregion.memstore.block.multiplier”,導(dǎo)致寫操作阻塞。當(dāng)完成compation后,可能就會(huì)產(chǎn)生大量寫入。這樣就導(dǎo)致性能激烈震蕩。增加hbase.hstore.blockingStoreFiles,可以減低BLOCK幾率。7寫數(shù)據(jù)服務(wù)端調(diào)優(yōu)配置參數(shù)描述默認(rèn)值paction.throttle控制一次MinorCompaction時(shí),進(jìn)行compation的文件總大小的閾值。Compaction時(shí)的文件總大小會(huì)影響這一次compaction的執(zhí)行時(shí)間,如果太大,可能會(huì)阻塞其它的compaction或flush操作。1610612736(單位:字節(jié))paction.min當(dāng)一個(gè)Store中文件超過(guò)該值時(shí),會(huì)進(jìn)行compact,適當(dāng)增大該值,可以減少文件被重復(fù)執(zhí)行compaction。但是如果過(guò)大,會(huì)導(dǎo)致Store中文件數(shù)過(guò)多而影響讀取的性能。3寫數(shù)據(jù)服務(wù)端調(diào)優(yōu)配置參數(shù)描述默認(rèn)值paction.max控制一次compaction操作時(shí)的文件數(shù)量的最大值。與“paction.max.size”的作用基本相同,主要是控制一次compaction操作的時(shí)間不要太長(zhǎng)。10paction.max.size如果一個(gè)HFile文件的大小大于該值,那么在MinorCompaction操作中不會(huì)選擇這個(gè)文件進(jìn)行compaction操作,除非進(jìn)行MajorCompaction操作。這個(gè)值可以防止較大的HFile參與compaction操作。在禁止MajorCompaction后,一個(gè)Store中可能存在幾個(gè)HFile,而不會(huì)合并成為一個(gè)HFile,這樣不會(huì)對(duì)數(shù)據(jù)讀取造成太大的性能影響。2684354560(單位:字節(jié))寫數(shù)據(jù)服務(wù)端調(diào)優(yōu)配置參數(shù)描述默認(rèn)值paction設(shè)置MajorCompaction的執(zhí)行周期。默認(rèn)值為86400000毫秒,也就是1天。由于執(zhí)行MajorCompaction會(huì)占用較多的系統(tǒng)資源,如果正在處于系統(tǒng)繁忙時(shí)期,會(huì)影響系統(tǒng)的性能。如果業(yè)務(wù)沒(méi)有較多的更新、刪除、回收過(guò)期數(shù)據(jù)空間時(shí),可以把該值設(shè)置為0,以禁止MajorCompaction。如果必須要執(zhí)行MajorCompaction,以回收更多的空間,可以適當(dāng)增加該值,同時(shí)配置參數(shù)“hbase.offpeak.end.hour”和“hbase.offpeak.start.hour”以控制MajorCompaction發(fā)生在業(yè)務(wù)空閑的時(shí)期。86400000(單位:毫秒)寫數(shù)據(jù)服務(wù)端調(diào)優(yōu)配置參數(shù)描述默認(rèn)值hbase.regionserver.maxlogshbase.regionserver.hlog.blocksize表示一個(gè)RegionServer上未進(jìn)行Flush的Hlog的文件數(shù)量的閾值,如果大于該值,RegionServer會(huì)強(qiáng)制進(jìn)行flush操作。表示每個(gè)HLog文件的最大大小。如果HLog文件大小大于該值,就會(huì)滾動(dòng)出一個(gè)新的HLog文件,舊的將被禁用并歸檔。這兩個(gè)參數(shù)共同決定了RegionServer中可以存在的未進(jìn)行Flush的hlog數(shù)量。當(dāng)這個(gè)數(shù)據(jù)量小于MemStore的總大小的時(shí)候,會(huì)出現(xiàn)由于HLog文件過(guò)多而觸發(fā)的強(qiáng)制flush操作。這個(gè)時(shí)候可以適當(dāng)調(diào)整這兩個(gè)參數(shù)的大小,以避免出現(xiàn)這種強(qiáng)制flush的情況。3267108864(單位:字節(jié))寫數(shù)據(jù)客戶端調(diào)優(yōu)寫數(shù)據(jù)時(shí),在場(chǎng)景允許的情況下,最好使用PutList的方式,可以極大的提升寫性能。每一次Put的List的長(zhǎng)度,需要結(jié)合單條Put的大小,以及實(shí)際環(huán)境的一些參數(shù)進(jìn)行設(shè)定。建議在選定之前先做一些基礎(chǔ)的測(cè)試。寫數(shù)據(jù)表設(shè)計(jì)調(diào)優(yōu)配置參數(shù)描述默認(rèn)值COMPRESSION配置數(shù)據(jù)的壓縮算法,這里的壓縮是HFile中block級(jí)別的壓縮。對(duì)于可以壓縮的數(shù)據(jù),配置壓縮算法可以有效減少磁盤的IO,從而達(dá)到提高性能的目的。說(shuō)明:并非所有數(shù)據(jù)都可以進(jìn)行有效壓縮。例如一張圖片的數(shù)據(jù),因?yàn)閳D片一般已經(jīng)是壓縮后的數(shù)據(jù),所以壓縮效果有限。常用的壓縮算法是SNAPPY,因?yàn)樗休^好的Encoding/Decoding速度和可以接受的壓縮率。NONE寫數(shù)據(jù)表設(shè)計(jì)調(diào)優(yōu)配置參數(shù)描述默認(rèn)值BLOCKSIZE配置HFile中block塊的大小,不同的block塊大小,可以影響HBase讀寫數(shù)據(jù)的效率。越大的block塊,配合壓縮算法,壓縮的效率就越好;但是由于HBase的讀取數(shù)據(jù)是以blcok塊為單位的,所以越大的block塊,對(duì)于隨機(jī)讀的情況,性能可能會(huì)比較差。如果要提升寫入的性能,一般擴(kuò)大到128KB或者256KB,可以提升寫數(shù)據(jù)的效率,也不會(huì)影響太大的隨機(jī)讀性能。65536(單位:字節(jié))IN_MEMORY配置這個(gè)表的數(shù)據(jù)優(yōu)先緩存在內(nèi)存中,這樣可以有效提升讀取的性能。對(duì)于一些小表,而且需要頻繁進(jìn)行讀取操作的,可以設(shè)置此配置項(xiàng)。false服務(wù)檢查與日志維護(hù)命令與參數(shù)HBase備份與恢復(fù)性能調(diào)優(yōu)命令與參數(shù)提升實(shí)時(shí)寫效率提升實(shí)時(shí)讀效率常見(jiàn)問(wèn)題與定位提升實(shí)時(shí)讀效率操作場(chǎng)景需要讀取HBase數(shù)據(jù)場(chǎng)景。前提條件調(diào)用HBase的get或scan接口,從HBase中實(shí)時(shí)讀取數(shù)據(jù)。讀數(shù)據(jù)服務(wù)端調(diào)優(yōu)配置參數(shù)描述默認(rèn)值GC_OPTSHBase利用內(nèi)存完成讀寫操作。提高HBase內(nèi)存可以有效提高HBase性能。GC_OPTS主要需要調(diào)整HeapSize的大小和NewSize的大小。調(diào)整HeapSize大小的時(shí)候,建議將Xms和Xmx設(shè)置成相同的值,這樣可以避免JVM動(dòng)態(tài)調(diào)整HeapSize大小的時(shí)候影響性能。調(diào)整NewSize大小的時(shí)候,建議把其設(shè)置為HeapSize大小的1/9。HMaster:當(dāng)HBase集群規(guī)模越大、Region數(shù)量越多時(shí),可以適當(dāng)調(diào)大HMaster的GC_OPTS參數(shù)。RegionServer:RegionServer需要的內(nèi)存一般比HMaster要大。在內(nèi)存充足的情況下,HeapSize可以相對(duì)設(shè)置大一些。說(shuō)明:主HMaster的HeapSize為4G的時(shí)候,HBase集群可以支持100000Region數(shù)的規(guī)模。根據(jù)經(jīng)驗(yàn)值,單個(gè)RegionServer的HeapSize不建議超過(guò)20GB。HMaster:-Xms2G-Xmx2G-XX:NewSize=256M-XX:MaxNewSize=256MRegionServer:
-Xms4G-Xmx4G-XX:NewSize=512M-XX:MaxNewSize=512M讀數(shù)據(jù)服務(wù)端調(diào)優(yōu)配置參數(shù)描述默認(rèn)值hbase.regionserver.handler.count該參數(shù)表示RegionServer在同一時(shí)刻能夠并發(fā)處理多少請(qǐng)求。如果設(shè)置過(guò)高會(huì)導(dǎo)致激烈線程競(jìng)爭(zhēng),如果設(shè)置過(guò)小,請(qǐng)求將會(huì)在RegionServer長(zhǎng)時(shí)間等待,降低處理能力.根據(jù)資源情況,適當(dāng)增加處理線程數(shù)。建議根據(jù)CPU的使用情況,可以選擇設(shè)置為100至300之間的值。100hfile.block.cache.sizeHBase緩存區(qū)大小,主要影響查詢性能。根據(jù)查詢模式以及查詢記錄分布情況來(lái)決定緩存區(qū)的大小。如果采用隨機(jī)查詢使得緩存區(qū)的命中率較低,可以適當(dāng)降低緩存區(qū)大小。0.25服務(wù)檢查與日志維護(hù)命令與參數(shù)HBase備份與恢復(fù)性能調(diào)優(yōu)命令與參數(shù)常見(jiàn)問(wèn)題與定位常見(jiàn)問(wèn)題HBase組件客戶端出現(xiàn)異常,通常分為以下幾類:HBase操作異常,如執(zhí)行建表、Put、Scan時(shí),拋出異常;HBaseMaster的Web操作頁(yè)面無(wú)法打開(kāi);HBaseShell命令執(zhí)行無(wú)法返回正確結(jié)果;HBase集群節(jié)點(diǎn)進(jìn)程異常退出??赡茉騂Base客戶端程序異常HBase服務(wù)或客戶端環(huán)境出現(xiàn)異常(資源不足,網(wǎng)絡(luò)異常,磁盤故障等);HBase依賴的組件無(wú)法提供服務(wù),如HDFS、ZooKeeper出現(xiàn)異常;HBase服務(wù)出現(xiàn)異常。1、排查客戶端程序。確保HBase客戶端程序引用的jar包與HBase集群的jar包一致。 HBase客戶端程序需要引用的jar包含: HBase程序jar、HDFS基礎(chǔ)jar、ZooKeeper基礎(chǔ)jar以及與HBase、ZooKeeper、HDFS組件關(guān)聯(lián)的第三方j(luò)ar包。建議引用HBaselib庫(kù)下的所有jar文件。確保HBase客戶端安裝的Java版本與HBase集群安裝的Java版本一致。確保HBase客戶端程序使用的hbase-site.xml、core-site.xml、hdfs-site.xml配置文件和HBase集群一致。定位思路2、查看HBase集群及客戶端環(huán)境是否可用。確保HBase客戶端程序環(huán)境與HBase集群服務(wù)器網(wǎng)絡(luò)連接正常,可使用telnet命令進(jìn)行驗(yàn)證。確保HBase客戶端程序環(huán)境的hosts文件中,正確添加了HBase集群服務(wù)器IP地址和HostName對(duì)應(yīng)關(guān)系。在HBase集群中,omm用戶下,可通過(guò)ps-ef|grepHRegionServer查看RegionServer進(jìn)程,ps–ef|grepHMaster查看HMaster進(jìn)程。3、排查HBase依賴的集群是否正常。在FusionInsightHDManager上,查看ZooKeeper集群是否運(yùn)行正常。在FusionInsightHDManager上,查看HDFS集群是否運(yùn)行正常。在FusionInsightHDManager上,查看Yarn集群是否運(yùn)行正常。定位思路4、HBaseShell中的常用命令是否還可用:可以在$HBASE_HOME/bin路徑下,執(zhí)行./hbaseshell。執(zhí)行常用的命令,如list,scan‘tablename’等操作,觀察一下是否會(huì)有異常信息。5、使用hbck工具進(jìn)行檢查,如發(fā)現(xiàn)有問(wèn)題,可反復(fù)多次執(zhí)行。因?yàn)樵摴ぞ叩拿看螆?zhí)行,都僅僅檢查執(zhí)行時(shí)間點(diǎn)的集群狀態(tài),該狀態(tài)可能正在發(fā)生變化,如當(dāng)前可能是異常的,但集群卻正在嘗試著恢復(fù)。在$HBASE_HOME/bin路徑下,執(zhí)行./hbasehbck。在出現(xiàn)的結(jié)果中,可以查看到集群是否有異常信息。如果有異常,可以反復(fù)多執(zhí)行幾次,看該異常是否始終存在。如果已經(jīng)不存在,則不認(rèn)為集群出現(xiàn)了異常。定位思路6、使用fsck工具檢查HDFS集群的健康狀態(tài):在hdfs的namenode的bin路徑下面,運(yùn)行命令:./hadoopfsck/。定位思路現(xiàn)象描述客戶端日志中,類似于如下信息的日志:“UnknownHostException”可能原因HBase集群中,各節(jié)點(diǎn)之間基本上是依靠節(jié)點(diǎn)的HostName來(lái)識(shí)別并且進(jìn)行交互的,因此,如果HostName沒(méi)有能夠正確配置的話,會(huì)導(dǎo)致一系列異常。同理,HBase客戶端也需要配置集群各節(jié)點(diǎn)的HostName和IP的對(duì)應(yīng)關(guān)系才可以正常的連接到HBase集群。定位思路檢查“/etc/hosts”中是否配置了集群中各個(gè)節(jié)點(diǎn)的IP和HostName的映射關(guān)系。處理步驟如果是在Window環(huán)境下,在文件“C:\Windows\System32\drivers\etc\hosts”中添加集群各節(jié)點(diǎn)Ip與HostName的映射關(guān)系。如果是在Linux環(huán)境下,在文件“/etc/hosts”中添加Ip與HostName的映射關(guān)系。DNS無(wú)法解析現(xiàn)象描述HBase客戶端程序啟動(dòng)并且登錄時(shí),登錄失敗??赡茉蚩蛻舳谁h(huán)境中沒(méi)有正確配置krb5文件??蛻舳谁h(huán)境的配置文件hbase-site.xml中沒(méi)有配置訪問(wèn)HBase集群的用戶名和密碼文件等信息,或者所提供的密碼文件已經(jīng)過(guò)期??蛻舳谁h(huán)境中的Jar包與集群中的Jar包不一致??蛻舳谁h(huán)境中的時(shí)間和集群的時(shí)間不一致,且相差超出5分鐘??蛻舳说卿浭√幚聿襟E檢查本地的krb5配置文件,是否與集群中的配置一致。Windows環(huán)境中的配置文件路徑:C:\Windows\krb5.iniLinux環(huán)境中的配置文件路徑:/etc/krb5.conf集群中配置在安裝了KerberosServer節(jié)點(diǎn)上,/opt/huawei/Bigdata/FusionInsight/etc/KerberosClient目錄下檢查本地的hbase-site.xml中的如下兩個(gè)配置項(xiàng)是否正確:username.client.kerberos.principalusername.client.keytab.file檢查本地環(huán)境的時(shí)間是否與集群中的時(shí)間一致。檢查本地環(huán)境的Jar包與集群中的Jar包是否一致(重點(diǎn)檢查HBase,ZooKeeper,Hadoop相關(guān)的Jar包)??蛻舳说卿浭‖F(xiàn)象描述客戶端進(jìn)程不能正常訪問(wèn)HBase集群,出現(xiàn)如下類似錯(cuò)誤打印信息:“SASLauthenticationfailed.Themostlikelycauseismissingorinvalidcredentials.Consider'kinit'.”可能原因1、客戶端進(jìn)程中主動(dòng)調(diào)用了多次User#login方法進(jìn)行登錄。2、用戶名或keytab文件不正確。定位思路修改客戶端代碼,避免進(jìn)程內(nèi)多重登錄。排查修改客戶端多重登錄代碼后,重啟客戶端即可恢復(fù)正常。正常消耗時(shí)間10分鐘。處理步驟檢查客戶端日志中是否有多次如下類似日志打?。骸癓oginsuccessfulforuserXXXXXusingkeytabfileXXXXXX”。如果有多次,則說(shuō)明曾經(jīng)登錄過(guò)多次。對(duì)客戶端代碼進(jìn)行排查,一定要避免進(jìn)程級(jí)別內(nèi)重復(fù)登錄??蛻舳恕癝ASLauthenticationfailed”現(xiàn)象描述集群中各RegionServer的Region數(shù)目不均衡,并且持續(xù)較長(zhǎng)時(shí)間。通過(guò)hbck工具檢查,發(fā)現(xiàn)有個(gè)別Region沒(méi)有被打開(kāi)??赡茉蚰壳拔覀儼l(fā)現(xiàn)的引起Region無(wú)法打開(kāi)的可能的原因,包括:HMaster進(jìn)程異常,或者無(wú)可用的RegionServer。底層HDFS,Zookeeper異常導(dǎo)致的HBase進(jìn)程異常導(dǎo)致。Region無(wú)法被打開(kāi)定位思路可以首先查看Master的日志,查找出現(xiàn)異常的Region的相關(guān)日志,查看最后一次asgsin操作將Region分配到了哪個(gè)RegionServer上面,接下來(lái),到相應(yīng)的RegionServer上面去查看相應(yīng)的Region的信息。HMaster下發(fā)打開(kāi)命令的相關(guān)日志:“DEBUGorg.apache.hadoop.hbase.master.AssignmentManager:Assigningregion*************to##############”HRegionServer收到打開(kāi)Region的相關(guān)日志:“INFOorg.apache.hadoop.hbase.regionserver.HRegionServer:Receivedrequesttoopenregion:*************”HRegionServer成功打開(kāi)Region的日志:“DEBUGorg.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler:Opened*************”整個(gè)Region打開(kāi)流程結(jié)束的日志(HMaster日志)“DEBUGorg.apache.hadoop.hbase.master.handler.OpenedRegionHandler:Openedregion*************”Region無(wú)法被打開(kāi)處理步驟如果是因?yàn)镽egion打開(kāi)流程出現(xiàn)了短暫的異常導(dǎo)致的Region長(zhǎng)時(shí)間未能打開(kāi),可以直接在hbaseshell中手動(dòng)assign。如果是因?yàn)閆ookeeper或者HDFS進(jìn)程異常的原因?qū)е碌腞egion無(wú)法打開(kāi),請(qǐng)首先確認(rèn)Zookeeper或HDFS的異常。有一些情況下的異常是致命的,建議對(duì)HBase集群進(jìn)行重啟,例如,大部分的Zookeeper進(jìn)程都已經(jīng)異常了。Region無(wú)法被打開(kāi)現(xiàn)象描述該異常,可能會(huì)出現(xiàn)在HMaster,HRegionServer或者Client端??赡茉騔ookeeper問(wèn)題分為兩大類:Recoverableerrors與Unrecoverableerrors。Recoverableerrors,我們可以認(rèn)為是可以自
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人住房抵押貸款還款管理協(xié)議4篇
- 2025版攝影棚租賃合同涵蓋廣告、商業(yè)拍攝6篇
- 2025年度水利工程個(gè)人承包協(xié)議書2篇
- 2025版地質(zhì)勘探打井合同范本3篇
- 二零二五年度車輛運(yùn)輸服務(wù)與貨物跟蹤系統(tǒng)合作協(xié)議2篇
- 2025年度魚塘承包權(quán)抵押貸款服務(wù)合同4篇
- 二零二五年度橙子出口歐盟認(rèn)證采購(gòu)合同3篇
- 2025年度個(gè)人房屋維修欠款合同模板4篇
- 二零二五年度畜牧養(yǎng)殖生物安全防控體系建設(shè)合同4篇
- 2025年度個(gè)人房屋買賣合同履行監(jiān)督及保障協(xié)議2篇
- 2025年安徽馬鞍山市兩山綠色生態(tài)環(huán)境建設(shè)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 扣款通知單 采購(gòu)部
- 電除顫操作流程圖
- 湖北教育出版社三年級(jí)下冊(cè)信息技術(shù)教案
- 設(shè)計(jì)基礎(chǔ)全套教學(xué)課件
- IATF16949包裝方案評(píng)審表
- 人教版八年級(jí)美術(shù)下冊(cè)全冊(cè)完整課件
- 1 運(yùn)行方案說(shuō)明
- 北京房地產(chǎn)典當(dāng)合同
- PHILIPS HeartStart XL+操作培訓(xùn)課件
- 蘇科版九年級(jí)(初三)物理下冊(cè)全套課件
評(píng)論
0/150
提交評(píng)論