實(shí)訓(xùn)6 HBase安裝與配置_第1頁(yè)
實(shí)訓(xùn)6 HBase安裝與配置_第2頁(yè)
實(shí)訓(xùn)6 HBase安裝與配置_第3頁(yè)
實(shí)訓(xùn)6 HBase安裝與配置_第4頁(yè)
實(shí)訓(xùn)6 HBase安裝與配置_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

實(shí)訓(xùn)4.1HBase安裝與配置1.實(shí)訓(xùn)目的通過(guò)本實(shí)訓(xùn)任務(wù),理解Zookeeper的概念、掌握Z(yǔ)ookeeper完全分布式環(huán)境搭建、認(rèn)識(shí)HBase的基本架構(gòu)、理解HBase的原理、完成HBase的安裝與部署。2.實(shí)訓(xùn)內(nèi)容安裝和配置Zookeeper,學(xué)會(huì)分布式Zookeeper的安裝;安裝HBase,配置部署HBase,WebUI查看HBase。3.實(shí)訓(xùn)要求以小組為單元進(jìn)行實(shí)訓(xùn),每小組5人,小組自協(xié)商選一位組長(zhǎng),由組長(zhǎng)安排和分配實(shí)訓(xùn)任務(wù),具體參考實(shí)訓(xùn)操作環(huán)節(jié)。4.準(zhǔn)備知識(shí)(1)Zookeeper的使用場(chǎng)景①HA機(jī)制(高可用機(jī)制)適合于HDFS、HBase等的HA,如在前面HBase的master、backup_master,兩臺(tái)節(jié)點(diǎn)都去ZK里面創(chuàng)建持久節(jié)點(diǎn),當(dāng)一個(gè)節(jié)點(diǎn)創(chuàng)建成功,另外一個(gè)就會(huì)創(chuàng)建失敗。另外一種是創(chuàng)建臨時(shí)順序節(jié)點(diǎn),比如說(shuō)第一個(gè)連接的叫znode1、第二個(gè)連接的就會(huì)叫znode2、第三個(gè)連接的就會(huì)叫znode3,連接的節(jié)點(diǎn)會(huì)按照名詞排序,此時(shí)我們定義節(jié)點(diǎn)最小的為master,當(dāng)如果節(jié)點(diǎn)最小的節(jié)點(diǎn)(znode1)宕機(jī),則znode2就是最小,此時(shí),這個(gè)znode2所連接的服務(wù)器就切換成master角色了。②配置文件同步分布式系統(tǒng)中會(huì)有很多臺(tái)服務(wù)器,服務(wù)器的配置文件要一直,如果其中某個(gè)配置發(fā)生了變化,那么每一臺(tái)也應(yīng)該改一樣,操作起來(lái)十分繁瑣,此時(shí)我們可以使用Zookeeper來(lái)同步配置。利用Zookeeper監(jiān)控此配置文件,如果發(fā)生了變化,則執(zhí)行另外的同步配置的代碼即可。③分布式鎖使用Zookeeper可以解決分布式環(huán)境下多個(gè)程序?qū)σ粋€(gè)共享資源的競(jìng)爭(zhēng)的關(guān)系,防止同一資源在同一時(shí)刻被多個(gè)程序更改,實(shí)現(xiàn)過(guò)程一樣可以使用與HA相類(lèi)似的操作。(2)HBase HBase的數(shù)據(jù)模型如表4-4所示。表4-4HBase的數(shù)據(jù)模型RowKeyTimeStampCF1CF2CF3“RK000001”T1CF2:q1=val3CF3:q2=val2T2CF1:q3=val4T3CF2:q4=val5(3)RowKey與其它Nosql數(shù)據(jù)庫(kù)一樣,RowKey是用來(lái)檢索記錄的主鍵。訪問(wèn)HBasetable中的行,只有3種方式:①通過(guò)單個(gè)RowKey訪問(wèn)②通過(guò)RowKey的range③全表掃描RowKey行鍵(RowKey)可以是任意字符串(最大長(zhǎng)度是64KB,實(shí)際應(yīng)用中長(zhǎng)度一般為10-100bytes),在HBase內(nèi)部,RowKey保存為字節(jié)數(shù)組。存儲(chǔ)時(shí),數(shù)據(jù)按照RowKey的字典序(byteorder)排序存儲(chǔ)。設(shè)計(jì)Key時(shí),要充分排序存儲(chǔ)這個(gè)特性,將經(jīng)常一起讀取的行存儲(chǔ)放到一起。注意:字典序?qū)nt排序的結(jié)果是:1,10,100,11,12,13,14,15,16,17,18,19,2,20,21,…,9,91,92,93,94,95,96,97,98,99。要保持整形的自然序,行鍵必須用0作左填充。行的一次讀寫(xiě)是原子操作(不論一次讀寫(xiě)多少列)。這個(gè)設(shè)計(jì)決策能夠使用戶(hù)很容易的理解程序在對(duì)同一個(gè)行進(jìn)行并發(fā)更新操作時(shí)的行為。(4)列族HBase表中的每個(gè)列,都?xì)w屬與某個(gè)列族。列族是表的chema的一部分(而列不是),必須在使用表之前定義。列名都以列族作為前綴。例如”courses:history”,”courses:math”都屬于”courses”這個(gè)列族。訪問(wèn)控制、磁盤(pán)和內(nèi)存的使用統(tǒng)計(jì)都是在列族層面進(jìn)行的。實(shí)際應(yīng)用中,列族上的控制權(quán)限能幫助我們管理不同類(lèi)型的應(yīng)用:我們?cè)试S一些應(yīng)用可以添加新的基本數(shù)據(jù)、一些應(yīng)用可以讀取基本數(shù)據(jù)并創(chuàng)建繼承的列族、一些應(yīng)用則只允許瀏覽數(shù)據(jù)(甚至可能因?yàn)殡[私的原因不能瀏覽所有數(shù)據(jù))。(5)時(shí)間戳HBase中通過(guò)row和columns確定的為一個(gè)存貯單元稱(chēng)為cell。每個(gè)cell都保存著同一份數(shù)據(jù)的多個(gè)版本。版本通過(guò)時(shí)間戳來(lái)索引。時(shí)間戳的類(lèi)型是64位整型。時(shí)間戳可以由HBase(在數(shù)據(jù)寫(xiě)入時(shí)自動(dòng))賦值,此時(shí)時(shí)間戳是精確到毫秒的當(dāng)前系統(tǒng)時(shí)間。時(shí)間戳也可以由客戶(hù)顯式賦值。如果應(yīng)用程序要避免數(shù)據(jù)版本沖突,就必須自己生成具有唯一性的時(shí)間戳。每個(gè)cell中,不同版本的數(shù)據(jù)按照時(shí)間倒序排序,即最新的數(shù)據(jù)排在最前面。為了避免數(shù)據(jù)存在過(guò)多版本造成的的管理(包括存貯和索引)負(fù)擔(dān),HBase提供了兩種數(shù)據(jù)版本回收方式。一是保存數(shù)據(jù)的最后n個(gè)版本,二是保存最近一段時(shí)間內(nèi)的版本(比如最近七天)。用戶(hù)可以針對(duì)每個(gè)列族進(jìn)行設(shè)置。(6)Cell由{RowKey,column(=<family>+<label>),version}唯一確定的單元。cell中的數(shù)據(jù)是沒(méi)有類(lèi)型的,全部是字節(jié)碼形式存貯。(7)HBase整體架構(gòu) HBase的整體架構(gòu)如圖4-2、圖4-3所示。圖4-2HBase集群架構(gòu)圖圖4-3HBase系統(tǒng)架構(gòu)圖(8)Client包含訪問(wèn)HBase的接口,client維護(hù)著一些cache來(lái)加快對(duì)HBase的訪問(wèn),比如region的位置信息。(9)Zookeeper①保證任何時(shí)候,集群中只有一個(gè)master②存貯所有Region的尋址入口。③實(shí)時(shí)監(jiān)控RegionServer的狀態(tài),將Regionserver的上線和下線信息實(shí)時(shí)通知給Master④存儲(chǔ)HBase的schema,包括有哪些table,每個(gè)table有哪些columnfamily(10)Master①為Regionserver分配region②負(fù)責(zé)regionserver的負(fù)載均衡③發(fā)現(xiàn)失效的regionserver并重新分配其上的region④GFS上的垃圾文件回收⑤處理schema更新請(qǐng)求(11)RegionServer①Regionserver維護(hù)Master分配給它的region,處理對(duì)這些region的IO請(qǐng)求②Regionserver負(fù)責(zé)切分在運(yùn)行過(guò)程中變得過(guò)大的region可以看到,Client訪問(wèn)HBase上數(shù)據(jù)的過(guò)程并不需要master參與(尋址訪問(wèn)zookeeper和regionserver,數(shù)據(jù)讀寫(xiě)訪問(wèn)regionserver),master僅僅維護(hù)者table和region的元數(shù)據(jù)信息,負(fù)載很低。實(shí)訓(xùn)步驟(1)安裝和配置Zookeeper①安裝包準(zhǔn)備將apache-zookeeper-3.5.10-bin.tar壓縮包上傳至master節(jié)點(diǎn)的/root/package目錄下。解壓apache-zookeeper-3.5.10-bin.tar,這里解壓在/opt/software目錄下:cd/root/packagetar-zxvfapache-zookeeper-3.5.10-bin.tar.gz-C/opt/software/②配置Zookeeper配置環(huán)境變量:vim/etc/profile添加以下內(nèi)容:exportZK_HOME=/opt/software/apache-zookeeper-3.5.10-binexportPATH=$PATH:$ZK_HOME/bin使配置生效:source/etc/profile修改Zookeeper的配置文件($ZK_HOME/conf):cd/opt/software/apache-zookeeper-3.5.10-bin/confcpzoo_sample.cfgzoo.cfgvimzoo.cfg修改dataDir,加上dataLogDir:dataDir=/opt/software/apache-zookeeper-3.5.10-bin/datadirdataLogDir=/opt/software/apache-zookeeper-3.5.10-bin/logs添加上節(jié)點(diǎn)的關(guān)系(修改成自己對(duì)應(yīng)的節(jié)點(diǎn)名)server.0=master:2888:3888server.1=slave1:2888:3888server.2=slave2:2888:3888 操作結(jié)果如圖6-50所示。圖6-50修改Zookeeper的配置文件創(chuàng)建Zookeeper對(duì)應(yīng)的路徑:mkdir/opt/software/apache-zookeeper-3.5.10-bin/datadir創(chuàng)建Zookeeper節(jié)點(diǎn)標(biāo)識(shí)并輸入0:vim/opt/software/apache-zookeeper-3.5.10-bin/datadir/myid0③配置slave1、slave2的Zookeeper復(fù)制master的Zookeeper到slave1、slave2:~/shell/scp_call.sh/opt/software/apache-zookeeper-3.5.10-bin配置Zookeeper節(jié)點(diǎn)標(biāo)識(shí),修改slave1的myid為1(slave2的myid為2):在slave1節(jié)點(diǎn)執(zhí)行:vim/opt/software/apache-zookeeper-3.5.10-bin/datadir/myid1在slave2節(jié)點(diǎn)執(zhí)行:vim/opt/software/apache-zookeeper-3.5.10-bin/datadir/myid2配置slave1、slave2的環(huán)境變量為了方便操作,可以拷貝master上的環(huán)境變量文件到slave1、slave2節(jié)點(diǎn)。在master節(jié)點(diǎn)執(zhí)行:~/shell/scp_call.sh/etc/profile拷貝完成后,需要在slave1、slave2節(jié)點(diǎn)上執(zhí)行source操作:source/etc/profile(2)校驗(yàn)Zookeeper①啟動(dòng)master、slave1、slave2上的Zookeeper。分別在三臺(tái)節(jié)點(diǎn)上執(zhí)行:zkServer.shstart 在master上啟動(dòng)Zookeeper如圖6-51所示。圖6-51在master啟動(dòng)Zookeeper 在slave1上啟動(dòng)Zookeeper如圖6-52所示。圖6-52在slave1啟動(dòng)Zookeeper 在slave2上啟動(dòng)Zookeeper如圖6-53所示。圖6-52在slave2啟動(dòng)Zookeeper②查看master、slave1、slave2上Zookeeper狀態(tài)zkServer.shstatus 查看master節(jié)點(diǎn)上的Zookeeper狀態(tài)如圖6-57所示。圖6-57master節(jié)點(diǎn)上的Zookeeper狀態(tài) 查看slave1節(jié)點(diǎn)上的Zookeeper狀態(tài)如圖6-58所示。圖6-58slave1節(jié)點(diǎn)上的Zookeeper狀態(tài) 查看slave2節(jié)點(diǎn)上的Zookeeper狀態(tài)如圖6-59所示。圖6-59slave2節(jié)點(diǎn)上的Zookeeper狀態(tài)說(shuō)明:如果需要在三臺(tái)節(jié)點(diǎn)上執(zhí)行相同的操作,可以使用附錄提供的腳本:call_all.sh。使用說(shuō)明:執(zhí)行call_all.sh腳本,加上需要操作的命令即可。比如,需要在三臺(tái)節(jié)點(diǎn)上執(zhí)行“jps”命令,則可以在master機(jī)上執(zhí)行:call_all.shjps如需要在三臺(tái)節(jié)點(diǎn)執(zhí)行“zkServer.shstatus”,腳本在“~/shell”目錄,則可以在master機(jī)上執(zhí)行:~/shell/call_all.sh"zkServer.shstatus"效果如圖4-所示。圖4-查看ZooKeeper節(jié)點(diǎn)的狀態(tài)由于執(zhí)行的命令有空格,所以可以使用雙引號(hào)。(3)安裝和配置HBase①將hbase-2.5.0-bin.tar.gz壓縮包上傳至master節(jié)點(diǎn)的/root/package目錄下,解壓在/opt/software/目錄下:cd/root/packagetar-zxvfhbase-2.5.0-bin.tar.gz-C/opt/software(4)配置HBase①配置環(huán)境變量:vim/etc/profile添加以下內(nèi)容:exportHBASE_HOME=/opt/software/hbase-2.5.0exportPATH=$PATH:$HBASE_HOME/bin使配置生效:source/etc/profile②修改HBase的配置文件hbase-env.sh($HBASE_HOME/conf):配置JAVA_HOMEvim/opt/software/hbase-2.5.0/conf/hbase-env.sh編輯之前輸入/JAVA_HOME再回車(chē)進(jìn)行搜索,按字母n進(jìn)行搜索下一個(gè)。這里只有一處JAVA_HOME,去掉注釋?zhuān)▽⑿惺椎摹?”刪掉),修改為實(shí)際的JAVA_HOME路徑。exportJAVA_HOME=/opt/software/jdk1.8.0_161設(shè)置HBase不使用內(nèi)置Zookeeper管理同樣在非編輯狀態(tài)下輸入/HBASE_MANA進(jìn)行搜索,將#exportHBASE_MANAGES_ZK=true中去掉注釋?zhuān)rue改為false,保存,退出:exportHBASE_MANAGES_ZK=false設(shè)置啟動(dòng)的時(shí)候不包含Hadoop的庫(kù)同樣在非編輯狀態(tài)下輸入/HBASE_DISA進(jìn)行搜索,將exportHBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"這一句的注釋去掉(或者新增一行設(shè)置為true)。如圖4-所示。圖4-配置效果此項(xiàng)默認(rèn)是false,則會(huì)加載Hadoop的庫(kù),則啟動(dòng)的時(shí)候會(huì)有警告。③修改HBase的配置文件hbase-site.xml($HBASE_HOME/conf):vim/opt/software/hbase-2.5.0/conf/hbase-site.xml修改并添加相關(guān)配置:<property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.tmp.dir</name><value>../tmp</value></property><property><name>hbase.rootdir</name><value>hdfs://master:8020/hbase</value></property><property><name>hbase.zookeeper.quorum</name><value>master,slave1,slave2</value></property><property><name>vider</name><value>filesystem</value></property>④將hadoop中hdfs-site.xml拷貝到HBASE_HOME/conf下scp/opt/software/hadoop-3.3.4/etc/hadoop/hdfs-site.xml/opt/software/hbase-2.5.0/conf/⑤配置regionserversvim/opt/software/hbase-2.5.0/conf/regionservers刪除里面的localhost,添加slave1、slave2的主機(jī)名,如圖4-6所示。slave1slave2圖4-6添加slave1和slave2主機(jī)名(5)同步slave1、slave2①拷貝安裝目錄到slave1與slave2~/shell/scp_call.sh/opt/software/hbase-2.5.0②配置slave1、slave2的環(huán)境變量為了方便操作,可以拷貝master上的環(huán)境變量文件到slave1、slave2節(jié)點(diǎn)。在master節(jié)點(diǎn)執(zhí)行:~/shell/scp_call.sh/etc/profile拷貝完成后,需要在slave1、slave2節(jié)點(diǎn)上執(zhí)行source操作:source/etc/profile(6)檢驗(yàn)HBase①啟動(dòng)HBase,啟動(dòng)頁(yè)面如圖4-7所示。在master節(jié)點(diǎn)執(zhí)行:start-hbase.sh圖4-7啟動(dòng)HBase前提:確保Hadoop、Zookeeper已啟動(dòng),如果沒(méi)啟動(dòng),請(qǐng)使用下面指令啟動(dòng)。zkServer.shstartstart-dfs.sh②查看master、slave1、slave2的進(jìn)程~/shell/jps_all.sh圖4-10查看三臺(tái)節(jié)點(diǎn)的進(jìn)程情況③查看WebUI頁(yè)面在瀏覽器中打開(kāi)master的ip地址加端口:31:16010格式:master的ip:16010。如圖2-46所

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論