99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀Hbase:安裝及模式配置指南
Hbase:安裝及模式配置指南
2020-06-03
收藏

所謂知己知彼,百戰(zhàn)不殆!在安裝HBASE前,我們需要了解它的版本,從而好進行選擇與下載。

通過之前介紹的Hbase的集群架構(gòu),我們可以知道Hbase數(shù)據(jù)需要存儲在HDFS上,因此在選擇Hbase版本時要兼顧之前安裝的Hadoop版本。Hbase各個版本與Hadoop各個版本之間的兼容性可以從Hbase官網(wǎng)上得到,如下圖所示:

我們之前安裝的是Hadoop2.7.5這個版本的hadoop支持的Hbase版本是最多的,支持上圖中所有的Hbase版本。目前Hbase1.3.2使用比較廣泛所以我們選擇此版。

由于國內(nèi),我們可以從清華下載鏡像中下載,下載鏈接如下所示:

https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/1.3.2/hbase-1.3.2-bin.tar.gz

通過winscp將下載的hbase文件上傳到虛擬機的用戶主目錄下的Downloads文件目錄中。通過命令ls可以查看

關于HBASE安裝

1、解壓

將~/Downloads/hbase-1.3.2-bin.tar.gz解壓到用戶主目錄下。命令如下圖所示:

解壓結(jié)束后如下圖所示:

將文件名稱改名hbase132

關于HBASE的配置

將hbase添加到系統(tǒng)環(huán)境變量,使用vim ~/.bashrc編輯文件

在文件末尾添加如下內(nèi)容,保存并退出

重新導入配置文件

啟動Hbase、查看啟動進程、停止Hbase

上面屬于standalong模式啟動,主要用于簡單測試。然而大部分Hbase是需要以集群模式啟動的。不過hbase的運行模式變換只需更改其配置文件即可。

關于Hbase的集群模式配置

第一步:配置Hbase-env.sh

首先使用vim編輯器編輯/home/hduser/hbase132/conf/目錄下的hbase-env.sh

將如下內(nèi)容添加到hbase-env.sh文件末尾,然后退出保存。

第二步:配置Hbase-site.xml

接下來配置hbase-site.xml。

在hbase-site.xml文件尾添加下圖中的內(nèi)容,并保存退出。

第三步:配置regionservers

接下來配置regionservers這個文件的作用與hadoop中的slaves類似,用來告訴hbase集群哪些是工作節(jié)點。

在我們的集群中讓slave1、slave2來運行regionserver程序。

第四步:將各個文件傳至slave1、slave2

因為我們已經(jīng)修改過用戶環(huán)境變量.bashrc因此我們需要將該文件上傳到各個節(jié)點用戶主目錄下。

然后還需上傳hbase132文件到各個節(jié)點用戶主目錄下

5、啟動

重啟三臺虛擬機使配置生效

啟動hadoop

start-all.sh

啟動zookeeper

啟動zookeeper與啟動其他組件不同,需要在每個節(jié)點都執(zhí)行命令

zkServer.sh start

顯示STARTED字樣則說明啟動成功。

啟動Hbase

由于HBase依靠ZooKeeper提供一致性服務,在啟動ZooKeeper之后可嘗試啟動HBase,在主節(jié)點執(zhí)行啟動命令

start-hbase.sh

啟動完成后,能夠在主節(jié)點看到以下服務

至此,hbase安裝完成。

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }