日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

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

综合教程

大数据运维(59)最全的大数据工具

發(fā)布時間:2024/8/26 综合教程 43 生活家
生活随笔 收集整理的這篇文章主要介紹了 大数据运维(59)最全的大数据工具 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文除了一些常用的大數(shù)據(jù)工具,還總結(jié)匯總了其他大數(shù)據(jù)工具,幾乎是最全的大數(shù)據(jù)工具的總結(jié)。

如果你想入門大數(shù)據(jù),可以對他們進行簡單的了解。
如果你想學(xué)習(xí)自己熟悉意外的大數(shù)據(jù)工具,可以看這篇文章。
如果你想選擇一個適合自己公司的大數(shù)據(jù)工具,也可以參考這篇文章。

我們將針對大數(shù)據(jù)開源工具不同的用處來進行分類,并且附上了官網(wǎng)和部分下載鏈接,希望能給做大數(shù)據(jù)的朋友做個參考。下面是第一部分。

查詢引擎


一、Phoenix

貢獻者:Salesforce

簡介:這是一個Java中間層,可以讓開發(fā)者在Apache HBase上執(zhí)行SQL查詢。Phoenix完全使用Java編寫,代碼位于 GitHub 上,并且提供了一個客戶端可嵌入的JDBC驅(qū)動。

Phoenix查詢引擎會將SQL查詢轉(zhuǎn)換為一個或多個HBase scan,并編排執(zhí)行以生成標(biāo)準(zhǔn)的JDBC結(jié)果集。直接使用HBase API、協(xié)同處理器與自定義過濾器,對于簡單查詢來說,其性能量級是毫秒,對于百萬級別的行數(shù)來說,其性能量級是秒。

Phoenix最值得關(guān)注的一些特性有:

嵌入式的JDBC驅(qū)動,實現(xiàn)了大部分的java.sql接口,包括元數(shù)據(jù)API
可以通過多部行鍵或是鍵/值單元對列進行建模
完善的查詢支持,可以使用多個謂詞以及優(yōu)化的掃描鍵
DDL支持:通過CREATE TABLE、DROP TABLE及ALTER TABLE來添加/刪除列
版本化的模式倉庫:當(dāng)寫入數(shù)據(jù)時,快照查詢會使用恰當(dāng)?shù)哪J?br /> DML支持:用于逐行插入的UPSERT VALUES、用于相同或不同表之間大量數(shù)據(jù)傳輸UPSERT
SELECT、用于刪除行的DELETE
通過客戶端的批處理實現(xiàn)的有限的事務(wù)支持
單表——還沒有連接,同時二級索引也在開發(fā)當(dāng)中
緊跟ANSI SQL標(biāo)準(zhǔn)

二、Stinger

貢獻者:Hortonworks

簡介:原叫Tez,下一代Hive,Hortonworks主導(dǎo)開發(fā),運行在YARN上的DAG計算框架。

某些測試下,Stinger能提升10倍左右的性能,同時會讓Hive支持更多的SQL,其主要優(yōu)點包括:

讓用戶在hadoop獲得更多的查詢匹配。其中包括類似OVER的字句分析功能,支持WHERE查詢,讓Hive的樣式系統(tǒng)更符合SQL模型。
優(yōu)化了Hive請求執(zhí)行計劃,優(yōu)化后請求時間減少90%。改動了Hive執(zhí)行引擎,增加單Hive任務(wù)的被秒處理記錄數(shù)。
在Hive社區(qū)中引入了新的列式文件格式(如ORC文件),提供一種更現(xiàn)代、高效和高性能的方式來儲存Hive數(shù)據(jù)。
引入了新的運行時框架——Tez,旨在消除Hive的延時和吞吐量限制。Tez通過消除不必要的task、障礙同步和對HDFS的讀寫作業(yè)來優(yōu)化Hive job。這將優(yōu)化Hadoop內(nèi)部的執(zhí)行鏈,徹底加速Hive負(fù)載處理。

三、Presto

貢獻者:Facebook

簡介:Facebook開源的數(shù)據(jù)查詢引擎Presto ,可對250PB以上的數(shù)據(jù)進行快速地交互式分析。該項目始于 2012 年秋季開始開發(fā),目前該項目已經(jīng)在超過 1000 名 Facebook 雇員中使用,運行超過 30000 個查詢,每日數(shù)據(jù)在 1PB 級別。Facebook 稱 Presto 的性能比諸如 Hive 和 Map*Reduce 要好上 10 倍有多。

Presto 當(dāng)前支持 ANSI SQL 的大多數(shù)特效,包括聯(lián)合查詢、左右聯(lián)接、子查詢以及一些聚合和計算函數(shù);支持近似截然不同的計數(shù)(DISTINCT COUNT)等。

四、Shark

簡介:Shark即Hive on Spark,本質(zhì)上是通過Hive的HQL解析,把HQL翻譯成Spark上的RDD操作,然后通過Hive的metadata獲取數(shù)據(jù)庫里的表信息,實際HDFS上的數(shù)據(jù)和文件,會由Shark獲取并放到Spark上運算。Shark的特點就是快,完全兼容Hive,且可以在shell模式下使用rdd2sql()這樣的API,把HQL得到的結(jié)果集,繼續(xù)在scala環(huán)境下運算,支持自己編寫簡單的機器學(xué)習(xí)或簡單分析處理函數(shù),對HQL結(jié)果進一步分析計算。

Shark速度快的原因除了Spark平臺提供的基于內(nèi)存迭代計算外,在設(shè)計上還存在對Spark上進行了一定的改造。
partial DAG execution:對join優(yōu)化,調(diào)節(jié)并行粒度,因為Spark本身的寬依賴和窄依賴會影響并行計算和速度。

基于列的壓縮和存儲:把HQL表數(shù)據(jù)按列存,每列是一個array,存在JVM上,避免了JVM GC低效,而壓縮和解壓相關(guān)的技術(shù)是Yahoo!提供的。

結(jié)來說,Shark是一個插件式的東西,在我現(xiàn)有的Spark和Hive及hadoop-client之間,在這兩套都可用的情況下,Shark只要獲取Hive的配置(還有metastore和exec等關(guān)鍵包),Spark的路徑,Shark就能利用Hive和Spark,把HQL解析成RDD的轉(zhuǎn)換,把數(shù)據(jù)取到Spark上運算和分析。在SQL on Hadoop這塊,Shark有別于Impala,Stringer,而這些系統(tǒng)各有自己的設(shè)計思路,相對于對MR進行優(yōu)化和改進的思路,Shark的思路更加簡單明了些。

五、Pig

簡介:Pig是一種編程語言,它簡化了Hadoop常見的工作任務(wù)。Pig可加載數(shù)據(jù)、表達轉(zhuǎn)換數(shù)據(jù)以及存儲最終結(jié)果。Pig內(nèi)置的操作使得半結(jié)構(gòu)化數(shù)據(jù)變得有意義(如日志文件)。同時Pig可擴展使用Java中添加的自定義數(shù)據(jù)類型并支持?jǐn)?shù)據(jù)轉(zhuǎn)換。

Pig最大的作用就是對mapreduce算法(框架)實現(xiàn)了一套shell腳本 ,類似我們通常熟悉的SQL語句,在Pig中稱之為Pig Latin,在這套腳本中我們可以對加載出來的數(shù)據(jù)進行排序、過濾、求和、分組(group by)、關(guān)聯(lián)(Joining),Pig也可以由用戶自定義一些函數(shù)對數(shù)據(jù)集進行操作,也就是傳說中的UDF(user-defined functions)。

六、Cloudera Impala

貢獻者:Cloudera

簡介:Cloudera Impala 可以直接為存儲在HDFS或HBase中的Hadoop數(shù)據(jù)提供快速,交互式的SQL查詢。除了使用相同的存儲平臺外, Impala和Apache Hive一樣也使用了相同的元數(shù)據(jù),SQL語法(Hive SQL),ODBC驅(qū)動和用戶接口(Hue Beeswax),這就很方便的為用戶提供了一個相似并且統(tǒng)一的平臺來進行批量或?qū)崟r查詢。

Cloudera Impala 是用來進行大數(shù)據(jù)查詢的補充工具。 Impala 并沒有取代像Hive這樣基于MapReduce的分布式處理框架。Hive和其它基于MapReduce的計算框架非常適合長時間運行的批處理作業(yè),例如那些涉及到批量 Extract、Transform、Load ,即需要進行ETL作業(yè)。

Impala 提供了:

數(shù)據(jù)科學(xué)家或數(shù)據(jù)分析師已經(jīng)熟知的SQL接口
能夠在Apache Hadoop 的大數(shù)據(jù)中進行交互式數(shù)據(jù)查詢
用于大數(shù)據(jù)處理和分析的單系統(tǒng),有效避免昂貴的建模和ETL成本

七、Apache Drill

貢獻者:MapR

簡介:Apache Drill是是一個能夠?qū)Υ髷?shù)據(jù)進行交互分析、開源的分布式系統(tǒng),且基于Google Dremel實現(xiàn),它能夠運行在上千個節(jié)點的服務(wù)器集群上,且能在幾秒內(nèi)處理PB級或者萬億條的數(shù)據(jù)記錄。Drill能夠幫助企業(yè)用戶快速、高效地進行Hadoop數(shù)據(jù)查詢和企業(yè)級大數(shù)據(jù)分析。Drill于2012年8月份由Apache推出。

從Drill官方對其架構(gòu)的介紹中得知,其具有適于實時的分析和快速的應(yīng)用開發(fā)、適于半結(jié)構(gòu)化/嵌套數(shù)據(jù)的分析、兼容現(xiàn)有的SQL環(huán)境和Apache Hive等特征。另外,Drill的核心模塊是Drillbit服務(wù),該服務(wù)模塊包括遠(yuǎn)程訪問子模塊、SQL解析器、查詢優(yōu)化器、任務(wù)計劃執(zhí)行引擎、存儲插件接口(DFS、HBase、Hive等的接口)、分布式緩存模塊等幾部分。

八、Apache Tajo

簡介:Apache Tajo項目的目的是在HDFS之上構(gòu)建一個先進的數(shù)據(jù)倉庫系統(tǒng)。Tajo將自己標(biāo)榜為一個“大數(shù)據(jù)倉庫”,但是它好像和之前介紹的那些低延遲查詢引擎類似。雖然它支持外部表和Hive數(shù)據(jù)集(通過HCatalog),但是它的重點是數(shù)據(jù)管理,提供低延遲的數(shù)據(jù)訪問,以及為更傳統(tǒng)的ETL提供工具。它也需要在數(shù)據(jù)節(jié)點上部署Tajo特定的工作進程。

Tajo的功能包括:

ANSI SQL兼容
JDBC 驅(qū)動
集成Hive metastore能夠訪問Hive數(shù)據(jù)集
一個命令行客戶端
一個自定義函數(shù)API

九、Hive

簡介:hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供簡單的sql查詢功能,可以將sql語句轉(zhuǎn)換為MapReduce任務(wù)進行運行。 其優(yōu)點是學(xué)習(xí)成本低,可以通過類SQL語句快速實現(xiàn)簡單的MapReduce統(tǒng)計,不必開發(fā)專門的MapReduce應(yīng)用,十分適合數(shù)據(jù)倉庫的統(tǒng)計分析。

流式計算


一、Facebook Puma

貢獻者:Facebook

簡介:實時數(shù)據(jù)流分析

二、Twitter Rainbird

貢獻者:Twitter

簡介:Rainbird一款基于Zookeeper, Cassandra, Scribe, Thrift的分布式實時統(tǒng)計系統(tǒng),這些基礎(chǔ)組件的基本功能如下:

Zookeeper,Hadoop子項目中的一款分布式協(xié)調(diào)系統(tǒng),用于控制分布式系統(tǒng)中各個組件中的一致性。
Cassandra,NoSQL中一款非常出色的產(chǎn)品,集合了Dynamo和Bigtable特性的分布式存儲系統(tǒng),用于存儲需要進行統(tǒng)計的數(shù)據(jù),統(tǒng)計數(shù)據(jù),并且提供客戶端進行統(tǒng)計數(shù)據(jù)的查詢。(需要使用分布式Counter補丁CASSANDRA-1072)
Scribe,F(xiàn)acebook開源的一款分布式日志收集系統(tǒng),用于在系統(tǒng)中將各個需要統(tǒng)計的數(shù)據(jù)源收集到Cassandra中。
Thrift,F(xiàn)acebook開源的一款跨語言C/S網(wǎng)絡(luò)通信框架,開發(fā)人員基于這個框架可以輕易地開發(fā)C/S應(yīng)用。

Rainbird可以用于實時數(shù)據(jù)的統(tǒng)計:

統(tǒng)計網(wǎng)站中每一個頁面,域名的點擊次數(shù)
內(nèi)部系統(tǒng)的運行監(jiān)控(統(tǒng)計被監(jiān)控服務(wù)器的運行狀態(tài))
記錄最大值和最小值

三、Yahoo S4

貢獻者:Yahoo

簡介:S4(Simple Scalable Streaming System)最初是Yahoo!為提高搜索廣告有效點擊率的問題而開發(fā)的一個平臺,通過統(tǒng)計分析用戶對廣告的點擊率,排除相關(guān)度低的廣告,提升點擊率。目前該項目剛啟動不久,所以也可以理解為是他們提出的一個分布式流計算(Distributed Stream Computing)的模型。

S4的設(shè)計目標(biāo)是:

提供一種簡單的編程接口來處理數(shù)據(jù)流。
設(shè)計一個可以在普通硬件之上可擴展的高可用集群。
通過在每個處理節(jié)點使用本地內(nèi)存,避免磁盤I/O瓶頸達到最小化延遲。
使用一個去中心的,對等架構(gòu);所有節(jié)點提供相同的功能和職責(zé)。沒有擔(dān)負(fù)特殊責(zé)任的中心節(jié)點。這大大簡化了部署和維護。
使用可插拔的架構(gòu),使設(shè)計盡可能的即通用又可定制化。
友好的設(shè)計理念,易于編程,具有靈活的彈性。

四、Twitter Storm

貢獻者:Twitter

簡介:Storm是Twitter開源的一個類似于Hadoop的實時數(shù)據(jù)處理框架,它原來是由BackType開發(fā),后BackType被Twitter收購,將Storm作為Twitter的實時數(shù)據(jù)分析系統(tǒng)。

實時數(shù)據(jù)處理的應(yīng)用場景很廣泛,例如商品推薦,廣告投放,它能根據(jù)當(dāng)前情景上下文(用戶偏好,地理位置,已發(fā)生的查詢和點擊等)來估計用戶點擊的可能性并實時做出調(diào)整。

