日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HBase集群安装部署(完全分布式)

發(fā)布時(shí)間:2023/12/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HBase集群安装部署(完全分布式) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

zookeeper 配置

?

1.???????? Zookeeper服務(wù)集群規(guī)模不小于三個(gè)節(jié)點(diǎn),要求各服務(wù)之間系統(tǒng)時(shí)間要保持一致。

2.???????? m1usr/local目錄下,解壓縮zookeeper(執(zhí)行命令tar –zvxf zookeeper.tar.gz

3.???????? 設(shè)置環(huán)境變量

打開/etc/profile文件!內(nèi)容如下:

?

#set java & hadoopexport JAVA_HOME=/usr/local/program/jdkexport HADOOP_HOME=/usr/local/program/hadoopexport ZOOKEEPER_HOME=/usr/local/program/zookeeperexport PATH=.:$HADOOP_HOME/bin:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$PATH


?

?

注:修改完后profile記得執(zhí)行source /etc/profile

?

4.???????? 在解壓后的zookeeper的目錄下進(jìn)入conf目錄修改配置文件

更名操作:mv zoo_sample.cfg zoo.cfg

5.???????? 編輯zoo.cfg (vi zoo.cfg)

修改dataDir=/usr/local/program/zookeeper/data/

新增server.0=m1:2888:3888

???????? server.1=s1:2888:3888

???????? server.2=s2:2888:3888

?

文件如下:

# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial # synchronization phase can takeinitLimit=10# The number of ticks that can pass between # sending a request and getting an acknowledgementsyncLimit=5# the directory where the snapshot is stored.# do not use /tmp for storage, /tmp here is just # example sakes.dataDir=/usr/local/program/zookeeper/data# the port at which the clients will connectclientPort=2181## Be sure to read the maintenance section of the # administrator guide before turning on autopurge.## http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance## The number of snapshots to retain in dataDir#autopurge.snapRetainCount=3# Purge task interval in hours# Set to "0" to disable auto purge feature#autopurge.purgeInterval=1server.0=m1:2888:3888server.1=s1:2888:3888server.2=s2:2888:3888
?

? 注:

server.0=m1:2888:3888server.1=s1:2888:3888server.2=s2:2888:3888
這三行為配置zookeeper集群的機(jī)器(m1s1s2)分別用server.0server.1server.2標(biāo)識(shí),28883888為端口號(zookeeper集群包含一個(gè)leader(領(lǐng)導(dǎo))和多個(gè)fllower(隨從),啟動(dòng)zookeeper集群時(shí)會(huì)隨機(jī)分配端口號,分配的端口號為2888的為leader,端口號為3888的是fllower

?

6.???????? 創(chuàng)建文件夾mkdir /usr/local/program/zookeeper/data

7.???????? data目錄下,創(chuàng)建文件myid,值為0? (0用來標(biāo)識(shí)m1這臺(tái)機(jī)器的zookeeper )

?

到此為止 m1上的配置就已經(jīng)完成;接下來配置s1s2.

?

8.???????? zookeeper目錄復(fù)制到s1s2中(scp –r /usr/local/program/zookeeper s1:/usr/local/program/zookeeper

9.???????? 把修改后的etc/profile文件復(fù)制到s1s2

(復(fù)制完后記得在s1s2中執(zhí)行命令source /etc/profile

10.???? s1中相應(yīng)的myid中的值改為1s2中相應(yīng)的myid中的值改為2

11.???? 啟動(dòng),在三個(gè)節(jié)點(diǎn)上分別執(zhí)行命令zkServer.sh? start

12.???? 檢驗(yàn),在三個(gè)節(jié)點(diǎn)上分別執(zhí)行命令zkServer.sh? status

?

?

?

zookeeper的shell操作

啟動(dòng)zookeeperzkServer.sh? start

進(jìn)入zookeeperzkCli.sh

?

?

hbase配置

?

HBase(NoSQL)的數(shù)據(jù)模型

1.1 (table),是存儲(chǔ)管理數(shù)據(jù)的。

1.2 行鍵(row key),類似于MySQL中的主鍵。

??? 行鍵是HBase表天然自帶的。

1.3 列族(column family),列的集合。

??? HBase中列族是需要在定義表時(shí)指定的,列是在插入記錄時(shí)動(dòng)態(tài)增加的。

???????? HBase表中的數(shù)據(jù),每個(gè)列族單獨(dú)一個(gè)文件。

1.4 時(shí)間戳(timestamp),列(也稱作標(biāo)簽、修飾符)的一個(gè)屬性。

??? 行鍵和列確定的單元格,可以存儲(chǔ)多個(gè)數(shù)據(jù),每個(gè)數(shù)據(jù)含有時(shí)間戳屬性,數(shù)據(jù)具有版本特性。????

???????? 如果不指定時(shí)間戳或者版本,默認(rèn)取最新的數(shù)據(jù)。

1.5 存儲(chǔ)的數(shù)據(jù)都是字節(jié)數(shù)組。

1.6 表中的數(shù)據(jù)是按照行鍵的順序物理存儲(chǔ)的。

?

2.HBase的物理模型

2.1 HBase是適合海量數(shù)據(jù)(20PB)的秒級簡單查詢的數(shù)據(jù)庫。

2.2 HBase表中的記錄,按照行鍵進(jìn)行拆分,拆分成一個(gè)個(gè)的region

??? 許多個(gè)region存儲(chǔ)在region server(單獨(dú)的物理機(jī)器)中的。

???????? 這樣,對表的操作轉(zhuǎn)化為對多臺(tái)region server的并行查詢。

?

3.HBase的體系結(jié)構(gòu)

3.1 HBase是主從式結(jié)構(gòu),HMasterHRegionServer

?

HBase的偽分布

1.???????? m1上解壓縮、重命名、設(shè)置環(huán)境變量HBASE_HOME

如下:

#set java & hadoopexport JAVA_HOME=/usr/local/jdkexport HADOOP_HOME=/usr/local/hadoopexport ZOOKEEPER_HOME=/usr/local/zookeeperexport HBASE_HOME=/usr/local/hbaseexport PATH=.:$HADOOP_HOME/bin:$ZOOKEEPER_HOME/bin:$HBASE_HOME/bin:$JAVA_HOME/bin:$PATH


?

注:修改完成后記得source /etc/profile

?

2.???????? 修改文件$HBASE_HOME/conf/hbase-env.sh,修改內(nèi)容如下

export JAVA_HOME=/usr/local/jdkexport HBASE_MANAGES_ZK=true
3.???????? 修改文件hbase-site.xml,修改內(nèi)容如下

?????

<property><name>hbase.rootdir</name><value>hdfs://m1:9000/hbase</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.zookeeper.quorum</name><value>m1</value></property><property><name>dfs.replication</name><value>1</value></property>


4.???????? (可選)修改regionservers,具體操作見ppt

5.???????? 啟動(dòng),執(zhí)行命令start-hbase.sh

??? 注意:啟動(dòng)hbase之前要先啟動(dòng)hadoop,確保hadoop可寫入數(shù)據(jù)。

?

?

HBase的完全分布集群

1.hbase的機(jī)群搭建過程(在原來的m1上的hbase偽分布基礎(chǔ)上進(jìn)行搭建)

1.1 集群結(jié)構(gòu),主節(jié)點(diǎn)(hmaster)m1,從節(jié)點(diǎn)(region server)s1s2

1.2 修改m1上的hbase的幾個(gè)文件

??? (1)修改hbase-env.sh的最后一行export HBASE_MANAGES_ZK=false

???????? (2)修改hbase-site.xml文件的hbase.zookeeper.quorum的值為m1,s1,s2

???????? (3)修改regionservers文件(存放的region serverhostname),內(nèi)容修改為s1s2

1.3 復(fù)制m1中的hbase文件夾到s1s2????????

??? 復(fù)制m1中的/etc/profiles1s2中,在s1s2上執(zhí)行source /etc/profile

1.4 啟動(dòng)集群

?? 首先啟動(dòng)hadoop(在m1start-all.sh),

?? 然后啟動(dòng)zookeeper集群(分別在三臺(tái)機(jī)器上zkServer.sh? start;可以使用zkServer.sh status查看zk的狀態(tài))。

?? 最后在m1上啟動(dòng)hbase集群(start-hbase.sh)。

HBase Shell操作(增刪改查)

說明:

?????? hbase提供了一個(gè)shell的終端給用戶交互

?

創(chuàng)建表

>create 'users','user_id','address','info'

???????? (說明:users,有三個(gè)列族user_id,address,info)

?

列出全部表

>list
得到表的描述

>describe 'users'


創(chuàng)建表

>create 'users_tmp','user_id','address','info'
刪除表

>disable 'users_tmp'>drop 'users_tmp'


?

添加記錄

put ‘表名’,’行鍵(標(biāo)識(shí))’,’列族:字段’,’數(shù)值

示例:

put 'users','xiaoming','info:age','24';put 'users','xiaoming','info:birthday','1987-06-17';put 'users','xiaoming','info:company','alibaba';put 'users','xiaoming','address:contry','china';put 'users','xiaoming','address:province','zhejiang';put 'users','xiaoming','address:city','hangzhou';put 'users','zhangyifei','info:birthday','1987-4-17';put 'users','zhangyifei','info:favorite','movie';put 'users','zhangyifei','info:company','alibaba';put 'users','zhangyifei','address:contry','china';put 'users','zhangyifei','address:province','guangdong';put 'users','zhangyifei','address:city','jieyang';put 'users','zhangyifei','address:town','xianqiao'
?

獲取一條記錄

1.?????? 取得一個(gè)id的所有數(shù)據(jù)

?

>get 'users','xiaoming'


?

2.?????? 獲取一個(gè)id,一個(gè)列族的所有數(shù)據(jù)

?

>get 'users','xiaoming','info'


?

3.?????? 獲取一個(gè)id,一個(gè)列族中一個(gè)列的所有數(shù)據(jù)

?

>get 'users','xiaoming','info:age'


?

更新記錄

>put 'users','xiaoming','info:age' ,'29'>get 'users','xiaoming','info:age'>put 'users','xiaoming','info:age' ,'30'>get 'users','xiaoming','info:age'
獲取單元格數(shù)據(jù)的版本數(shù)據(jù)

>get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>1}>get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>2}>get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>3}
獲取單元格數(shù)據(jù)的某個(gè)版本數(shù)據(jù)

〉get 'users','xiaoming',{COLUMN=>'info:age',TIMESTAMP=>1364874937056}
全表掃描

>scan 'users'


?

刪除xiaoming值的'info:age'字段

>delete 'users','xiaoming','info:age'>get 'users','xiaoming'
刪除整行

>deleteall 'users','xiaoming'
統(tǒng)計(jì)表的行數(shù)

>count 'users'
清空表>truncate 'users'

總結(jié)

以上是生活随笔為你收集整理的HBase集群安装部署(完全分布式)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。