日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Cassandra集群數(shù)據(jù)初始化的實現(xiàn)步驟

一個Cassandra集群需要投入時候,絕大多數(shù)時候都是會有初始化數(shù)據(jù)的,比如博客網(wǎng)站中所有的博客數(shù)據(jù),數(shù)據(jù)分析網(wǎng)站中所有的網(wǎng)頁信息,電子商務網(wǎng)站中所有的商品信息等等。這些初始化數(shù)據(jù)往往量的都非常大,不適用直接使用Thrift API的方式(談談Cassandra的客戶端)直接導入。Facebook曾經(jīng)使用了叫做BinaryMemTable的方式導入(使用Binary Memtable將大量數(shù)據(jù)導入Cassandra)。

創(chuàng)新互聯(lián)不只是一家網(wǎng)站建設的網(wǎng)絡公司;我們對營銷、技術(shù)、服務都有自己獨特見解,公司采取“創(chuàng)意+綜合+營銷”一體化的方式為您提供更專業(yè)的服務!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關注我們的網(wǎng)站制作、成都網(wǎng)站建設質(zhì)量和服務品質(zhì),在得到用戶滿意的同時,也能得到同行業(yè)的專業(yè)認可,能夠為行業(yè)創(chuàng)新發(fā)展助力。未來將繼續(xù)專注于技術(shù)創(chuàng)新,服務升級,滿足企業(yè)一站式營銷型網(wǎng)站需求,讓再小的成都品牌網(wǎng)站建設也能產(chǎn)生價值!

我們在集群中安裝Hadoop和Cassandra,假設我們需要初始化的數(shù)據(jù)可以導入成一個平面文件(txt文件),然后上傳到HDFS中。其中每一臺機器既是Cassandra的節(jié)點也是Hadoop的Slave機器,并且每一臺Slave機器的Reduce的個數(shù)為1。

為了將大量的數(shù)據(jù)導入到集群中,我個人認為有如下2中方案。

使用BinaryMemTable

1.運行MapReduceJob

在Mapper中按照Key對導入的數(shù)據(jù)進行分區(qū)。

在Reducer中,configure階段進行以下操作:

1. 初始化Cassandra的消息服務和Gossip服務。

2. 創(chuàng)建Cassandra的文件目錄。

3. 關閉Cassandra的壓縮功能。

4. 等待一個Range的delay時間。

在Reducer中,reduce階段進行以下操作:

1. 根據(jù)每一個key創(chuàng)建其對應的ColumnFamily

2. 創(chuàng)建RowMutation的消息

3. 將消息發(fā)送到集群中所有應該獲得該數(shù)據(jù)的節(jié)點中。

在Reducer中,close階段進行以下操作:

1. 等待消息服務中所有的消息發(fā)送完畢。

2. 完畢Cassandra的消息服務和Gossip服務。

2.啟動Cassandra集群

在Cassandra啟動后,手動執(zhí)行壓縮操作,合并之前產(chǎn)生的大量的SSTable文件。

自己生成SSTable文件

1.啟動Cassandra集群

啟動后,確保整個集群的ring已經(jīng)建立起來。

2.運行MapReduceJob

在Mapper中,configure階段進行以下操作:

1. 隨機連接一臺Cassandra機器

2. 獲取Cassandra集群的token map

在Mapper中,map階段進行以下操作:

1. 根據(jù)數(shù)據(jù)的key對應的節(jié)點地址劃分數(shù)據(jù)

二次排序

1. 將節(jié)點地址和key相應的數(shù)據(jù)作為一個Group

2. Group中的數(shù)據(jù)按照key的升序排序

在Reducer中,configure階段進行以下操作:

1. 為每一個ColumnFamily創(chuàng)建一個SStableWriter實例。

在Reducer中,reduce階段進行以下操作:

1. 根據(jù)每一個key創(chuàng)建其對應的ColumnFamily

2. 調(diào)用相應的SStableWriter.append()方法,將數(shù)據(jù)寫入到指定的SStable文件中。

在Reducer中,close階段進行以下操作:

1. 調(diào)用每一個ColumnFamily的SStableWriter.closeAndOpenReader()方法。

2. 將生成的SSTable文件SCP到應該屬于的Cassandra的data目錄中。

3.重新啟動Cassandra集群


名稱欄目:Cassandra集群數(shù)據(jù)初始化的實現(xiàn)步驟
標題網(wǎng)址:http://www.dlmjj.cn/article/cdiscde.html