storm的三大作用領(lǐng)域:

信息流處理(Stream Processing)Storm可以用來實時處理新數(shù)據(jù)和更新數(shù)據(jù)庫,兼具容錯性和可擴展性,它 可以用來處理源源不斷的消息,并將處理之后的結(jié)果保存到持久化介質(zhì)中。
連續(xù)計算(Continuous Computation)Storm可以進行連續(xù)查詢并把結(jié)果即時反饋給客戶,比如將Twitter上的熱門話題發(fā)送到客戶端。
分布式遠(yuǎn)程過程調(diào)用(Distributed RPC)。

除此之外,Storm也被廣泛用于以下方面:

精確的廣告推送
實時日志的處理

迭代計算


一、Apache Hama

簡介:Apache Hama是一個純BSP(Bulk Synchronous Parallel)計算框架,模仿了Google的Pregel。用來處理大規(guī)模的科學(xué)計算,特別是矩陣和圖計算。

建立在Hadoop上的分布式并行計算模型。
基于 Map/Reduce 和 Bulk Synchronous 的實現(xiàn)框架。
運行環(huán)境需要關(guān)聯(lián) Zookeeper、HBase、HDFS 組件。

Hama中有2個主要的模型:

矩陣計算(Matrix package)
面向圖計算(Graph package)

二、Apache Giraph

代碼托管地址:GitHub

簡介:Apache Giraph是一個可伸縮的分布式迭代圖處理系統(tǒng),靈感來自BSP(bulk synchronous parallel)和Google的Pregel,與它們 區(qū)別于則是是開源、基于 Hadoop 的架構(gòu)等。

Giraph處理平臺適用于運行大規(guī)模的邏輯計算,比如頁面排行、共享鏈接、基于個性化排行等。Giraph專注于社交圖計算,被Facebook作為其Open Graph工具的核心,幾分鐘內(nèi)處理數(shù)萬億次用戶及其行為之間的連接。

三、HaLoop

簡介:迭代的MapReduce,HaLoop——適用于迭代計算的Hadoop 。

Hadoop與HaLoop的不同,與Hadoop比較的四點改變:

提供了一套新的編程接口,更加適用于迭代計算;
HaLoop的master進行job內(nèi)的循環(huán)控制,直到迭代計算結(jié)束;
Task Scheduler也進行了修改,使得任務(wù)能夠盡量滿足data locality;
slave nodes對數(shù)據(jù)進行cache并index索引,索引也以文件的形式保存在本地磁盤。

四、Twister

簡介:Twister, 迭代式MapReduce框架,Twister是由一個印度人開發(fā)的。

在Twister中,大文件不會自動被切割成一個一個block,因而用戶需提前把文件分成一個一個小文件,以供每個task處理。在map階段,經(jīng)過map()處理完的結(jié)果被放在分布式內(nèi)存中,然后通過一個broker network(NaradaBroking系統(tǒng))將數(shù)據(jù)push給各個reduce task(Twister假設(shè)內(nèi)存足夠大,中間數(shù)據(jù)可以全部放在內(nèi)存中);在reduce階段,所有reduce task產(chǎn)生的結(jié)果通過一個combine操作進行歸并,此時,用戶可以進行條件判定, 確定迭代是否結(jié)束。combine后的數(shù)據(jù)直接被送給map task,開始新一輪的迭代。為了提高容錯性,Twister每隔一段時間會將map task和reduce task產(chǎn)生的結(jié)果寫到磁盤上,這樣,一旦某個task失敗,它可以從最近的備份中獲取輸入,重新計算。

為了避免每次迭代重新創(chuàng)建task,Twister維護了一個task pool,每次需要task時直接從pool中取。在Twister中,所有消息和數(shù)據(jù)都是通過broker network傳遞的,該broker network是一個獨立的模塊,目前支持NaradaBroking和ActiveMQ。

離線計算


一、Hadoop MapReduce

簡介:MapReduce是一種編程模型,用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運算。概念”Map(映射)”和”Reduce(歸約)”,和它們的主要思想,都是從函數(shù)式編程語言里借來的,還有從矢量編程語言里借來的特性。它極大地方便了編程人員在不會分布式并行編程的情況下,將自己的程序運行在分布式系統(tǒng)上。 當(dāng)前的軟件實現(xiàn)是指定一個Map(映射)函數(shù),用來把一組鍵值對映射成一組新的鍵值對,指定并發(fā)的Reduce(歸約)函數(shù),用來保證所有映射的鍵值對中的每一個共享相同的鍵組。

二、Berkeley Spark

簡介:Spark是UC Berkeley AMP lab所開源的類Hadoop MapReduce的通用的并行,Spark,擁有Hadoop MapReduce所具有的優(yōu)點;但不同于MapReduce的是Job中間輸出結(jié)果可以保存在內(nèi)存中,從而不再需要讀寫HDFS,因此Spark能更好地適用于數(shù)據(jù)挖掘與機器學(xué)習(xí)等需要迭代的map reduce的算法。

三、DataTorrent

簡介:DataTorrent基于Hadoop 2.x構(gòu)建,是一個實時的、有容錯能力的數(shù)據(jù)流式處理和分析平臺,它使用本地Hadoop應(yīng)用程序,而這些應(yīng)用程序可以與執(zhí)行其它任務(wù),如批處理,的應(yīng)用程序共存。

鍵值存儲


一、LevelDB

貢獻者:Google

簡介:Leveldb是一個google實現(xiàn)的非常高效的kv數(shù)據(jù)庫,目前的版本1.2能夠支持billion級別的數(shù)據(jù)量了。 在這個數(shù)量級別下還有著非常高的性能,主要歸功于它的良好的設(shè)計。特別是LMS算法。

LevelDB 是單進程的服務(wù),性能非常之高,在一臺4核Q6600的CPU機器上,每秒鐘寫數(shù)據(jù)超過40w,而隨機讀的性能每秒鐘超過10w。

此處隨機讀是完全命中內(nèi)存的速度,如果是不命中 速度大大下降。

二、RocksDB

貢獻者:facebook

簡介:RocksDB雖然在代碼層面上是在LevelDB原有的代碼上進行開發(fā)的,但卻借鑒了Apache HBase的一些好的idea。在云計算橫行的年代,開口不離Hadoop,RocksDB也開始支持HDFS,允許從HDFS讀取數(shù)據(jù)。RocksDB支持一次獲取多個K-V,還支持Key范圍查找。LevelDB只能獲取單個Key。

RocksDB除了簡單的Put、Delete操作,還提供了一個Merge操作,說是為了對多個Put操作進行合并。

RocksDB提供一些方便的工具,這些工具包含解析sst文件中的K-V記錄、解析MANIFEST文件的內(nèi)容等。RocksDB支持多線程合并,而LevelDB是單線程合并的。

三、HyperDex

貢獻者:Facebook

HyperDex是一個分布式、可搜索的鍵值存儲系統(tǒng),特性如下:

分布式KV存儲,系統(tǒng)性能能夠隨節(jié)點數(shù)目線性擴展
吞吐和延時都能秒殺現(xiàn)在風(fēng)頭正勁的MonogDB,吞吐甚至強于Redis
使用了hyperspace hashing技術(shù),使得對存儲的K-V的任意屬性進行查詢成為可能

官網(wǎng): http://hyperdex.org/

四、TokyoCabinet

日本人Mikio Hirabayashi(平林干雄)開發(fā)的一款DBM數(shù)據(jù)庫。Tokyo Cabinet 是一個DBM的實現(xiàn)。這里的數(shù)據(jù)庫由一系列key-value對的記錄構(gòu)成。key和value都可以是任意長度的字節(jié)序列,既可以是二進制也可以是字符串。這里沒有數(shù)據(jù)類型和數(shù)據(jù)表的概念。

當(dāng)做為Hash表數(shù)據(jù)庫使用時,每個key必須是不同的,因此無法存儲兩個key相同的值。提供了以下訪問方法:提供key,value參數(shù)來存儲,按 key刪除記錄,按key來讀取記錄,另外,遍歷key也被支持,雖然順序是任意的不能被保證。這些方法跟Unix標(biāo)準(zhǔn)的DBM,例如GDBM,NDBM 等等是相同的,但是比它們的性能要好得多(因此可以替代它們) 。下一代KV存儲系統(tǒng),支持strings、integers、floats、lists、maps和sets等豐富的數(shù)據(jù)類型。

五、Voldemort

Voldemort是一個分布式鍵值存儲系統(tǒng),是Amazon’s Dynamo的一個開源克隆。特性如下:

支持自動復(fù)制數(shù)據(jù)到多個服務(wù)器上。
支持?jǐn)?shù)據(jù)自動分割所以每個服務(wù)器只包含總數(shù)據(jù)的一個子集。
提供服務(wù)器故障透明處理功能。
支持可撥插的序化支持,以實現(xiàn)復(fù)雜的鍵-值存儲,它能夠很好的5.集成常用的序化框架如:Protocol Buffers、Thrift、Avro和Java Serialization。
數(shù)據(jù)項都被標(biāo)識版本能夠在發(fā)生故障時盡量保持?jǐn)?shù)據(jù)的完整性而不會影響系統(tǒng)的可用性。
每個節(jié)點相互獨立,互不影響。
支持可插拔的數(shù)據(jù)放置策略

官網(wǎng): http://project-voldemort.com/

六、Amazon Dynamo

貢獻者:亞馬遜

簡介:Amazon Dynamo 是一個經(jīng)典的分布式Key-Value 存儲系統(tǒng),具備去中心化,高可用性,高擴展性的特點,但是為了達到這個目標(biāo)在很多場景中犧牲了一致性。Dynamo在Amazon中得到了成功的應(yīng)用,能夠跨數(shù)據(jù)中心部署于上萬個結(jié)點上提供服務(wù),它的設(shè)計思想也被后續(xù)的許多分布式系統(tǒng)借鑒。如近來火熱的Cassandra,實際上就是基本照搬了Dynamo的P2P架構(gòu),同時融合了BigTable的數(shù)據(jù)模型及存儲算法。

七、Tair

貢獻者:淘寶

簡介:tair 是淘寶自己開發(fā)的一個分布式 key/value 存儲引擎. tair 分為持久化和非持久化兩種使用方式. 非持久化的 tair 可以看成是一個分布式緩存. 持久化的 tair 將數(shù)據(jù)存放于磁盤中. 為了解決磁盤損壞導(dǎo)致數(shù)據(jù)丟失, tair 可以配置數(shù)據(jù)的備份數(shù)目, tair 自動將一份數(shù)據(jù)的不同備份放到不同的主機上, 當(dāng)有主機發(fā)生異常, 無法正常提供服務(wù)的時候, 其于的備份會繼續(xù)提供服務(wù).tair 的總體結(jié)構(gòu)。

tair 作為一個分布式系統(tǒng), 是由一個中心控制節(jié)點和一系列的服務(wù)節(jié)點組成. 我們稱中心控制節(jié)點為config server. 服務(wù)節(jié)點是data server. config server 負(fù)責(zé)管理所有的data server, 維護data server的狀態(tài)信息. data server 對外提供各種數(shù)據(jù)服務(wù), 并以心跳的形式將自身狀況匯報給config server. config server是控制點, 而且是單點, 目前采用一主一備的形式來保證其可靠性. 所有的 data server 地位都是等價的.

八、Apache Accumulo

Apache Accumulo 是一個可靠的、可伸縮的、高性能的排序分布式的 Key-Value 存儲解決方案,基于單元訪問控制以及可定制的服務(wù)器端處理。Accumulo使用 Google BigTable 設(shè)計思路,基于 Apache Hadoop、Zookeeper 和 Thrift 構(gòu)建。

官網(wǎng): http://accumulo.apache.org/

九、Redis

Redis是一個高性能的key-value存儲系統(tǒng),和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)和zset(有序集合)。與memcached一樣,為了保證效率,數(shù)據(jù)都是緩存在內(nèi)存中,區(qū)別的是Redis會周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎(chǔ)上實現(xiàn)了主從同步。

Redis的出現(xiàn),很大程度補償了memcached這類key/value存儲的不足,在部分場合可以對關(guān)系數(shù)據(jù)庫起到很好的補充作用。它提供了Python、Ruby、Erlang、PHP客戶端,使用很方便。

官網(wǎng): http://redis.io/

表格存儲


一、OceanBase

貢獻者:阿里巴巴

相關(guān)文章: 26頁PPT解密支撐支付寶交易的分布式數(shù)據(jù)庫系統(tǒng)——OceanBase

簡介:OceanBase是一個支持海量數(shù)據(jù)的高性能分布式數(shù)據(jù)庫系統(tǒng),實現(xiàn)了數(shù)千億條記錄、數(shù)百TB數(shù)據(jù)上的跨行跨表事務(wù),由淘寶核心系統(tǒng)研發(fā)部、運維、DBA、廣告、應(yīng)用研發(fā)等部門共同完成。在設(shè)計和實現(xiàn)OceanBase的時候暫時摒棄了不緊急的DBMS的功能,例如臨時表,視圖(view),研發(fā)團隊把有限的資源集中到關(guān)鍵點上,當(dāng)前 OceanBase主要解決數(shù)據(jù)更新一致性、高性能的跨表讀事務(wù)、范圍查詢、join、數(shù)據(jù)全量及增量dump、批量數(shù)據(jù)導(dǎo)入。

目前OceanBase已經(jīng)應(yīng)用于淘寶收藏夾,用于存儲淘寶用戶收藏條目和具體的商品、店鋪信息,每天支持4~5千萬的更新操作。等待上線的應(yīng)用還包括CTU、SNS等,每天更新超過20億,更新數(shù)據(jù)量超過2.5TB,并會逐步在淘寶內(nèi)部推廣。

OceanBase 0.3.1在Github開源,開源版本為Revision:12336。

官網(wǎng): http://alibaba.github.io/oceanbase/

二、Amazon SimpleDB

貢獻者:亞馬遜

Amazon SimpleDB是一個分散式數(shù)據(jù)庫,以Erlang撰寫。同與Amazon EC2和亞馬遜的S3一樣作為一項Web 服務(wù),屬于亞馬遜網(wǎng)絡(luò)服務(wù)的一部分。

正如EC2和S3,SimpleDB的按照存儲量,在互聯(lián)網(wǎng)上的傳輸量和吞吐量收取費用。 在2008年12月1日,亞馬遜推出了新的定價策略,提供了免費1 GB的數(shù)據(jù)和25機器小時的自由層(Free Tire)。 將其中的數(shù)據(jù)轉(zhuǎn)移到其他亞馬遜網(wǎng)絡(luò)服務(wù)是免費的。

