多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > 數(shù)據(jù)庫 > 數(shù)據(jù)庫應(yīng)用 > cassandra 3.x官方文檔(5)---探測器

cassandra 3.x官方文檔(5)---探測器

來源:程序員人生   發(fā)布時間:2017-04-08 13:22:22 閱讀次數(shù):7430次

寫在前面

cassandra3.x官方文檔的非官方翻譯。翻譯內(nèi)容水平全依賴本人英文水平和對cassandra的理解。所以強(qiáng)烈建議瀏覽英文版cassandra 3.x 官方文檔。此文檔1半是翻譯,1半是個人對cassandra的認(rèn)知。盡可能將我的理解通過援用的方式標(biāo)注,以示區(qū)分。另外文檔翻譯是項(xiàng)長時間并有挑戰(zhàn)的工作,如果你愿意加入cassandra git book,可以發(fā)信給我。固然你也能夠加入我們的QQ群,104822562。1起學(xué)習(xí)探討cassandra.

摘要
探測器決定了數(shù)據(jù)中心和機(jī)架節(jié)點(diǎn)的歸屬。他們將網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)告知給Cassandra,因此要求可以比較高效的進(jìn)行路由允許Cassandra通過將機(jī)器依照數(shù)據(jù)中心和機(jī)架進(jìn)行分組從而分發(fā)副本。具體來講,復(fù)制策略基于新的探測器提供的信息放置副本。所有的節(jié)點(diǎn)必須返回相同的機(jī)架和數(shù)據(jù)中心信息。Cassandra 盡其所能,不將多個副本放在同1個機(jī)架上。(這不1定指代物理位置)

Note: 如果你更改探測器,你可能需要履行額外的步驟,由于探測器會影響副本放置。詳情查看更換探測器

1.動態(tài)探測

默許情況下,所有的探測器通過1個動態(tài)探測層來監(jiān)控讀延遲,盡量不將要求路由到性能差的節(jié)點(diǎn)上。動態(tài)探測默許情況下是被啟動的,同時也是適用于大多數(shù)的部署。想看看他是如何工作的,可以查看http://www.datastax.com/dev/blog/dynamic-snitching-in-cassandra-past-present-and-future.可以cassandra.yaml文件中為每一個節(jié)點(diǎn)配置動態(tài)探測閾值。

更多詳細(xì)的內(nèi)容,可以查看http://docs.datastax.com/en/cassandra/3.0/cassandra/architecture/archDataDistributeFailDetect.html列出的屬性

2.簡單探測

SimpleSnitch(默許值)只適用于單數(shù)據(jù)中心的部署。它不能辨認(rèn)數(shù)據(jù)中心或機(jī)架信息,且只可以用于單數(shù)據(jù)中心的部署或公有云的單地區(qū)。它將策略的順序作為距離,可以提高緩存當(dāng)禁掉讀修復(fù)。

使用簡單探測器時,在定義keyspace的時候,使用SimpleStrategy,然后指定1個復(fù)制因子。

3.RackInferringSnitch

RackInferringSnitch 通過機(jī)架和數(shù)據(jù)中心來決定節(jié)點(diǎn)的距離,分別和節(jié)點(diǎn)ip地址的第3位、第2位對應(yīng)。這個探測器時用來寫自定義探測器最好的例子。(除非這正好匹配你的部署協(xié)議)

注:

這個探測器實(shí)現(xiàn)起來非常粗魯,就是取ip
public String getRack(InetAddress endpoint)
{
return Integer.toString(endpoint.getAddress()[2] & 0xFF, 10);
}

4.PropertyFileSnitch

這個探測器通過機(jī)架和數(shù)據(jù)中心來決定節(jié)點(diǎn)的距離。使用cassandra-topology.properties 文件中定義的網(wǎng)絡(luò)拓?fù)浼?xì)節(jié)。當(dāng)使用這個探測器可以將數(shù)據(jù)中心的名字定義為任何你想要的。確保定義keyspace時指定的名字和這邊定義的1樣。集群中的每一個節(jié)點(diǎn)都應(yīng)當(dāng)在cassandra-topology.properties文件中定義。而且集群中的每一個節(jié)點(diǎn)這個文件都應(yīng)當(dāng)1樣。

進(jìn)程

如果你的節(jié)點(diǎn)有有不1樣ip,集群中有兩個物理數(shù)據(jù)中心每一個數(shù)據(jù)中心都有兩個機(jī)架。第3個邏輯數(shù)據(jù)中心用來復(fù)制分析數(shù)據(jù)。配置文件可能看起來像下面這樣:

Note: 數(shù)據(jù)中心和機(jī)架的名字是大小寫敏感的.

