日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > 數據庫應用 > cassandra 3.x官方文檔(5)---探測器

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

來源:程序員人生   發布時間:2017-04-08 13:22:22 閱讀次數:7440次

寫在前面

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

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

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

1.動態探測

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

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

2.簡單探測

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

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

3.RackInferringSnitch

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

注:

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

4.PropertyFileSnitch

這個探測器通過機架和數據中心來決定節點的距離。使用cassandra-topology.properties 文件中定義的網絡拓撲細節。當使用這個探測器可以將數據中心的名字定義為任何你想要的。確保定義keyspace時指定的名字和這邊定義的1樣。集群中的每一個節點都應當在cassandra-topology.properties文件中定義。而且集群中的每一個節點這個文件都應當1樣。

進程

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

Note: 數據中心和機架的名字是大小寫敏感的.

# 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

注:

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

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

5.Ec2Snitch

集群中的所有節點都在1個地區,這類簡單的集群部署在Amazon EC2可使用Ec2Snitch方法。

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

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

如果使用多數據中心,需要在cassandra-rackdc.properties配置文件中設置dc_suffix選項。其他行會被疏忽。

例如,us-east地區的每一個節點,在cassandra-rackdc.properties文件中指定數據中心。

Note: 數據中心名字是大小寫敏感的

  • 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

這樣會為該地區生成3個數據中心

us-east_1_cassandra
us-east_1_analytics
us-east_1_search

Note: 在這個例子中,數據中心命名習慣是根據負載性質來定的。你可使用其他的規范,如DC1,DC2,100,200.

Keyspace Strategy 選項

當定義keyspace strategy 選項,使用EC 地區名字,如’us-east’作為數據中心的名字

注:

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

6.Ec2MultiRegionSnitch

當在Amazon EC2中的cassandra集群需要跨多地區的時候,使用Ec2MultiRegionSnitch。

當使用Ec2MultiRegionSnitch時,必須要在cassandra.yaml文件和屬性文件cassandra-rackdc.properties中配置設置。

cassandra.yaml文件配置跨區域通訊

Ec2MultiRegionSnitch 指定broadcast_address值為public IP,以此來允許跨地區的連接。將每一個節點配置以下:

  1. 在cassandra.yaml文件,設置listen_address 為節點的私有IP地址,broadcast_address設置為節點的public IP.

這樣可使得在EC2 某個region的Cassandra 節點可以綁定到另外的region,從而支持了多數據中心。對region內部的流量,Cassandra會切換到private IP建立連接。

  1. 在cassandra.yaml文件中設置seed nodes為public IP.私有IP不會再網絡間被路由到。如:

    seeds: 50.34.16.33, 60.247.70.52

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

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

Note:不要講所有的節點都作為seeds,具體查看gossip

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

配置snitch跨地區通訊

在EC2部署,地區(region)的名字作為數據中心的名字。區域(zones)被當作數據中心中的機架。例如,如果1個節點在us-east⑴區域,us-east是數據中心的名字,1是機架的位置。(機架對分發副本很重要,而不是為了數據中心的命名)

對每一個節點,需要在cassandra-rackdc.properties文件中指定它的數據中心。dc_suffix 選項定力了snitch將用到的數據中心。其他行會被疏忽。

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

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 選項

當定義keyspace strategy 選項,使用EC 地區名字,如’us-east’作為數據中心的名字。

相干的信息
[install locationl](http://docs.datastax.com/en/cassandra/3.0/cassandra/install/referenceInstallLocationsTOC.html)
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产国语av | 国产精品99久久 | 成人精品一区二区三区视频播放 | 国产精品久久久影院 | 久久久久久一区二区三区四区别墅 | 色综合色综合 | 欧美精品一区二区三区一线天视频 | 日韩1区 | 91精品国产综合久久久亚洲 | 99久久精品国产免费看不卡 | 欧美激情综合五月色丁香小说 | 亚洲最新在线 | 天天摸天天操 | 艳妇臀荡乳欲伦小说小强 | 国产精品视频123 | 国产欧美精品一区二区色综合 | 国产a网| 久久久精选 | 精品国产精品国产 | 免费成人在线看 | 免费国产一区二区 | 色电影在线 | 99久久国 | 欧美一区二区三区在线观看视频 | 日韩国产成人 | 麻豆传媒免费观看 | 一区二区三区四区国产精品 | 精品一区二区在线播放 | 美女日韩一区 | 免费在线观看av片 | 午夜免费视频 | 亚洲精品免费看 | 日韩精品在线免费观看 | 少妇精品亚洲一区二区成人 | 亚洲国产午夜 | 日韩中文字幕精品 | 欧美一级大片 | 国产成人一区二区三区 | 日韩在线视频免费观看 | 亚洲综合第一页 | 久久久久久成人 |