它是一個可大規(guī)模伸縮、用 Erlang 編寫的高可用數(shù)據(jù)存儲。

官網(wǎng): http://aws.amazon.com/cn/simpledb/

三、Vertica

貢獻者:惠普

簡介:惠普2011年2月份起始3月21號完成收購Vertica。Vertica基于列存儲。基于列存儲的設(shè)計相比傳統(tǒng)面向行存儲的數(shù)據(jù)庫具有巨大的優(yōu)勢。同時Vertica支持MPP(massively parallel processing)等技術(shù),查詢數(shù)據(jù)時Vertica只需取得需要的列,而不是被選擇行的所有數(shù)據(jù),其平均性能可提高50x-1000x倍。(查詢性能高速度快)

Vertica的設(shè)計者多次表示他們的產(chǎn)品圍繞著高性能和高可用性設(shè)計。由于對MPP技術(shù)的支持,可提供對粒度,可伸縮性和可用性的優(yōu)勢。每個節(jié)點完全獨立運作,完全無共享架構(gòu),降低對共享資源的系統(tǒng)競爭。

Vertica的數(shù)據(jù)庫使用標(biāo)準(zhǔn)的SQL查詢,同時Vertica的架構(gòu)非常適合云計算,包括虛擬化,分布式多節(jié)點運行等,并且可以和Hadoop/MapReduce進行集成。

Vertica官網(wǎng): http://www.vertica.com/

四、Cassandra

貢獻者:facebook

簡介:Cassandra是一套開源分布式NoSQL數(shù)據(jù)庫系統(tǒng)。它最初由Facebook開發(fā),用于儲存收件箱等簡單格式數(shù)據(jù),集GoogleBigTable的數(shù)據(jù)模型與Amazon Dynamo的完全分布式的架構(gòu)于一身Facebook于2008將 Cassandra 開源,此后,由于Cassandra良好的可擴放性,被Digg、Twitter等知名Web 2.0網(wǎng)站所采納,成為了一種流行的分布式結(jié)構(gòu)化數(shù)據(jù)存儲方案。

Cassandra是一個混合型的非關(guān)系的數(shù)據(jù)庫,類似于Google的BigTable。其主要功能比Dynamo (分布式的Key-Value存儲系統(tǒng))更豐富,但支持度卻不如文檔存儲MongoDB(介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的開源產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bjson格式,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型)。Cassandra最初由Facebook開發(fā),后轉(zhuǎn)變成了開源項目。它是一個網(wǎng)絡(luò)社交云計算方面理想的數(shù)據(jù)庫。以Amazon專有的完全分布式的Dynamo為基礎(chǔ),結(jié)合了Google BigTable基于列族(Column Family)的數(shù)據(jù)模型。P2P去中心化的存儲。很多方面都可以稱之為Dynamo 2.0。

Cassandra官網(wǎng):http://cassandra.apache.org/

五、HyperTable

簡介:Hypertable是一個開源、高性能、可伸縮的數(shù)據(jù)庫,它采用與Google的Bigtable相似的模型。在過去數(shù)年中,Google為在PC集群 上運行的可伸縮計算基礎(chǔ)設(shè)施設(shè)計建造了三個關(guān)鍵部分。

第一個關(guān)鍵的基礎(chǔ)設(shè)施是Google File System(GFS),這是一個高可用的文件系統(tǒng),提供了一個全局的命名空間。它通過跨機器(和跨機架)的文件數(shù)據(jù)復(fù)制來達到高可用性,并因此免受傳統(tǒng) 文件存儲系統(tǒng)無法避免的許多失敗的影響,比如電源、內(nèi)存和網(wǎng)絡(luò)端口等失敗。第二個基礎(chǔ)設(shè)施是名為Map-Reduce的計算框架,它與GFS緊密協(xié)作,幫 助處理收集到的海量數(shù)據(jù)。第三個基礎(chǔ)設(shè)施是Bigtable,它是傳統(tǒng)數(shù)據(jù)庫的替代。Bigtable讓你可以通過一些主鍵來組織海量數(shù)據(jù),并實現(xiàn)高效的 查詢。Hypertable是Bigtable的一個開源實現(xiàn),并且根據(jù)我們的想法進行了一些改進。

HyperTable官網(wǎng): http://hypertable.org/

六、FoundationDB

簡介:支持ACID事務(wù)處理的NoSQL數(shù)據(jù)庫,提供非常好的性能、數(shù)據(jù)一致性和操作彈性。

2015年1月2日,F(xiàn)oundationDB已經(jīng)發(fā)布了其key-value數(shù)據(jù)庫的3.0版本,主要專注于可伸縮性和性能上的改善。FoundationDB的CEO David Rosenthal在一篇博客上宣布了新的版本,其中展示了FoundationDB 3.0在可伸縮性方面的數(shù)據(jù),它可以在一個32位的c3.8xlarge EC2實例上每秒寫入1440萬次;這在性能上是之前版本的36倍。

除了性能和可伸縮性的改善之外,F(xiàn)oundationDB 3.0還包含了對監(jiān)控支持的改善。這種監(jiān)控機制不僅僅是簡單的機器檢查,它添加了對多種潛在的硬件瓶頸的診斷,并且把那些高層級的信息整合到現(xiàn)有監(jiān)控基礎(chǔ)架構(gòu)中。

官網(wǎng): https://foundationdb.com/

七、HBase

貢獻者:Fay Chang 所撰寫的Bigtable

簡介:HBase是一個分布式的、面向列的開源數(shù)據(jù)庫,該技術(shù)來源于 Fay Chang 所撰寫的Google論文“Bigtable:一個結(jié)構(gòu)化數(shù)據(jù)的分布式存儲系統(tǒng)”。就像Bigtable利用了Google文件系統(tǒng)(File System)所提供的分布式數(shù)據(jù)存儲一樣,HBase在Hadoop之上提供了類似于Bigtable的能力。HBase是Apache的Hadoop項目的子項目。HBase不同于一般的關(guān)系數(shù)據(jù)庫,它是一個適合于非結(jié)構(gòu)化數(shù)據(jù)存儲的數(shù)據(jù)庫。另一個不同的是HBase基于列的而不是基于行的模式。

官網(wǎng): http://hbase.apache.org/

文件存儲


一、CouchDB

簡介:CouchDB是用Erlang開發(fā)的面向文檔的數(shù)據(jù)庫系統(tǒng),最近剛剛發(fā)布了1.0版本(2010年7月14日)。CouchDB不是一個傳統(tǒng)的關(guān)系數(shù)據(jù)庫,而是面向文檔的數(shù)據(jù)庫,其數(shù)據(jù)存儲方式有點類似lucene的index文件格式,CouchDB最大的意義在于它是一個面向web應(yīng)用的新一代存儲系統(tǒng),事實上,CouchDB的口號就是:下一代的Web應(yīng)用存儲系統(tǒng)。

特點:

CouchDB是分布式的數(shù)據(jù)庫,他可以把存儲系統(tǒng)分布到n臺物理的節(jié)點上面,并且很好的協(xié)調(diào)和同步節(jié)點之間的數(shù)據(jù)讀寫一致性。這當(dāng)然也得靠Erlang無與倫比的并發(fā)特性才能做到。對于基于web的大規(guī)模應(yīng)用文檔應(yīng)用,分布式可以讓它不必像傳統(tǒng)的關(guān)系數(shù)據(jù)庫那樣分庫拆表,在應(yīng)用代碼層進行大量的改動。
CouchDB是面向文檔的數(shù)據(jù)庫,存儲半結(jié)構(gòu)化的數(shù)據(jù),比較類似lucene的index結(jié)構(gòu),特別適合存儲文檔,因此很適合CMS,電話本,地址本等應(yīng)用,在這些應(yīng)用場合,文檔數(shù)據(jù)庫要比關(guān)系數(shù)據(jù)庫更加方便,性能更好。
CouchDB支持REST API,可以讓用戶使用JavaScript來操作CouchDB數(shù)據(jù)庫,也可以用JavaScript編寫查詢語句,我們可以想像一下,用AJAX技術(shù)結(jié)合CouchDB開發(fā)出來的CMS系統(tǒng)會是多么的簡單和方便。

其實CouchDB只是Erlang應(yīng)用的冰山一角,在最近幾年,基于Erlang的應(yīng)用也得到的蓬勃的發(fā)展,特別是在基于web的大規(guī)模,分布式應(yīng)用領(lǐng)域,幾乎都是Erlang的優(yōu)勢項目。

官網(wǎng): http://couchdb.apache.org/

二、MongoDB

簡介:MongoDB 是一個基于分布式文件存儲的數(shù)據(jù)庫。由C++語言編寫。旨在為WEB應(yīng)用提供可擴展的高性能數(shù)據(jù)存儲解決方案。

MongoDB是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。他支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bson格式,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型。Mongo最大的特點是他支持的查詢語言非常強大,其語法有點類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。

它的特點是高性能、易部署、易使用,存儲數(shù)據(jù)非常方便。主要功能特性有:

面向集合存儲,易存儲對象類型的數(shù)據(jù)
模式自由
支持動態(tài)查詢
支持完全索引,包含內(nèi)部對象
支持查詢
支持復(fù)制和故障恢復(fù)
使用高效的二進制數(shù)據(jù)存儲,包括大型對象(如視頻等)
自動處理碎片,以支持云計算層次的擴展性
支持RUBY,PYTHON,JAVA,C++,PHP,C#等多種語言
文件存儲格式為BSON(一種JSON的擴展)
可通過網(wǎng)絡(luò)訪問

官網(wǎng): https://www.mongodb.org/

三、Tachyon

貢獻者:Haoyuan Li(李浩源)

簡介:Tachyon是一個分布式內(nèi)存文件系統(tǒng),可以在集群里以訪問內(nèi)存的速度來訪問存在tachyon里的文件。把Tachyon是架構(gòu)在最底層的分布式文件存儲和上層的各種計算框架之間的一種中間件。主要職責(zé)是將那些不需要落地到DFS里的文件,落地到分布式內(nèi)存文件系統(tǒng)中,來達到共享內(nèi)存,從而提高效率。同時可以減少內(nèi)存冗余,GC時間等。

Tachyon的架構(gòu)是傳統(tǒng)的Master—slave架構(gòu),這里和Hadoop類似,TachyonMaster里WorkflowManager是 Master進程,因為是為了防止單點問題,通過Zookeeper做了HA,可以部署多臺Standby Master。Slave是由Worker Daemon和Ramdisk構(gòu)成。這里個人理解只有Worker Daemon是基于JVM的,Ramdisk是一個off heap memory。Master和Worker直接的通訊協(xié)議是Thrift。

下載地址: https://github.com/amplab/tachyon

四、KFS

簡介:GFS的C++開源版本,Kosmos distributed file system (KFS)是一個專門為數(shù)據(jù)密集型應(yīng)用(搜索引擎,數(shù)據(jù)挖掘等)而設(shè)計的存儲系統(tǒng),類似于Google的GFS和Hadoop的HDFS分布式文件系統(tǒng)。 KFS使用C++實現(xiàn),支持的客戶端包括C++,Java和Python。KFS系統(tǒng)由三部分組成,分別是metaserver、chunkserver和client library。

官網(wǎng): http://code.google.com/p/kosmosfs/

五、HDFS

簡介:Hadoop分布式文件系統(tǒng)(HDFS)被設(shè)計成適合運行在通用硬件(commodity hardware)上的分布式文件系統(tǒng)。它和現(xiàn)有的分布式文件系統(tǒng)有很多共同點。但同時,它和其他的分布式文件系統(tǒng)的區(qū)別也是很明顯的。HDFS是一個高度容錯性的系統(tǒng),適合部署在廉價的機器上。HDFS能提供高吞吐量的數(shù)據(jù)訪問,非常適合大規(guī)模數(shù)據(jù)集上的應(yīng)用。HDFS放寬了一部分POSIX約束,來實現(xiàn)流式讀取文件系統(tǒng)數(shù)據(jù)的目的。HDFS在最開始是作為Apache Nutch搜索引擎項目的基礎(chǔ)架構(gòu)而開發(fā)的。HDFS是Apache Hadoop Core項目的一部分。

官網(wǎng): http://hadoop.apache.org/

資源管理


一、Twitter Mesos

開發(fā)者:Twitter研發(fā)人員John Oskasson

簡介:Apache Mesos是由加州大學(xué)伯克利分校的AMPLab首先開發(fā)的一款開源群集管理軟件,支持Hadoop、ElasticSearch、Spark、Storm 和Kafka等架構(gòu),由于其開源性質(zhì)越來越受到一些大型云計算公司的青睞,例如Twitter、Facebook等。

官網(wǎng): http://mesos.apache.org/

二、Hadoop Yarn

Hadoop 新 MapReduce 框架 Yarn。為從根本上解決舊 MapReduce 框架的性能瓶頸,促進 Hadoop 框架的更長遠(yuǎn)發(fā)展,從 0.23.0 版本開始,Hadoop 的 MapReduce 框架完全重構(gòu),發(fā)生了根本的變化。新的 Hadoop MapReduce 框架命名為 MapReduceV2 或者叫 Yarn。

Yarn 框架相對于老的 MapReduce 框架什么優(yōu)勢呢?我們可以看到:

這個設(shè)計大大減小了 JobTracker(也就是現(xiàn)在的 ResourceManager)的資源消耗,并且讓監(jiān)測每一個 Job 子任務(wù) (tasks) 狀態(tài)的程序分布式化了,更安全、更優(yōu)美。
在新的 Yarn 中,ApplicationMaster 是一個可變更的部分,用戶可以對不同的編程模型寫自己的 AppMst,讓更多類型的編程模型能夠跑在 Hadoop 集群中,可以參考 hadoop Yarn 官方配置模板中的 mapred-site.xml 配置。
對于資源的表示以內(nèi)存為單位 ( 在目前版本的 Yarn 中,沒有考慮 cpu 的占用 ),比之前以剩余 slot 數(shù)目更合理。
老的框架中,JobTracker 一個很大的負(fù)擔(dān)就是監(jiān)控 job 下的 tasks 的運行狀況,現(xiàn)在,這個部分就扔給 ApplicationMaster 做了,而 ResourceManager 中有一個模塊叫做 ApplicationsMasters( 注意不是 ApplicationMaster),它是監(jiān)測 ApplicationMaster 的行狀況,如果出問題,會將其在其他機器上重啟。
Container 是 Yarn 為了將來作資源隔離而提出的一個框架。這一點應(yīng)該借鑒了 Mesos 的工作,目前是一個框架,僅僅提供 java 虛擬機內(nèi)存的隔離 ,hadoop 團隊的設(shè)計思路應(yīng)該后續(xù)能支持更多的資源調(diào)度和控制 , 既然資源表示成內(nèi)存量,那就沒有了之前的 map slot/reduce slot 分開造成集群資源閑置的尷尬情況。