# datacenter One

175.56.12.105=DC1:RAC1
175.50.13.200=DC1:RAC1
175.54.35.197=DC1:RAC1

120.53.24.101=DC1:RAC2
120.55.16.200=DC1:RAC2
120.57.102.103=DC1:RAC2

# datacenter Two

110.56.12.120=DC2:RAC1
110.50.13.201=DC2:RAC1
110.54.35.184=DC2:RAC1

50.33.23.120=DC2:RAC2
50.45.14.220=DC2:RAC2
50.17.10.203=DC2:RAC2

# Analytics Replication Group

172.106.12.120=DC3:RAC1
172.106.12.121=DC3:RAC1
172.106.12.122=DC3:RAC1

# default for unknown nodes 
default =DC3:RAC1

注:

這類配置方式應(yīng)當(dāng)是比較常見的方式,筆者也常常這么干。清晰明了,簡單易懂。唯1的問題在于進(jìn)行節(jié)點(diǎn)擴(kuò)大時,需要更新所有的節(jié)點(diǎn)上此配置文件。不過不用重啟節(jié)點(diǎn)令配置生效。默許刷新的時間是5s

 org.apache.cassandra.locator.PropertyFileSnitch
 private static final int DEFAULT_REFRESH_PERIOD_IN_SECONDS = 5;

5.Ec2Snitch

集群中的所有節(jié)點(diǎn)都在1個地區(qū),這類簡單的集群部署在Amazon EC2可使用Ec2Snitch方法。

在EC2上的部署,地區(qū)(region)的名字作為數(shù)據(jù)中心的名字。區(qū)域(zones)被當(dāng)作數(shù)據(jù)中心中的機(jī)架。例如,如果1個節(jié)點(diǎn)在us-east⑴區(qū)域,us-east是數(shù)據(jù)中心的名字,1是機(jī)架的位置。(機(jī)架對分發(fā)副本很重要,而不是為了數(shù)據(jù)中心的命名)由于使用的是私有IPs,所以探測器沒法跨地區(qū)。

如果你只使用單數(shù)據(jù)中心,不需要指定任何的屬性。

如果使用多數(shù)據(jù)中心,需要在cassandra-rackdc.properties配置文件中設(shè)置dc_suffix選項(xiàng)。其他行會被疏忽。

例如,us-east地區(qū)的每一個節(jié)點(diǎn),在cassandra-rackdc.properties文件中指定數(shù)據(jù)中心。

Note: 數(shù)據(jù)中心名字是大小寫敏感的

  • node0

    dc_suffix=_1_cassandra

  • node1

    dc_suffix=_1_cassandra

  • node2

    dc_suffix=_1_cassandra

  • node3

    dc_suffix=_1_cassandra

  • node4

    dc_suffix=_1_analytics

  • node5

    dc_suffix=_1_search

這樣會為該地區(qū)生成3個數(shù)據(jù)中心

us-east_1_cassandra
us-east_1_analytics
us-east_1_search

Note: 在這個例子中,數(shù)據(jù)中心命名習(xí)慣是根據(jù)負(fù)載性質(zhì)來定的。你可使用其他的規(guī)范,如DC1,DC2,100,200.

Keyspace Strategy 選項(xiàng)

當(dāng)定義keyspace strategy 選項(xiàng),使用EC 地區(qū)名字,如’us-east’作為數(shù)據(jù)中心的名字

注:

亞馬遜是云主機(jī),提供給用戶的只有region 和zone的概念。分別對應(yīng)著cassandra的數(shù)據(jù)中心和機(jī)架,確保數(shù)據(jù)不會被放在1起。可以在AWS regions`查看regions信息。

6.Ec2MultiRegionSnitch

當(dāng)在Amazon EC2中的cassandra集群需要跨多地區(qū)的時候,使用Ec2MultiRegionSnitch。

當(dāng)使用Ec2MultiRegionSnitch時,必須要在cassandra.yaml文件和屬性文件cassandra-rackdc.properties中配置設(shè)置。

cassandra.yaml文件配置跨區(qū)域通訊

Ec2MultiRegionSnitch 指定broadcast_address值為public IP,以此來允許跨地區(qū)的連接。將每一個節(jié)點(diǎn)配置以下:

  1. 在cassandra.yaml文件,設(shè)置listen_address 為節(jié)點(diǎn)的私有IP地址,broadcast_address設(shè)置為節(jié)點(diǎn)的public IP.

這樣可使得在EC2 某個region的Cassandra 節(jié)點(diǎn)可以綁定到另外的region,從而支持了多數(shù)據(jù)中心。對region內(nèi)部的流量,Cassandra會切換到private IP建立連接。

  1. 在cassandra.yaml文件中設(shè)置seed nodes為public IP.私有IP不會再網(wǎng)絡(luò)間被路由到。如:

    seeds: 50.34.16.33, 60.247.70.52

對EC2中每個seed nodes,可以通過下面指令找到public IP 地址

`curl http://instance-data/latest/meta-data/public-ipv4`