官網(wǎng): http://hadoop.apache.org/

接上一部分:這部分主要收集整理的內(nèi)容主要有日志收集系統(tǒng)、消息系統(tǒng)、分布式服務(wù)、集群管理、RPC、基礎(chǔ)設(shè)施、搜索引擎、Iaas和監(jiān)控管理等大數(shù)據(jù)開源工具。

日志收集系統(tǒng)

一、Facebook Scribe

貢獻者:Facebook

簡介:Scribe是Facebook開源的日志收集系統(tǒng),在Facebook內(nèi)部已經(jīng)得到大量的應(yīng)用。它能夠從各種日志源上收集日志,存儲到一個中央存儲系統(tǒng)(可以是NFS,分布式文件系統(tǒng)等)上,以便于進行集中統(tǒng)計分析處理。它為日志的“分布式收集,統(tǒng)一處理”提供了一個可擴展的,高容錯的方案。當(dāng)中央存儲系統(tǒng)的網(wǎng)絡(luò)或者機器出現(xiàn)故障時,scribe會將日志轉(zhuǎn)存到本地或者另一個位置,當(dāng)中央存儲系統(tǒng)恢復(fù)后,scribe會將轉(zhuǎn)存的日志重新傳輸給中央存儲系統(tǒng)。其通常與Hadoop結(jié)合使用,scribe用于向HDFS中push日志,而Hadoop通過MapReduce作業(yè)進行定期處理。

代碼托管: https://github.com/facebook/scribe

二、Cloudera Flume

貢獻者:Cloudera

簡介:Flume是Cloudera提供的一個高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng),F(xiàn)lume支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時,F(xiàn)lume提供對數(shù)據(jù)進行簡單處理,并寫到各種數(shù)據(jù)接受方(可定制)的能力。

Flume提供了從console(控制臺)、RPC(Thrift-RPC)、text(文件)、tail(UNIX tail)、syslog(syslog日志系統(tǒng),支持TCP和UDP等2種模式),exec(命令執(zhí)行)等數(shù)據(jù)源上收集數(shù)據(jù)的能力。

當(dāng)前Flume有兩個版本Flume 0.9X版本的統(tǒng)稱Flume-og,F(xiàn)lume1.X版本的統(tǒng)稱Flume-ng。由于Flume-ng經(jīng)過重大重構(gòu),與Flume-og有很大不同,使用時請注意區(qū)分。

官網(wǎng): http://flume.apache.org/

三、logstash

簡介:logstash 是一個應(yīng)用程序日志、事件的傳輸、處理、管理和搜索的平臺。你可以用它來統(tǒng)一對應(yīng)用程序日志進行收集管理,提供 Web 接口用于查詢和統(tǒng)計。他可以對你的日志進行收集、分析,并將其存儲供以后使用(如,搜索),您可以使用它。說到搜索,logstash帶有一個web界面,搜索和展示所有日志。

官網(wǎng): http://www.logstash.net/

四、kibana

簡介:Kibana 是一個為 Logstash 和 ElasticSearch 提供的日志分析的 Web 接口。可使用它對日志進行高效的搜索、可視化、分析等各種操作。kibana 也是一個開源和免費的工具,他可以幫助您匯總、分析和搜索重要數(shù)據(jù)日志并提供友好的web界面。他可以為 Logstash 和 ElasticSearch 提供的日志分析的 Web 界面。

主頁: http://kibana.org/

代碼托管: https://github.com/rashidkpc/Kibana/downloads

消息系統(tǒng)


一、StormMQ

簡介:MQMessageQueue消息隊列產(chǎn)品 StormMQ,是一種服務(wù)程序。

官網(wǎng): http://stormmq.com/

二、ZeroMQ

簡介:這是個類似于Socket的一系列接口,他跟Socket的區(qū)別是:普通的socket是端到端的(1:1的關(guān)系),而ZMQ卻是可以N:M 的關(guān)系,人們對BSD套接字的了解較多的是點對點的連接,點對點連接需要顯式地建立連接、銷毀連接、選擇協(xié)議(TCP/UDP)和處理錯誤等,而ZMQ屏蔽了這些細(xì)節(jié),讓你的網(wǎng)絡(luò)編程更為簡單。ZMQ用于node與node間的通信,node可以是主機或者是進程。

引用官方的說法: “ZMQ(以下ZeroMQ簡稱ZMQ)是一個簡單好用的傳輸層,像框架一樣的一個socket library,他使得Socket編程更加簡單、簡潔和性能更高。是一個消息處理隊列庫,可在多個線程、內(nèi)核和主機盒之間彈性伸縮。ZMQ的明確目標(biāo)是“成為標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議棧的一部分,之后進入Linux內(nèi)核”。現(xiàn)在還未看到它們的成功。但是,它無疑是極具前景的、并且是人們更加需要的“傳統(tǒng)”BSD套接字之上的一 層封裝。ZMQ讓編寫高性能網(wǎng)絡(luò)應(yīng)用程序極為簡單和有趣。”

官網(wǎng): http://zeromq.org/

三、RabbitMQ

簡介:RabbitMQ是一個受歡迎的消息代理,通常用于應(yīng)用程序之間或者程序的不同組件之間通過消息來進行集成。本文簡單介紹了如何使用 RabbitMQ,假定你已經(jīng)配置好了rabbitmq服務(wù)器。

RabbitMQ是用Erlang,對于主要的編程語言都有驅(qū)動或者客戶端。我們這里要用的是Java,所以先要獲得Java客戶端。

像RabbitMQ這樣的消息代理可用來模擬不同的場景,例如點對點的消息分發(fā)或者訂閱/推送。我們的程序足夠簡單,有兩個基本的組件,一個生產(chǎn)者用于產(chǎn)生消息,還有一個消費者用來使用產(chǎn)生的消息。

官網(wǎng): https://www.rabbitmq.com/

四、Apache ActiveMQ

簡介:ActiveMQ 是Apache出品,最流行的,能力強勁的開源消息總線。ActiveMQ 是一個完全支持JMS1.1和J2EE 1.4規(guī)范的 JMS Provider實現(xiàn),盡管JMS規(guī)范出臺已經(jīng)是很久的事情了,但是JMS在當(dāng)今的J2EE應(yīng)用中間仍然扮演著特殊的地位。

特性:

多種語言和協(xié)議編寫客戶端。語言: Java,C,C++,C#,Ruby,Perl,Python,PHP。應(yīng)用協(xié)議: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
完全支持JMS1.1和J2EE 1.4規(guī)范 (持久化,XA消息,事務(wù))
對Spring的支持,ActiveMQ可以很容易內(nèi)嵌到使用Spring的系統(tǒng)里面去,而且也支持Spring2.0的特性
通過了常見J2EE服務(wù)器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的測試,其中通過JCA 1.5 resource adaptors的配置,可以讓ActiveMQ可以自動的部署到任何兼容J2EE 1.4 商業(yè)服務(wù)器上
支持多種傳送協(xié)議:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
支持通過JDBC和journal提供高速的消息持久化
從設(shè)計上保證了高性能的集群,客戶端-服務(wù)器,點對點
支持Ajax
支持與Axis的整合
可以很容易得調(diào)用內(nèi)嵌JMS provider,進行測試

官網(wǎng): http://activemq.apache.org/

五、Jafka

貢獻者:LinkedIn

簡介:Jafka 是一個開源的、高性能的、跨語言分布式消息系統(tǒng),使用GitHub托管。Jafka 最早是由Apache孵化的Kafka(由LinkedIn捐助給Apache)克隆而來。由于是一個開放式的數(shù)據(jù)傳輸協(xié)議,因此除了Java開發(fā)語言受到支持,Python、Ruby、C、C++等其他語言也能夠很好的得到支持。

特性:

消息持久化非常快,服務(wù)端存儲消息的開銷為O(1),并且基于文件系統(tǒng),能夠持久化TB級的消息而不損失性能。
吞吐量取決于網(wǎng)絡(luò)帶寬。
完全的分布式系統(tǒng),broker、producer、consumer都原生自動支持分布式。自動實現(xiàn)復(fù)雜均衡。
內(nèi)核非常小,整個系統(tǒng)(包括服務(wù)端和客戶端)只有一個272KB的jar包,內(nèi)部機制也不復(fù)雜,適合進行內(nèi)嵌或者二次開發(fā) 。整個服務(wù)端加上依賴組件共3.5MB。
消息格式以及通信機制非常簡單,適合進行跨語言開發(fā)。目前自帶的Python3.x的客戶端支持發(fā)送消息和接收消息。

官網(wǎng): http://kafka.apache.org/

六、Apache Kafka

貢獻者:LinkedIn

簡介:Apache Kafka是由Apache軟件基金會開發(fā)的一個開源消息系統(tǒng)項目,由Scala寫成。Kafka最初是由LinkedIn開發(fā),并于2011年初開源。2012年10月從Apache Incubator畢業(yè)。該項目的目標(biāo)是為處理實時數(shù)據(jù)提供一個統(tǒng)一、高通量、低等待的平臺。

Kafka是一個分布式的、分區(qū)的、多復(fù)本的日志提交服務(wù)。它通過一種獨一無二的設(shè)計提供了一個消息系統(tǒng)的功能。

Kafka集群可以在一個指定的時間內(nèi)保持所有發(fā)布上來的消息,不管這些消息有沒有被消費。打個比方,如果這個時間設(shè)置為兩天,那么在消息發(fā)布的兩天以內(nèi),這條消息都是可以被消費的,但是在兩天后,這條消息就會被系統(tǒng)丟棄以釋放空間。Kafka的性能不會受數(shù)據(jù)量的大小影響,因此保持大量的數(shù)據(jù)不是一個問題。

官網(wǎng): http://kafka.apache.org/

分布式服務(wù)


一、ZooKeeper

貢獻者:Google

簡介:ZooKeeper是一個分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個開源的實現(xiàn),是Hadoop和Hbase的重要組件。它是一個為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護、名字服務(wù)、分布式同步、組服務(wù)等。

ZooKeeper是以Fast Paxos算法為基礎(chǔ)的,paxos算法存在活鎖的問題,即當(dāng)有多個proposer交錯提交時,有可能互相排斥導(dǎo)致沒有一個proposer能提交成功,而Fast Paxos作了一些優(yōu)化,通過選舉產(chǎn)生一個leader,只有l(wèi)eader才能提交propose,具體算法可見Fast Paxos。因此,要想弄懂ZooKeeper首先得對Fast Paxos有所了解。

官網(wǎng): http://zookeeper.apache.org/

RPC


(Remote Procedure Call Protocol)——遠(yuǎn)程過程調(diào)用協(xié)議。

一、Apache Avro

簡介:Apache Avro是Hadoop下的一個子項目。它本身既是一個序列化框架,同時也實現(xiàn)了RPC的功能。Avro官網(wǎng)描述Avro的特性和功能如下:

豐富的數(shù)據(jù)結(jié)構(gòu)類型;
快速可壓縮的二進制數(shù)據(jù)形式;
存儲持久數(shù)據(jù)的文件容器;
提供遠(yuǎn)程過程調(diào)用RPC;
簡單的動態(tài)語言結(jié)合功能。

相比于Apache Thrift 和Google的Protocol Buffers,Apache Avro具有以下特點:

支持動態(tài)模式。Avro不需要生成代碼,這有利于搭建通用的數(shù)據(jù)處理系統(tǒng),同時避免了代碼入侵。
數(shù)據(jù)無須加標(biāo)簽。讀取數(shù)據(jù)前,Avro能夠獲取模式定義,這使得Avro在數(shù)據(jù)編碼時只需要保留更少的類型信息,有利于減少序列化后的數(shù)據(jù)大小。

官網(wǎng): http://avro.apache.org/

二、Facebook Thrift

貢獻者:Facebook

簡介:Thrift源于大名鼎鼎的facebook之手,在2007年facebook提交Apache基金會將Thrift作為一個開源項目,對于當(dāng)時的facebook來說創(chuàng)造thrift是為了解決facebook系統(tǒng)中各系統(tǒng)間大數(shù)據(jù)量的傳輸通信以及系統(tǒng)之間語言環(huán)境不同需要跨平臺的特性。

thrift可以支持多種程序語言,例如: C++, C#, Cocoa, Erlang, Haskell, Java, Ocami, Perl, PHP, Python, Ruby, Smalltalk. 在多種不同的語言之間通信thrift可以作為二進制的高性能的通訊中間件,支持?jǐn)?shù)據(jù)(對象)序列化和多種類型的RPC服務(wù)。

Thrift適用于程序?qū)Τ?序靜態(tài)的數(shù)據(jù)交換,需要先確定好他的數(shù)據(jù)結(jié)構(gòu),他是完全靜態(tài)化的,當(dāng)數(shù)據(jù)結(jié)構(gòu)發(fā)生變化時,必須重新編輯IDL文件,代碼生成,再編譯載入的流程,跟其他IDL工具相比較可以視為是Thrift的弱項,Thrift適用于搭建大型數(shù)據(jù)交換及存儲的通用工具,對于大型系統(tǒng)中的內(nèi)部數(shù)據(jù)傳輸相對于JSON和xml無論在性能、傳輸大小上有明顯的優(yōu)勢。

Thrift 主要由5個部分組成:

類型系統(tǒng)以及 IDL 編譯器:負(fù)責(zé)由用戶給定的 IDL 文件生成相應(yīng)語言的接口代碼。
TProtocol:實現(xiàn) RPC 的協(xié)議層,可以選擇多種不同的對象串行化方式,如 JSON, Binary。
TTransport:實現(xiàn) RPC 的傳輸層,同樣可以選擇不同的傳輸層實現(xiàn),如socket, 非阻塞的 socket, MemoryBuffer 等。
TProcessor:作為協(xié)議層和用戶提供的服務(wù)實現(xiàn)之間的紐帶,負(fù)責(zé)調(diào)用服務(wù)實現(xiàn)的接口。
TServer:聚合 TProtocol, TTransport 和 TProcessor 幾個對象。

上述的這5個部件都是在 Thrift 的源代碼中通過為不同語言提供庫來實現(xiàn)的,這些庫的代碼在 Thrift 源碼目錄的 lib 目錄下面,在使用 Thrift 之前需要先熟悉與自己的語言對應(yīng)的庫提供的接口。

官網(wǎng): http://thrift.apache.org/

集群管理


一、Nagios

簡介:Nagios是一款開源的免費網(wǎng)絡(luò)監(jiān)視工具,能有效監(jiān)控Windows、Linux和Unix的主機狀態(tài),交換機路由器等網(wǎng)絡(luò)設(shè)置,打印機等。在系統(tǒng)或服務(wù)狀態(tài)異常時發(fā)出郵件或短信報警第一時間通知網(wǎng)站運維人員,在狀態(tài)恢復(fù)后發(fā)出正常的郵件或短信通知。

Nagios可運行在Linux/Unix平臺之上,同時提供一個可選的基于瀏覽器的WEB界面以方便系統(tǒng)管理人員查看網(wǎng)絡(luò)狀態(tài),各種系統(tǒng)問題,以及日志等等。

官網(wǎng): http://www.nagios.org/

二、Ganglia

簡介:Ganglia是UC Berkeley發(fā)起的一個開源集群監(jiān)視項目,設(shè)計用于測量數(shù)以千計的節(jié)點。Ganglia的核心包含gmond、gmetad以及一個Web前端。主要是用來監(jiān)控系統(tǒng)性能,如:cpu 、mem、硬盤利用率, I/O負(fù)載、網(wǎng)絡(luò)流量情況等,通過曲線很容易見到每個節(jié)點的工作狀態(tài),對合理調(diào)整、分配系統(tǒng)資源,提高系統(tǒng)整體性能起到重要作用。

官網(wǎng): http://ganglia.sourceforge.net/

三、Apache Ambari

簡介:Apache Ambari是一種基于Web的工具,支持Apache Hadoop集群的供應(yīng)、管理和監(jiān)控。Ambari目前已支持大多數(shù)Hadoop組件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeper、Sqoop和Hcatalog等。

Apache Ambari 支持HDFS、MapReduce、Hive、Pig、Hbase、Zookeper、Sqoop和Hcatalog等的集中管理。也是5個頂級hadoop管理工具之一。

Ambari主要取得了以下成績:

通過一步一步的安裝向?qū)Ш喕思汗?yīng)。
預(yù)先配置好關(guān)鍵的運維指標(biāo)(metrics),可以直接查看Hadoop Core(HDFS和MapReduce)及相關(guān)項目(如HBase、Hive和HCatalog)是否健康。
支持作業(yè)與任務(wù)執(zhí)行的可視化與分析,能夠更好地查看依賴和性能。
通過一個完整的RESTful API把監(jiān)控信息暴露出來,集成了現(xiàn)有的運維工具。
用戶界面非常直觀,用戶可以輕松有效地查看信息并控制集群。
Ambari使用Ganglia收集度量指標(biāo),用Nagios支持系統(tǒng)報警,當(dāng)需要引起管理員的關(guān)注時(比如,節(jié)點停機或磁盤剩余空間不足等問題),系統(tǒng)將向其發(fā)送郵件。

此外,Ambari能夠安裝安全的(基于Kerberos)Hadoop集群,以此實現(xiàn)了對Hadoop 安全的支持,提供了基于角色的用戶認(rèn)證、授權(quán)和審計功能,并為用戶管理集成了LDAP和Active Directory。

官網(wǎng): http://ambari.apache.org/

基礎(chǔ)設(shè)施


一、LevelDB

貢獻者:Jeff Dean和Sanjay Ghemawat

簡介:Leveldb是一個google實現(xiàn)的非常高效的kv數(shù)據(jù)庫,目前的版本1.2能夠支持billion級別的數(shù)據(jù)量了。 在這個數(shù)量級別下還有著非常高的性能,主要歸功于它的良好的設(shè)計。特別是LMS算法。LevelDB 是單進程的服務(wù),性能非常之高,在一臺4核Q6600的CPU機器上,每秒鐘寫數(shù)據(jù)超過40w,而隨機讀的性能每秒鐘超過10w。

官網(wǎng): http://code.google.com/p/leveldb/

二、SSTable

簡介:如果說Protocol Buffer是谷歌獨立數(shù)據(jù)記錄的通用語言 ,那么有序字符串表(SSTable,Sorted String Table)則是用于存儲,處理和數(shù)據(jù)集交換的最流行??的數(shù)據(jù)輸出格式。正如它的名字本身,SSTable是有效存儲大量鍵-值對的簡單抽象,對高吞吐量順序讀/寫進行了優(yōu)化。

SSTable是Bigtable中至關(guān)重要的一塊,對于LevelDB來說也是如此。

三、RecordIO

貢獻者:Google

簡介:我們大家都在用文件來存儲數(shù)據(jù)。文件是存儲在磁盤上的。如果在一些不穩(wěn)定的介質(zhì)上,文件很容損壞。即時文件某個位置出現(xiàn)一點小小的問題,整個文件就廢了。

下面我來介紹Google的一個做法,可以比較好的解決這個問題。那就是recordio文件格式。recoidio的存儲單元是一個一個record。這個record可以根據(jù)業(yè)務(wù)的需要自行定義。但Google有一種建議的處理方式就是使用protobuf。

reocordio底層的格式其實很簡單。一個record由四部分組成:

MagicNumber (32 bits)
Uncompressed data payload size (64 bits)
Compressed data payload size (64 bits), or 0 if the data is not compressed
Payload, possibly compressed

到這里,大家可能已經(jīng)知道,recordio之所以能對付壞數(shù)據(jù),其實就是在這個MagicNumber(校驗值)。

四、Flat Buffers

貢獻者:Google

簡介:谷歌開源高效、跨平臺的序列化庫FlatBuffers。

該庫的構(gòu)建是專門為游戲開發(fā)人員的性能需求提供支持,它將序列化數(shù)據(jù)存儲在緩存中,這些數(shù)據(jù)既可以存儲在文件中,又可以通過網(wǎng)絡(luò)原樣傳輸,而不需要任何解析開銷。

FlatBuffers有如下一些關(guān)鍵特性:

訪問序列化數(shù)據(jù)不需要打包/拆包
節(jié)省內(nèi)存而且訪問速度快——緩存只占用訪問數(shù)據(jù)所需要的內(nèi)存;不需要任何額外的內(nèi)存。
靈活性——通過可選字段向前向后兼容
代碼規(guī)模小
強類型——錯誤在編譯時捕獲,而不是在運行時
便利性——生成的C++頭文件代碼簡潔。如果需要,有一項可選功能可以用來在運行時高效解析Schema和JSON-like格式的文本。
跨平臺——使用C++編寫,不依賴STL之外的庫,因此可以用于任何有C++編輯器的平臺。當(dāng)前,該項目包含構(gòu)建方法和在Android、Linux、Windows和OSX等操作系統(tǒng)上使用該庫的示例。
與Protocol Buffers或JSON Parsing這樣的可選方案相比,F(xiàn)latBuffers的優(yōu)勢在于開銷更小,這主要是由于它沒有解析過程。

代碼托管: https://github.com/google/flatbuffers

五、Protocol Buffers

貢獻者:Google

簡介:Protocol Buffers是Google公司開發(fā)的一種數(shù)據(jù)描述語言,類似于XML能夠?qū)⒔Y(jié)構(gòu)化數(shù)據(jù)序列化,可用于數(shù)據(jù)存儲、通信協(xié)議等方面。它不依賴于語言和平臺并且可擴展性極強。現(xiàn)階段官方支持C++、JAVA、Python等三種編程語言,但可以找到大量的幾乎涵蓋所有語言的第三方拓展包。

通過它,你可以定義你的數(shù)據(jù)的結(jié)構(gòu),并生成基于各種語言的代碼。這些你定義的數(shù)據(jù)流可以輕松地在傳遞并不破壞你已有的程序。并且你也可以更新這些數(shù)據(jù)而現(xiàn)有的程序也不會受到任何的影響。

Protocol Buffers經(jīng)常被簡稱為protobuf。

官網(wǎng): http://code.google.com/p/protobuf/

六、Consistent Hashing(哈希算法)

簡介:一致性哈希算法在1997年由麻省理工學(xué)院提出的一種分布式哈希(DHT)實現(xiàn)算法,設(shè)計目標(biāo)是為了解決因特網(wǎng)中的熱點(Hot spot)問題,初衷和CARP十分類似。一致性哈希修正了CARP使用的簡 單哈希算法帶來的問題,使得分布式哈希(DHT)可以在P2P環(huán)境中真正得到應(yīng)用。

一致性hash算法提出了在動態(tài)變化的Cache環(huán)境中,判定哈希算法好壞的四個定義:

平衡性(Balance):平衡性是指哈希的結(jié)果能夠盡可能分布到所有的緩沖中去,這樣可以使得所有的緩沖空間都得到利用。很多哈希算法都能夠滿足這一條件。
單調(diào)性(Monotonicity):單調(diào)性是指如果已經(jīng)有一些內(nèi)容通過哈希分派到了相應(yīng)的緩沖中,又有新的緩沖加入到系統(tǒng)中。哈希的結(jié)果應(yīng)能夠保證原有已分配的內(nèi)容可以被映射到原有的或者新的緩沖中去,而不會被映射到舊的緩沖集合中的其他緩沖區(qū)。
分散性(Spread):在分布式環(huán)境中,終端有可能看不到所有的緩沖,而是只能看到其中的一部分。當(dāng)終端希望通過哈希過程將內(nèi)容映射到緩沖上時,由于不同終端所見的緩沖范圍有可能不同,從而導(dǎo)致哈希的結(jié)果不一致,最終的結(jié)果是相同的內(nèi)容被不同的終端映射到不同的緩沖區(qū)中。這種情況顯然是應(yīng)該避免的,因為它導(dǎo)致相同內(nèi)容被存儲到不同緩沖中去,降低了系統(tǒng)存儲的效率。分散性的定義就是上述情況發(fā)生的嚴(yán)重程度。好的哈希算法應(yīng)能夠盡量避免不一致的情況發(fā)生,也就是盡量降低分散性。
負(fù)載(Load):負(fù)載問題實際上是從另一個角度看待分散性問題。既然不同的終端可能將相同的內(nèi)容映射到不同的緩沖區(qū)中,那么對于一個特定的緩沖區(qū)而言,也可能被不同的用戶映射為不同 的內(nèi)容。與分散性一樣,這種情況也是應(yīng)當(dāng)避免的,因此好的哈希算法應(yīng)能夠盡量降低緩沖的負(fù)荷。

在分布式集群中,對機器的添加刪除,或者機器故障后自動脫離集群這些操作是分布式集群管理最基本的功能。如果采用常用的hash(object)%N算法,那么在有機器添加或者刪除后,很多原有的數(shù)據(jù)就無法找到了,這樣嚴(yán)重的違反了單調(diào)性原則。

七、Netty

貢獻者:JBOSS

簡介:Netty是由JBOSS提供的一個java開源框架。Netty提供異步的、事件驅(qū)動的網(wǎng)絡(luò)應(yīng)用程序框架和工具,用以快速開發(fā)高性能、高可靠性的網(wǎng)絡(luò)服務(wù)器和客戶端程序。

也就是說,Netty 是一個基于NIO的客戶,服務(wù)器端編程框架,使用Netty 可以確保你快速和簡單的開發(fā)出一個網(wǎng)絡(luò)應(yīng)用,例如實現(xiàn)了某種協(xié)議的客戶,服務(wù)端應(yīng)用。Netty相當(dāng)簡化和流線化了網(wǎng)絡(luò)應(yīng)用的編程開發(fā)過程,例如,TCP和UDP的socket服務(wù)開發(fā)。

“快速”和“簡單”并不意味著會讓你的最終應(yīng)用產(chǎn)生維護性或性能上的問題。Netty 是一個吸收了多種協(xié)議的實現(xiàn)經(jīng)驗,這些協(xié)議包括FTP,SMTP,HTTP,各種二進制,文本協(xié)議,并經(jīng)過相當(dāng)精心設(shè)計的項目,最終,Netty 成功的找到了一種方式,在保證易于開發(fā)的同時還保證了其應(yīng)用的性能,穩(wěn)定性和伸縮性。

官網(wǎng): http://netty.io/

八、BloomFilter

簡介:Bloom filter 是由 Howard Bloom 在 1970 年提出的二進制向量數(shù)據(jù)結(jié)構(gòu),它具有很好的空間和時間效率,被用來檢測一個元素是不是集合中的一個成員。如果檢測結(jié)果為是,該元素不一定在集合中;但如果檢測結(jié)果為否,該元素一定不在集合中。因此Bloom filter具有100%的召回率。這樣每個檢測請求返回有“在集合內(nèi)(可能錯誤)”和“不在集合內(nèi)(絕對不在集合內(nèi))”兩種情況,可見 Bloom filter 是犧牲了正確率和時間以節(jié)省空間。

Bloom filter 優(yōu)點就是它的插入和查詢時間都是常數(shù),另外它查詢元素卻不保存元素本身,具有良好的安全性。

搜索引擎


一、Nutch

簡介:Nutch 是一個開源Java 實現(xiàn)的搜索引擎。它提供了我們運行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬蟲。

盡管Web搜索是漫游Internet的基本要求, 但是現(xiàn)有web搜索引擎的數(shù)目卻在下降. 并且這很有可能進一步演變成為一個公司壟斷了幾乎所有的web搜索為其謀取商業(yè)利益.這顯然 不利于廣大Internet用戶.

Nutch為我們提供了這樣一個不同的選擇. 相對于那些商用的搜索引擎, Nutch作為開放源代碼 搜索引擎將會更加透明, 從而更值得大家信賴. 現(xiàn)在所有主要的搜索引擎都采用私有的排序算法, 而不會解釋為什么一個網(wǎng)頁會排在一個特定的位置. 除此之外, 有的搜索引擎依照網(wǎng)站所付的 費用, 而不是根據(jù)它們本身的價值進行排序. 與它們不同, Nucth沒有什么需要隱瞞, 也沒有 動機去扭曲搜索的結(jié)果. Nutch將盡自己最大的努力為用戶提供最好的搜索結(jié)果.

Nutch目前最新的版本為version v2.2.1。

官網(wǎng): https://nutch.apache.org/

二、Lucene

開發(fā)者:Doug Cutting(Hadoop之父,你懂的)