Note:不要講所有的節(jié)點(diǎn)都作為seeds,具體查看gossip

  1. 確保 storage_port(7000)或ssl_storage_port(7001)沒有被防火墻屏蔽

配置snitch跨地區(qū)通訊

在EC2部署,地區(qū)(region)的名字作為數(shù)據(jù)中心的名字。區(qū)域(zones)被當(dāng)作數(shù)據(jù)中心中的機(jī)架。例如,如果1個節(jié)點(diǎn)在us-east⑴區(qū)域,us-east是數(shù)據(jù)中心的名字,1是機(jī)架的位置。(機(jī)架對分發(fā)副本很重要,而不是為了數(shù)據(jù)中心的命名)

對每一個節(jié)點(diǎn),需要在cassandra-rackdc.properties文件中指定它的數(shù)據(jù)中心。dc_suffix 選項(xiàng)定力了snitch將用到的數(shù)據(jù)中心。其他行會被疏忽。

在下面的例子中,這兒有兩個cassandra數(shù)據(jù)中心,每一個數(shù)據(jù)中心根據(jù)負(fù)載命名。在這個例子中,數(shù)據(jù)中心命名習(xí)慣是根據(jù)負(fù)載性質(zhì)來定的。你可使用其他的規(guī)范,如DC1,DC2,100,200.(數(shù)據(jù)中心的名字大小寫敏感)

Region: us-east Region: us-west
Node and datacenter:
  • node0

    dc_suffix=_1_cassandra

  • node1

    dc_suffix=_1_cassandra

  • node2

    dc_suffix=_2_cassandra

  • node3

    dc_suffix=_2_cassandra

  • node4

    dc_suffix=_1_analytics

  • node5

    dc_suffix=_1_search

This results in four us-east datacenters:
us-east_1_cassandra
us-east_2_cassandra
us-east_1_analytics
us-east_1_search
Node and datacenter:
  • node0

    dc_suffix=_1_cassandra

  • node1

    dc_suffix=_1_cassandra

  • node2

    dc_suffix=_2_cassandra

  • node3

    dc_suffix=_2_cassandra

  • node4

    dc_suffix=_1_analytics

  • node5

    dc_suffix=_1_search

This results in four us-west datacenters:
us-west_1_cassandra
us-west_2_cassandra
us-west_1_analytics
us-west_1_search

Keyspace Strategy 選項(xiàng)

當(dāng)定義keyspace strategy 選項(xiàng),使用EC 地區(qū)名字,如’us-east’作為數(shù)據(jù)中心的名字。

相干的信息
[install locationl](http://docs.datastax.com/en/cassandra/3.0/cassandra/install/referenceInstallLocationsTOC.html)
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 久久精品国产69国产精品亚洲 | 女人18一级毛片免费观看 | 日韩精品一区二区三区高清 | 美女无遮挡免费视频观看网站 | 日韩欧美视频一区二区在线观看 | 国产专区自拍 | 综合激情区视频一区视频二区 | 大香伊在人线免费 | baoyu116.永久免费网站 | 久久爱伊人 | 亚洲欧洲日产国码在线观看 | 国产日韩亚洲欧美 | 一级女人毛片人一女人 | 亚洲成aⅴ人片在线影院八 亚洲成aⅴ人在线观看 | 一级毛片一级毛片一级毛片一级毛片 | 一区二区在线欧美日韩中文 | 亚洲综合在线网 | 在线免费观看h视频 | 成人午夜在线观看 | 色综合久久综合欧美综合网 | 欧美视频一区在线 | 国产欧美亚洲三区久在线观看 | 久久久久久国产精品免费免 | 精品成人一区二区三区免费视频 | 亚洲日本中文字幕天堂网 | 在线观看亚洲 | 亚洲爱爱视频 | 欧美人成片免费看视频不卡 | 国产午夜亚洲精品久久999 | 伊人久久综合成人网小说 | jizz18高清视频 | 亚洲国产精品高清在线一区 | 精品一区二区三区亚洲 | 中文字幕视频在线免费观看 | 日韩理论在线播放 | 伊人亚洲 | 欧美性色综合网 | 99heicom视频 | 欧美 xx性 在线 | 我的奶好大想被男人吃奶 | 精品久久久中文字幕一区 |