簡介:Lucene是apache軟件基金會4 jakarta項目組的一個子項目,是一個開放源代碼的全文檢索引擎工具包,即它不是一個完整的全文檢索引擎,而是一個全文檢索引擎的架構(gòu),提供了完整的查詢引擎和索引引擎,部分文本分析引擎(英文與德文兩種西方語言)。Lucene的目的是為軟件開發(fā)人員提供一個簡單易用的工具包,以方便的在目標(biāo)系統(tǒng)中實現(xiàn)全文檢索的功能,或者是以此為基礎(chǔ)建立起完整的全文檢索引擎。

官網(wǎng): http://lucene.apache.org/

三、SolrCloud

簡介:SolrCloud是Solr4.0版本以后基于Solr和Zookeeper的分布式搜索方案。SolrCloud是Solr的基于Zookeeper一種部署方式。Solr可以以多種方式部署,例如單機方式,多機Master-Slaver方式。

SolrCloud有幾個特色功能:

集中式的配置信息使用ZK進行集中配置。啟動時可以指定把Solr的相關(guān)配置文件上傳
Zookeeper,多機器共用。這些ZK中的配置不會再拿到本地緩存,Solr直接讀取ZK中的配置信息。配置文件的變動,所有機器都可以感知到。另外,Solr的一些任務(wù)也是通過ZK作為媒介發(fā)布的。目的是為了容錯。接收到任務(wù),但在執(zhí)行任務(wù)時崩潰的機器,在重啟后,或者集群選出候選者時,可以再次執(zhí)行這個未完成的任務(wù)。
自動容錯SolrCloud對索引分片,并對每個分片創(chuàng)建多個Replication。每個Replication都可以對外提供服務(wù)。一個Replication掛掉不會影響索引服務(wù)。更強大的是,它還能自動的在其它機器上幫你把失敗機器上的索引Replication重建并投入使用。
近實時搜索立即推送式的replication(也支持慢推送)。可以在秒內(nèi)檢索到新加入索引。
查詢時自動負(fù)載均衡SolrCloud索引的多個Replication可以分布在多臺機器上,均衡查詢壓力。如果查詢壓力大,可以通過擴展機器,增加Replication來減緩。
自動分發(fā)的索引和索引分片發(fā)送文檔到任何節(jié)點,它都會轉(zhuǎn)發(fā)到正確節(jié)點。
事務(wù)日志事務(wù)日志確保更新無丟失,即使文檔沒有索引到磁盤。

四、Solr

簡介:Solr是一個獨立的企業(yè)級搜索應(yīng)用服務(wù)器,它對外提供類似于Web-service的API接口。用戶可以通過http請求,向搜索引擎服務(wù)器提交一定格式的XML文件,生成索引;也可以通過Http Get操作提出查找請求,并得到XML格式的返回結(jié)果。

Solr是一個高性能,采用Java5開發(fā),基于Lucene的全文搜索服務(wù)器。同時對其進行了擴展,提供了比Lucene更為豐富的查詢語言,同時實現(xiàn)了可配置、可擴展并對查詢性能進行了優(yōu)化,并且提供了一個完善的功能管理界面,是一款非常優(yōu)秀的全文搜索引擎。

官網(wǎng): https://lucene.apache.org/solr/

五、ElasticSearch

簡介:ElasticSearch是一個基于Lucene的搜索服務(wù)器。它提供了一個分布式多用戶能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java開發(fā)的,并作為Apache許可條款下的開放源碼發(fā)布,是第二最流行的企業(yè)搜索引擎。設(shè)計用于云計算中,能夠達到實時搜索,穩(wěn)定,可靠,快速,安裝使用方便。

官網(wǎng): http://www.elasticsearch.org/

六、Sphinx

簡介:Sphinx是一個基于SQL的全文檢索引擎,可以結(jié)合MySQL,PostgreSQL做全文搜索,它可以提供比數(shù)據(jù)庫本身更專業(yè)的搜索功能,使得應(yīng)用程序更容易實現(xiàn)專業(yè)化的全文檢索。Sphinx特別為一些腳本語言設(shè)計搜索API接口,如PHP,Python,Perl,Ruby等,同時為MySQL也設(shè)計了一個存儲引擎插件。

Sphinx單一索引最大可包含1億條記錄,在1千萬條記錄情況下的查詢速度為0.x秒(毫秒級)。Sphinx創(chuàng)建索引的速度為:創(chuàng)建100萬條記錄的索引只需 3~4分鐘,創(chuàng)建1000萬條記錄的索引可以在50分鐘內(nèi)完成,而只包含最新10萬條記錄的增量索引,重建一次只需幾十秒。

官網(wǎng): http://sphinxsearch.com

七、SenseiDB

貢獻者:linkedin

簡介:SenseiDB是一個NoSQL數(shù)據(jù)庫,它專注于高更新率以及復(fù)雜半結(jié)構(gòu)化搜索查詢。熟悉Lucene和Solor的用戶會發(fā)現(xiàn),SenseiDB背后有許多似曾相識的概念。SenseiDB部署在多節(jié)點集群中,其中每個節(jié)點可以包括N塊數(shù)據(jù)片。Apache Zookeeper用于管理節(jié)點,它能夠保持現(xiàn)有配置,并可以將任意改動(如拓?fù)湫薷?傳輸?shù)秸麄€節(jié)點群中。SenseiDB集群還需要一種模式用于定義將要使用的數(shù)據(jù)模型。

從SenseiDB集群中獲取數(shù)據(jù)的唯一方法是通過Gateways(它 沒有“INSERT”方法)。每個集群都連接到一個單一gateway。你需要了解很重要的一點是,由于SenseiDB本身沒法處理原子性 (Atomicity)和隔離性(Isolation),因此只能通過外部在gateway層進行限制。另外,gateway必須確保數(shù)據(jù)流按照預(yù)期的方 式運作。內(nèi)置的gateway有以下幾種形式:

來自文件
來自JMS隊列
通過JDBC
來自Apache Kafka

官網(wǎng): http://senseidb.com

數(shù)據(jù)挖掘


一、Mahout

簡介:Apache Mahout 是 Apache Software Foundation (ASF) 開發(fā)的一個全新的開源項目,其主要目標(biāo)是創(chuàng)建一些可伸縮的機器學(xué)習(xí)算法,供開發(fā)人員在 Apache 在許可下免費使用。該項目已經(jīng)發(fā)展到了它的最二個年頭,目前只有一個公共發(fā)行版。Mahout 包含許多實現(xiàn),包括集群、分類、CP 和進化程序。此外,通過使用 Apache Hadoop 庫,Mahout 可以有效地擴展到云中。

雖然在開源領(lǐng)域中相對較為年輕,但 Mahout 已經(jīng)提供了大量功能,特別是在集群和 CF 方面。Mahout 的主要特性包括:

Taste CF。Taste 是 Sean Owen 在 SourceForge 上發(fā)起的一個針對 CF 的開源項目,并在 2008 年被贈予 Mahout。
一些支持 Map-Reduce 的集群實現(xiàn)包括 k-Means、模糊 k-Means、Canopy、Dirichlet 和 Mean-Shift。
Distributed Naive Bayes 和 Complementary Naive Bayes 分類實現(xiàn)。

官網(wǎng): http://mahout.apache.org/

Iaas


IaaS(Infrastructure as a Service),即基礎(chǔ)設(shè)施即服務(wù)。

一、OpenStack

簡介:OpenStack是一個由NASA(美國國家航空航天局)和Rackspace合作研發(fā)并發(fā)起的,以Apache許可證授權(quán)的自由軟件和開放源代碼項目。

OpenStack是一個開源的云計算管理平臺項目,由幾個主要的組件組合起來完成具體工作。OpenStack支持幾乎所有類型的云環(huán)境,項目目標(biāo)是提供實施簡單、可大規(guī)模擴展、豐富、標(biāo)準(zhǔn)統(tǒng)一的云計算管理平臺。OpenStack通過各種互補的服務(wù)提供了基礎(chǔ)設(shè)施即服務(wù)(IaaS)的解決方案,每個服務(wù)提供API以進行集成。

6個核心項目:Nova(計算,Compute),Swift(對象存儲,Object),Glance(鏡像,Image),Keystone(身份,Identity),Horizon(自助門戶,Dashboard),Quantum & Melange(網(wǎng)絡(luò)&地址管理),另外還有若干社區(qū)項目,如Rackspace(負(fù)載均衡)、Rackspace(關(guān)系型數(shù)據(jù)庫)。

官網(wǎng): https://www.openstack.org/

二、Docker

貢獻者:dotCloud

簡介:Docker 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app)。幾乎沒有性能開銷,可以很容易地在機器和數(shù)據(jù)中心中運行。最重要的是,他們不依賴于任何語言、框架或包括系統(tǒng)。

官網(wǎng): http://www.docker.io/

三、Kubernetes

貢獻者:Google

簡介:Kubernetes是Google開源的容器集群管理系統(tǒng)。它構(gòu)建Ddocker技術(shù)之上,為容器化的應(yīng)用提供資源調(diào)度、部署運行、服務(wù)發(fā)現(xiàn)、擴容縮容等整一套功能,本質(zhì)上可看作是基于容器技術(shù)的mini-PaaS平臺。

Kubernetes從另一個角度對資源進行抽象,它讓開發(fā)人員和管理人員共同著眼于服務(wù)的行為和性能的提升,而不是僅僅關(guān)注對單一的組件或者是基礎(chǔ)資源。

那么Kubernetes集群到底提供了哪些單一容器所沒有功能?它主要關(guān)注的是對服務(wù)級別的控制而并非僅僅是對容器級別的控制,Kubernetes提供了一種“機智”的管理方式,它將服務(wù)看成一個整體。在Kubernete的解決方案中,一個服務(wù)甚至可以自我擴展,自我診斷,并且容易升級。例如,在Google中,我們使用機器學(xué)習(xí)技術(shù)來保證每個運行的服務(wù)的當(dāng)前狀態(tài)都是最高效的。

代碼托管: https://github.com/GoogleCloudPlatform/kubernetes/

四、Imctfy

貢獻者:Google

簡介:Google開源了自己所用Linux容器系統(tǒng)的開源版本lmctfy,讀音為lem-kut-fee。包括一個C++庫(使用了C++11,文檔可以參考頭文件)和命令行界面。目前的版本是0.1,只提供了CPU與內(nèi)存隔離。項目還在密集開發(fā)中。

mctfy本身是針對某些特定使用場景設(shè)計和實現(xiàn)的,目前擁有一臺機器上所有容器時運行情況最好,不推薦與LXC和其他容器系統(tǒng)一起使用(雖然也可行)。已在Ubuntu 12.04+和Ubuntu 3.3與3.8內(nèi)核上測試。

代碼托管: https://github.com/google/Imctfy/

監(jiān)控管理


一、Dapper

貢獻者:Google

簡介:Dapper是一個輕量的ORM(對象關(guān)系映射(英語:Object Relational Mapping,簡稱ORM,或O/RM,或O/R mapping)。并不單純的是一個DBHelper.因為在Dapper中數(shù)據(jù)其實就是一個對象。Dapper擴展與IDbConnection上,所以事實上它的傾入性很低。我用了StructureMap。如果不喜歡可以自己更換,或者自己實現(xiàn)下。

代碼就一個SqlMapper.cs文件,主要是IDbConnection的擴展方法,編譯后就40K的一個很小的dll。

特性:

Dapper很快。Dapper的速度接近與IDataReader。
Dapper支持主流數(shù)據(jù)庫 Mysql,SqlLite,Mssql2000,Mssql2005,Oracle等一系列的數(shù)據(jù)庫。
支持多表并聯(lián)的對象。支持一對多 多對多的關(guān)系,并且沒侵入性。
原理通過Emit反射IDataReader的序列隊列,來快速的得到和產(chǎn)生對象。
Dapper語法十分簡單。并且無須遷就數(shù)據(jù)庫的設(shè)計。

官方站點 http://code.google.com/p/dapper-dot-net/

代碼托管: http://bigbully.github.io/Dapper-translation/

二、Zipkin

貢獻者:Twitter

簡介:Zipkin (分布式跟蹤系統(tǒng))是 Twitter 的一個開源項目,允許開發(fā)者收集 Twitter 各個服務(wù)上的監(jiān)控數(shù)據(jù),并提供查詢接口。該系統(tǒng)讓開發(fā)者可通過一個 Web 前端輕松的收集和分析數(shù)據(jù),例如用戶每次請求服務(wù)的處理時間等,可方便的監(jiān)測系統(tǒng)中存在的瓶頸。

官方網(wǎng)站: http://twitter.github.io/zipkin/

代碼托管: https://github.com/twitter/zipkin/

原文轉(zhuǎn)自36大數(shù)據(jù) ? 拿走不謝 | 100+大數(shù)據(jù)開源處理工具匯總。

作者:大碼王
出處:https://www.cnblogs.com/huanghanyu/

-------------------------------------------

個性簽名:獨學(xué)而無友,則孤陋而寡聞。做一個靈魂有趣的人!

如果覺得這篇文章對你有小小的幫助的話,記得在右下角點個“推薦”哦,博主在此感謝!

萬水千山總是情,打賞一分行不行,所以如果你心情還比較高興,也是可以掃碼打賞博主,哈哈哈(っ??ω??)っ???!

總結(jié)

以上是生活随笔為你收集整理的大数据运维(59)最全的大数据工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

国产精品久久久久久一区二区三区 | 亚洲精品美女免费 | 久草影视在线观看 | 午夜视频在线瓜伦 | 在线有码中文字幕 | 99免费精品视频 | 国产无套精品久久久久久 | 日日天天 | 久久国产经典视频 | 成人午夜电影网 | 狠狠操狠狠干天天操 | 久久a久久| 一级黄色大片在线观看 | 999精品 | 亚洲天堂网在线播放 | 国产黄色大片 | 日韩精品免费一区二区在线观看 | 在线 视频 一区二区 | 日本久久免费视频 | 久久精品老司机 | 9在线观看免费高清完整版在线观看明 | 亚洲天堂首页 | 91麻豆免费视频 | 久久久受www免费人成 | 91福利社区在线观看 | 欧美激情在线网站 | 亚洲午夜精品电影 | 狠狠色丁香久久婷婷综合_中 | 午夜影视av | 天天综合网久久 | 成人性生交大片免费观看网站 | 欧美大荫蒂xxx| 国语自产偷拍精品视频偷 | 亚洲一区二区精品视频 | 四虎在线免费观看 | 综合网五月天 | 97超碰人人澡人人爱学生 | 久久国产精品二国产精品中国洋人 | 国产精品99蜜臀久久不卡二区 | 日本黄色特级片 | 欧美日韩在线播放一区 | 91黄视频在线观看 | 国产黄色在线网站 | 综合国产视频 | 91精品啪在线观看国产线免费 | 在线亚洲精品 | 有码中文字幕在线观看 | 日本女人逼 | 欧美日产在线观看 | 国产 一区二区三区 在线 | 日韩综合一区二区三区 | 国产精品久久久久影院 | 精品国产免费av | 香蕉在线观看 | 黄色成人免费电影 | 久久婷婷丁香 | 色综合 久久精品 | 狠狠色狠狠色综合系列 | 久久99国产精品 | av日韩国产 | 欧美国产91 | 日本中文在线观看 | 91黄色免费看 | 国产在线视频一区二区三区 | 免费高清在线观看成人 | 国产精品麻豆欧美日韩ww | 国产伦理久久精品久久久久_ | 四虎永久免费在线观看 | 精品久久久久久久久久久久 | 91久久丝袜国产露脸动漫 | 色在线免费视频 | 日本精品va在线观看 | 国产字幕在线观看 | 日本三级人妇 | 亚洲精品字幕在线观看 | 婷婷在线免费视频 | 亚洲综合视频在线播放 | 国产精品久久久久一区二区国产 | 婷婷亚洲综合 | 日本久久99 | 久久99热国产 | www免费看片com | 成人国产精品久久久 | 国产精品一区二区av日韩在线 | 日日碰狠狠添天天爽超碰97久久 | 久久色中文字幕 | 福利片视频区 | 国产一区高清在线观看 | av在线电影播放 | 日韩一区二区三区高清在线观看 | 色婷婷电影 | 天天艹日日干 | 在线观看亚洲a | 91看片淫黄大片91 | 99婷婷狠狠成为人免费视频 | 果冻av在线 | 亚洲国产97在线精品一区 | 国产精品美女久久久久久免费 | 91一区二区三区久久久久国产乱 | 一区二区理论片 | 亚洲精品男人的天堂 | 日韩三级.com | 国产一级电影免费观看 | 久草在线这里只有精品 | 免费视频二区 | 欧洲精品在线视频 | 日韩一区二区免费播放 | 2018好看的中文在线观看 | 国产不卡在线视频 | 国产五月婷婷 | 国产在线观看你懂得 | 丁香激情综合 | 亚洲欧美日韩国产精品一区午夜 | 伊人五月天av | 日韩免费观看视频 | 日日日视频 | 亚洲黄色免费在线 | 中文字幕在线观看免费高清电影 | 欧美日韩xxx | 国产精品第二十页 | 黄污污网站| 成片人卡1卡2卡3手机免费看 | 精品久久久久久国产91 | 亚洲成a人片在线观看网站口工 | 成年人免费在线 | av丝袜制服 | 亚洲综合成人专区片 | 在线视频观看91 | 一级精品视频在线观看宜春院 | 涩涩网站在线播放 | 97影视| 亚洲精品五月天 | 成人免费毛片aaaaaa片 | www.福利视频 | 不卡视频在线 | 久久久精品午夜 | 免费一区在线 | 黄色aaaaa | 88av网站 | 天天在线视频色 | 亚洲欧洲国产日韩精品 | 欧美美女视频在线观看 | 欧美日韩69 | 中文字幕二区在线观看 | 久久99久久99精品免视看婷婷 | 欧美少妇影院 | 久久男人影院 | 999国产| 免费在线观看不卡av | 国产欧美精品一区二区三区 | 中文欧美字幕免费 | 成人av日韩| 日韩,中文字幕 | 精品欧美在线视频 | 中文av在线免费观看 | 亚洲日本韩国一区二区 | 婷婷播播网 | 亚洲精品www | 久久免费视频这里只有精品 | 一区二区三区四区在线免费观看 | 伊人国产女 | 婷婷国产v亚洲v欧美久久 | 91热视频在线观看 | 亚洲永久av| 日韩在线免费看 | 国产亚洲视频中文字幕视频 | 久久不卡视频 | 久久精品一区二区三区国产主播 | 丁香 婷婷 激情 | 欧美成人播放 | 在线免费观看国产黄色 | 欧美一级特黄aaaaaa大片在线观看 | 亚洲精品中文在线资源 | 国产精品不卡一区 | 91精品国产成人观看 | 国产女人免费看a级丨片 | 国产亚洲视频在线免费观看 | 91精品专区| 91pony九色丨交换 | 久久国产高清视频 | 久草www| 97电影在线看视频 | 午夜婷婷综合 | 特级大胆西西4444www | 久久这里只有精品久久 | 在线观看日韩视频 | 国产99re | 免费一级黄色 | 丁香六月婷 | 日日添夜夜添 | 91视频在线观看免费 | 片网站 | 久久免费精品视频 | 91成人精品一区在线播放 | 久久午夜精品视频 | 天天综合日| 色偷偷av男人天堂 | 精品久久1 | 六月丁香六月婷婷 | 国产3p视频| 中文字幕色播 | 国产中文欧美日韩在线 | 不卡的av在线播放 | 91免费网址 | 日韩电影在线一区二区 | 国产小视频免费在线网址 | 中文字幕在线成人 | 超碰久热 | 国产中年夫妇高潮精品视频 | 国产视频在线观看一区二区 | 五月天最新网址 | 在线一区av| 欧美激情精品久久久久久变态 | 97国产大学生情侣白嫩酒店 | 久久高清免费观看 | 成人网页在线免费观看 | 久久久久高清毛片一级 | 日韩精品久久久久久久电影99爱 | 日韩综合色 | 日韩成人免费在线电影 | 久久久久免费精品国产 | 国产91精品在线播放 | 韩国av一区二区三区在线观看 | 黄色成人免费电影 | 国产精品久久久久久久久软件 | 国产成人精品久久久久蜜臀 | 精品一区二区三区四区在线 | 久久久久久久久久久久99 | 97国产一区二区 | 懂色av一区二区三区蜜臀 | 五月天中文在线 | 中文字幕久久久精品 | 久草视频在线播放 | av免费观看网站 | 特级毛片网 | 国产成人在线观看 | 久久99久久久久 | 国产一级大片在线观看 | 国产高清无线码2021 | 亚洲一级性 | 国产精品毛片久久久久久 | 欧美一级电影免费观看 | 999抗病毒口服液 | 五月天欧美精品 | 国产午夜一级毛片 | 亚洲午夜精品一区二区三区电影院 | 福利视频一区二区 | 片网址 | 色网站在线免费观看 | 亚洲国产中文在线 | av黄色免费看| 99热都是精品 | 日韩av一区二区在线影视 | av在线播放不卡 | 人人爽人人澡 | 色综合久久久久综合体桃花网 | 久久草草影视免费网 | 亚洲伦理精品 | 久久这里只有精品23 | a一片一级 | 成人va天堂 | 亚洲精品高清一区二区三区四区 | 丁香婷婷深情五月亚洲 | 天天射天天干天天 | 欧美色综合| 最新av在线网站 | 在线观看电影av | 精品毛片一区二区免费看 | 99精品网站| 九九九九热精品免费视频点播观看 | 亚洲 欧美 日韩 综合 | 亚洲精品午夜久久久久久久 | 久久亚洲成人网 | 久草国产视频 | 999电影免费在线观看2020 | 国产破处在线播放 | 亚洲 av网站 | 中文字幕在线久一本久 | 国产一级在线视频 | 中文成人字幕 | 成人午夜网址 | 久久精品九色 | 亚洲黄色免费观看 | 欧美在线视频一区二区三区 | 国产剧情av在线播放 | 欧美人交a欧美精品 | 美女精品在线观看 | 五月婷婷六月丁香在线观看 | 2024国产精品视频 | 亚洲精品动漫久久久久 | 精品国产一区二区三区蜜臀 | 91在线观看欧美日韩 | 国产无限资源在线观看 | 日韩av电影手机在线观看 | 日韩中文幕| 99操视频| 最新的av网站 | 日韩免费视频线观看 | 精品欧美小视频在线观看 | 亚洲最大成人网4388xx | 亚洲第一区精品 | 视频在线一区 | 激情欧美丁香 | 欧美国产精品久久久久久免费 | 夜夜视频 | 黄色的片子| 91最新网址在线观看 | 日韩黄色免费 | 日韩av看片 | 亚洲va欧美va | 91影视成人 | 伊人狠狠色丁香婷婷综合 | 欧美成人播放 | 成人啊 v| 亚洲女同videos | 国产一区二区三区视频在线 | 国产精品福利av | 国产 成人 久久 | 久久久影院一区二区三区 | 国产免费av一区二区三区 | 91精品啪在线观看国产81旧版 | 精品国产一区二区三区久久久久久 | 久久久麻豆精品一区二区 | 久久99爱视频 | 视频一区二区国产 | 色婷婷激情四射 | 西西www4444大胆视频 | 国产99一区 | 97香蕉久久国产在线观看 | 国产精品久久久久久久久毛片 | 激情五月婷婷综合 | 久久久久亚洲天堂 | 在线亚洲激情 | 91精品视频在线看 | 欧美日韩网址 | 天天操天天干天天爽 | 中文字幕在线一区二区三区 | 国产精品美女999 | 色婷在线| 成人av网站在线观看 | 色婷婷久久 | 国产高清亚洲 | 日韩一级片大全 | 999国内精品永久免费视频 | 日日夜夜狠狠操 | 国产一卡久久电影永久 | 91成年人网站 | 日韩精品一区二区三区在线播放 | 三级小视频在线观看 | a电影在线观看 | 久久一二区 | 国产精品成人久久久 | 日本免费久久高清视频 | 亚洲国产精品va在线看黑人 | 亚洲波多野结衣 | 欧美成人日韩 | 人人干网 | 不卡精品视频 | 亚洲成av人片| 91视频下载 | 麻豆视频国产在线观看 | 毛片精品免费在线观看 | 天天操狠狠操夜夜操 | 97国产精品久久 | 色多多在线观看 | 亚洲精品合集 | 免费视频久久久 | 国产精品视频99 | 国产伦理剧 | 国产一区视频在线 | 成人av电影免费在线观看 | 国产精品视频免费 | 久久久国产毛片 | 国产日韩欧美在线看 | 国产青青青 | 亚洲v精品| 国产一区高清在线 | 国产人成看黄久久久久久久久 | 亚洲开心色 | av+在线播放在线播放 | 国产精品久久久久久久7电影 | 成人久久精品视频 | 香蕉在线观看 | 久久99最新地址 | 337p西西人体大胆瓣开下部 | 狠狠天天| 国产精品久久99综合免费观看尤物 | 欧美一区二区三区在线观看 | 天天操人人干 | 中文字幕亚洲欧美日韩2019 | 在线看的毛片 | 日本视频久久久 | 色午夜| 日韩精品一区二区三区外面 | 97av在线视频| 国产精品18久久久久久久久 | 玖玖在线免费视频 | 91一区啪爱嗯打偷拍欧美 | 激情影音 | 欧美日韩视频在线 | 成人91免费视频 | 99久久婷婷国产一区二区三区 | 欧美三人交 | 麻豆国产网站 | 五月婷香蕉久色在线看 | 最新黄色av网址 | 亚洲少妇久久 | 亚洲视频综合 | 国产精品欧美一区二区 | 欧美最新另类人妖 | 欧美亚洲精品一区 | 免费观看丰满少妇做爰 | 人人爽人人乐 | 天无日天天操天天干 | 国产精品第二十页 | 天天操天天射天天添 | 久久九九国产精品 | 日韩在线视频网址 | 成人在线你懂得 | 在线免费视频a | 亚洲精品乱码久久久久久9色 | 午夜精品一区二区三区免费 | 精品国产免费人成在线观看 | 麻豆 free xxxx movies hd | 黄污在线观看 | 国产打女人屁股调教97 | 欧美伦理电影一区二区 | 精品 激情 | 日韩免费久久 | 色噜噜噜 | 人人插人人玩 | 国语自产偷拍精品视频偷 | 国产精品视频免费观看 | 在线观看色网站 | 天天看天天干 | 中文字幕av免费在线观看 | 国产91aaa| 91女神的呻吟细腰翘臀美女 | 亚洲国产欧美在线看片xxoo | 美女久久网站 | mm1313亚洲精品国产 | 国产亚洲人成网站在线观看 | 成年人国产视频 | 国产一级免费观看 | 99久久国产免费,99久久国产免费大片 | 特级黄色视频毛片 | 免费在线观看国产精品 | 亚洲一区 av | 亚洲精品国产电影 | 亚洲91av| 亚洲精品tv| 黄色av大片 | 夜色资源站国产www在线视频 | 精品在线观看一区二区 | 五月丁色 | 亚洲精品欧美成人 | 天天操福利视频 | 亚洲天堂精品视频在线观看 | 欧美成人精品三级在线观看播放 | 久久午夜影视 | 色综合天天射 | 天天干,天天操 | 欧美国产精品久久久久久免费 | 欧美另类重口 | 成年人在线看片 | 久操中文字幕在线观看 | 91福利视频久久久久 | 五月天狠狠操 | 在线免费视频你懂的 | 国产精品精品久久久久久 | 国产免费国产 | 日韩电影在线观看一区二区 | 日本在线视频网址 | 免费看黄网站在线 | 亚洲精品男女 | 97av精品 | 国产区免费在线 | 国产剧情一区 | 色香com. | 欧美精品免费在线 | 国产亚洲资源 | 日韩在线观看第一页 | 欧美日韩国产一区 | 久久久久久久久久网站 | 亚洲视频一区二区三区在线观看 | 最新国产在线观看 | 精品久久久久久一区二区里番 | 99久久精品免费一区 | 91视频电影 | 91刺激视频 | 国产自偷自拍 | 黄色免费在线视频 | 国模精品一区二区三区 | 精品国产乱码久久久久 | 久草在线免费看视频 | 国产亚洲免费的视频看 | 国产精品一区二区三区四 | 日本黄色a级大片 | 亚洲国产成人高清精品 | 国产成人精品av在线 | 一级国产视频 | 国产不卡网站 | 综合成人在线 | 亚洲最新合集 | 久久国产综合视频 | 国产成人精品一区二区在线 | 97精品久久人人爽人人爽 | 久久精久久精 | 午夜免费久久看 | 精品一区二区在线播放 | 国产午夜在线观看视频 | 欧洲精品码一区二区三区免费看 | 日韩激情网| 国产香蕉视频在线播放 | 六月天综合网 | 怡红院成人在线 | 91精品国产91久久久久福利 | 91av免费在线观看 | 久久久www成人免费精品张筱雨 | 99在线免费观看视频 | 国产第一页在线播放 | 青青五月天 | 超碰在线国产 | 综合精品在线 | 久久艹中文字幕 | 国产精品理论在线观看 | 综合国产在线 | 亚洲成人精品久久 | 久久av福利 | av黄色在线 | 久久综合九色欧美综合狠狠 | 国产精品乱码久久 | 亚洲性xxxx| 一区二区三区在线观看免费视频 | 在线观看aa | 精品国产一区在线观看 | 一区三区在线欧 | 免费在线黄 | 欧美va天堂在线电影 | 久久亚洲欧美日韩精品专区 | 可以免费观看的av片 | 九色视频网址 | 精品v亚洲v欧美v高清v | 婷婷六月天天 | 麻花传媒mv免费观看 | 国产精品久久久久久久av大片 | 天天干天天干天天操 | 国产三级在线播放 | 日韩国产精品久久久久久亚洲 | 国产精品久久久久国产精品日日 | 在线观看91久久久久久 | 日日夜夜精品视频天天综合网 | 中文字幕乱码在线播放 | 最新av在线网站 | 日本精品久久久久影院 | 91看成人 | 日韩av片在线 | 亚洲天天在线日亚洲洲精 | 久草国产在线 | 人人要人人澡人人爽人人dvd | 国产一区二区久久久久 | 韩日三级在线 | 久久精品999| 午夜精品视频福利 | 日日爽视频 | 精品国产一区二区三区四 | 久久综合精品国产一区二区三区 | 中文字幕2021| 久久97视频| 婷婷丁香久久五月婷婷 | 又黄又刺激又爽的视频 | 天天天天天天操 | 青草视频在线 | 日韩欧美高清 | 国产精品一区二区三区在线 | 黄av免费| 免费看污黄网站 | 友田真希av| 六月丁香在线观看 | 国产精品专区在线 | 超碰人人草人人 | 美女视频久久久 | 一本一本久久aa综合精品 | 丝袜美女在线观看 | 免费看黄色毛片 | 天天色天天艹 | 中文资源在线官网 | 国产91九色蝌蚪 | 成人午夜精品久久久久久久3d | 色综合久久久久综合体 | 99免费在线观看 | 亚洲欧洲精品一区二区 | 二区三区在线视频 | avove黑丝 | 日韩中文三级 | 天天爱综合 | 人人干人人搞 | 在线观看亚洲精品视频 | 91网在线看 | 国产色a在线观看 | 香蕉在线播放 | 伊人亚洲精品 | 欧美在一区 | 日韩精品无 | 免费国产在线精品 | 久久这里只精品 | 日韩在线观看视频一区二区三区 | 久久婷婷久久 | 911香蕉| 久草视频在线新免费 | 亚洲精品乱码久久久久久蜜桃91 | 国产一级片在线播放 | 狠狠做深爱婷婷综合一区 | 在线观看韩国av | 国产精品亚州 | 日韩综合在线观看 | 中文字幕亚洲国产 | 97精品国产97久久久久久免费 | 亚洲 欧美 91 | 精品国产自在精品国产精野外直播 | 久草免费在线视频 | 中文字幕色综合网 | 午夜精品久久 | 国产日韩一区在线 | 久久99久久精品国产 | 婷婷六月久久 | 免费色视频 | 天天干,天天草 | 国产精品久久久久久久久久久久久 | 亚洲精品九九 | 久久久一本精品99久久精品66 | 日本公乱妇视频 | 成人一区二区三区中文字幕 | 97色综合| 嫩嫩影院理论片 | 欧美日韩中文字幕在线视频 | 999电影免费在线观看 | 综合久久精品 | 国产精品一区二区三区免费视频 | 日色在线视频 | 色久五月 | 亚洲黄色成人网 | 伊人天天色 | 波多野结衣一区二区三区中文字幕 | 欧美一区二区在线免费看 | 狠狠干狠狠艹 | 婷婷久久综合九色综合 | 在线免费观看黄网站 | 伊人狠狠色丁香婷婷综合 | 2021国产视频 | 国产免费观看久久 | 亚洲人av免费网站 | 久热色超碰 | 亚洲免费在线观看视频 | 日韩欧美国产免费播放 | 天天爱天天舔 | 国产片免费在线观看视频 | 2019精品手机国产品在线 | 日三级在线| 亚洲视频第一页 | 久久久免费播放 | 久久夜色精品国产欧美乱极品 | 欧美色久 | 久久精品欧美一 | 五月天久久激情 | 日韩乱色精品一区二区 | 色吊丝av中文字幕 | 国产色影院| 69精品在线观看 | 成人午夜剧场在线观看 | 91福利影院在线观看 | 特黄免费av| 4hu视频 | 黄色国产高清 | 久久久久久美女 | 国产拍在线 | 久久久免费高清视频 | 免费看污污视频的网站 | 日韩资源视频 | 久久精品官网 | 最近中文字幕免费大全 | av手机在线播放 | a色视频 | av播放在线 | 精品亚洲免费 | 97国产视频 | 五月婷婷亚洲 | 久久综合久久综合久久综合 | 色婷婷 亚洲 | 欧美在线1 | 欧美黑吊大战白妞欧美 | zzijzzij亚洲成熟少妇 | 色网站在线 | 久久精品女人毛片国产 | 丁香网婷婷 | 国产伦精品一区二区三区照片91 | 精品国产伦一区二区三区观看方式 | 中文字幕一区二区三区久久蜜桃 | 成年人在线观看免费视频 | 福利视频一区二区 | 国产精品女人久久久 | 在线三级播放 | 国产高清在线免费视频 | 国内精品久久久久国产 | 外国av网 | 99精品国产一区二区三区麻豆 | 探花视频在线观看免费 | 久久久久久久久久国产精品 | 欧美一区免费在线观看 | 在线观看久草 | 日韩精品一区电影 | 91精品国产高清 | 国产成人一区三区 | 久久久精品久久 | 国产高清日韩欧美 | av一区二区三区在线 | 色激情在线 | 精品自拍sae8—视频 | 国产婷婷 | 久久久999| 亚洲日本激情 | 亚洲电影免费 | 欧美 日韩 性 | 久久一线 | 精品国产一区二区久久 | 欧美精品久久久久a | 久久精品99北条麻妃 | 国产在线观看午夜 | 久久综合国产伦精品免费 | 不卡视频在线看 | 黄色免费视频在线观看 | 国产精品毛片一区视频播 | av电影不卡在线 | 激情狠狠干 | 最新的av网站 | 日日弄天天弄美女bbbb | 中文字幕一区二区三区视频 | 国产 一区二区三区 在线 | 亚洲成a人片77777kkkk1在线观看 | 亚洲黄色在线观看 | 国产精品久久久久久久久久久杏吧 | 丁香在线观看完整电影视频 | 97人人模人人爽人人少妇 | 亚洲精品免费在线观看视频 | 久久一区二区三区日韩 | 九九热精 | 国产在线视频导航 | 99久久精品免费一区 | 婷婷色综合 | 亚洲精品乱码久久久久久蜜桃91 | 在线 高清 中文字幕 | 99久久婷婷| 午夜精品一区二区三区免费 | 日韩特级毛片 | 在线观看免费成人av | 色噜噜噜| 精品999在线观看 | 高清av免费一区中文字幕 | 国产黄色网 | 日本色小说视频 | 久久久色| 久久久久久久久久久久av | 国内久久精品视频 | 亚洲在线精品 | 欧美三级在线播放 | www.亚洲激情.com | 国产黄大片 | 免费看av在线 | 91免费在线视频 | 最新午夜 | 婷婷六月综合网 | 成人午夜剧场在线观看 | 亚洲三级网 | 日韩一区二区三区在线观看 | 婷婷激情欧美 | 午夜av网站 | 日韩超碰| 97精产国品一二三产区在线 | 在线播放精品一区二区三区 | 亚洲成人精品久久久 | 色婷久久 | 最近2019年日本中文免费字幕 | 中文字幕久久亚洲 | 丁香5月婷婷 | 爱爱av网站 | 中文字幕电影高清在线观看 | 91男人影院 | 国产在线精品国自产拍影院 | 麻豆国产精品一区二区三区 | 在线观看免费色 | 91精品视频免费看 | 麻豆视频www | 国产va在线观看免费 | 久久精品成人欧美大片古装 | 精品国产一区二区三区男人吃奶 | 97国产在线 | 综合久色 | 欧美另类xxx | 日本三级人妇 | 日韩欧美视频二区 | 国产无遮挡又黄又爽在线观看 | 久久网页 | 精品超碰 | 激情综合婷婷 | 在线观看国产区 | 天天爽天天爽 | 久在线观看视频 | 99久久综合狠狠综合久久 | 色综合网在线 | 在线欧美中文字幕 | 成人在线观看你懂的 | 91亚洲国产| 夜夜操网 | av电影免费在线看 | 天天爱天天操天天射 | 欧美日韩高清在线 | 免费av观看网站 | 国产精品va在线观看入 | 欧美韩国日本在线观看 | 91精品夜夜 | 91麻豆精品国产91久久久久久久久 | 日本中文字幕一二区观 | 黄色影院在线免费观看 | 婷婷激情5月天 | 日韩免费二区 | 日韩色一区二区三区 | 91亚洲精品在线观看 | 超碰人人草人人 | 久色小说| 狠狠操狠狠 | 日韩亚洲在线观看 | 91久久国产露脸精品国产闺蜜 | 欧美精品国产精品 | av资源网在线播放 | 婷婷激情综合五月天 | 国产精品 日韩精品 | 视频直播国产精品 | 久久久久国产精品www | 成人免费网站在线观看 | 国产不卡毛片 | 最近中文字幕第一页 | 国产无遮挡又黄又爽在线观看 | 四虎天堂 | 天天干天天综合 | 美女黄网久久 | 波多野结衣日韩 | 欧美一区日韩精品 | 欧美激情另类文学 | 丁香婷五月 | 久草网站在线观看 | 一区二区三区免费在线观看视频 | 插插插色综合 | 91九色视频在线播放 | 天天干天天搞天天射 | 人人爽人人干 | 亚洲免费在线播放视频 | 欧美激情精品久久 | 麻豆va一区二区三区久久浪 | 伊人射| 日韩网站免费观看 | 久久久久看片 | 日韩免费一级a毛片在线播放一级 | 日韩精品一区二区三区免费观看 | 91av在| 国产精品av久久久久久无 | 中文字幕在线观看国产 | 人人躁| 免费视频 三区 | 爱av在线网 | 伊人国产在线观看 | 色成人亚洲网 | 91亚洲精品久久久中文字幕 | 狠狠干狠狠久久 | 亚洲婷婷免费 | 亚洲精品视频在线观看免费视频 | 99中文字幕视频 | 国产一区二区中文字幕 | 日批视频在线播放 | 日本天天色 | 人人澡av | 国产精品久久久久久久久久直播 | 蜜桃视频成人在线观看 | 欧美日韩高清一区二区 国产亚洲免费看 | 欧美日韩在线精品 | 久久精品毛片 | 精品国产一区二区三区av性色 | 国产日产精品一区二区三区四区的观看方式 | 日韩av资源在线观看 | 中文字幕资源网 国产 | 国产清纯在线 | 国产精品一区二区美女视频免费看 | 日韩国产在线观看 | 亚洲播放一区 | av在线一| 五月婷婷香蕉 | 国产电影一区二区三区四区 | 国产精品久久精品国产 | 色av网站| 草久电影| 成人av在线直播 | 亚洲高清资源 | 深爱婷婷 | 日韩视频在线观看免费 | 久久人人艹 | 欧美少妇影院 | 久久综合九色九九 | 色偷偷88888欧美精品久久久 | 欧美一二在线 | 99久久夜色精品国产亚洲96 | 国产亚洲精品久久久久久网站 | 天天干天天操天天操 | 久久综合久久综合这里只有精品 | 欧美一级日韩免费不卡 | 国产专区一| 久久精品123 | 国产精品视频观看 | 色黄久久久久久 | 日本中文字幕久久 | 日日夜夜操操操操 | 久久久精品久久 | www.99久久.com | 国产成人精品免费在线观看 | 91视频中文字幕 | 西西444www大胆高清视频 | 一区二区欧美日韩 | 五月天婷亚洲天综合网鲁鲁鲁 | 免费的国产精品 | 中文字幕在线免费97 | 欧美在线视频一区二区 | freejavvideo日本免费 | 天天插狠狠干 | 中文av字幕在线观看 | 国产三级香港三韩国三级 | 91最新网址在线观看 | 久久精品免费播放 | 久久理论影院 | 亚洲一区二区精品视频 | 欧美日韩在线播放一区 | 热久久99这里有精品 | 992tv人人网tv亚洲精品 | 亚洲我射av | 日韩视频一二三区 | 日韩一区在线播放 | 日韩欧美一区二区三区免费观看 | 亚洲一区二区三区四区在线视频 | 欧美色图亚洲图片 | 亚洲视频每日更新 | av解说在线观看 | 日韩字幕 | 亚洲理论片在线观看 | 日日综合网 | 最新日韩在线观看视频 | 久久精品老司机 | 久草爱 | 乱男乱女www7788 | 国产精品女主播一区二区三区 | 国产亚洲精品久久久久久 | 99久久99热这里只有精品 | 亚洲精品视频在线观看视频 | 亚洲日本精品 | 久久99国产综合精品 | 国产一级免费在线观看 | 国产在线观看中文字幕 | 国产精品美女久久 | 久久精品高清视频 | 手机av片| 中文av网| 一级片免费观看视频 | 日韩 精品 一区 国产 麻豆 | 欧美另类美少妇69xxxx | 三级动图 | av免费电影网站 | 黄色aaaaa| 韩国av电影在线观看 | 欧美日韩在线观看视频 | 人人爽人人射 | 久久国产精品视频免费看 | 精品国产乱码久久久久久天美 | 亚洲欧美国内爽妇网 | 四虎国产精品免费 | 黄色软件大全网站 | 日日操日日插 | 国产一级片毛片 | 友田真希x88av | 亚洲精品视频第一页 | 激情大尺度视频 | 91在线视频播放 | 99se视频在线观看 | 99免费视频| 一区三区在线欧 | 国产精品国内免费一区二区三区 | 亚洲精品视频在线播放 | 丁香花五月 | 中文字幕在线日亚洲9 | 免费在线播放av电影 | 胖bbbb搡bbbb擦bbbb | 国产福利av在线 | www.com在线观看 |