• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業
    • 60秒人工響應
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    您的位置: 網站首頁 > 幫助中心>文章內容

    詳解Cassandra0.7的配置文件

    發布時間:  2012/9/3 17:40:45

    Cassandra中所有的運行配置都是在配置文件cassandra.yaml中進行配置。

    下面依次講解Cassandra中的配置項:

    cluster_name

    設置Cassandra集群的名稱。

    在Cassandra集群中,每一臺服務器都必須具備相應的集群的名稱。如果名稱不一致,則當前Cassandra服務器無法加入集群。

    initial_token

    Cassandra服務器的初始化Token值,這個值代表了Cassandra服務器在一致性哈希環中的位置。

    當Cassandra第一次啟動的時候,會從該配置項中讀取,如果留空,將隨機生成一個Token值。如果Cassandra不是第一次啟動,將從系統表中讀取該Token值。

    auto_bootstrap

    第一次啟動的時候,是否在加入Cassandra集群時從其他服務器獲取屬于本服務器的數據。

    如果當前Cassandra服務器不在seed配置選項中,并且是第一次啟動,將從Cassandra集群中其他服務器獲取屬于本服務器的數據。

    hinted_handoff_enabled

    是否開啟當前Cassandra服務器的HINT操作。

    如果開啟該功能,Cassandra服務器將緩存發送給暫時失效的其他Cassandra服務器的數據,等待失效的服務器恢復后,再將緩存的數據發送給恢復的服務器。

    authenticator

    驗證使用Cassandra的用戶是否合法,這是安全認證的第一步。

    Cassandra中定義了一系列驗證用戶的策略,可以選擇的項為:

    1.org.apache.cassandra.auth.AllowAllAuthenticator

    所有的用戶都是合法的。

    2.org.apache.cassandra.auth.SimpleAuthenticator

    合法的用戶和對應的密碼都在passwd.properties文件中定義。

    authority

    驗證該用戶是否具備操作某一個Column Family的權限,這是安全認證的第二步。

    Cassandra中定義了一系列驗證用戶權限的策略,可以選擇的項為:

    1.org.apache.cassandra.auth.AllowAllAuthority

    所有的用戶具備所有的權限。

    2.org.apache.cassandra.auth.SimpleAuthority

    合法的用戶和對應的權限都在access.properties文件中定義。

    partitioner

    Cassandra集群中數據分區的策略。

    同一個Cassandra集群中的每一臺服務器中的該配置需要一致。

    Cassandra中定義了一系列數據分區的策略,可以選擇的項為:

    1.org.apache.cassandra.dht.RandomPartitioner

    2.org.apache.cassandra.dht.ByteOrderedPartitioner

    3.org.apache.cassandra.dht.OrderPreservingPartitioner

    4.org.apache.cassandra.dht.CollatingOrderPreservingPartitioner

    data_file_directories

    SSTable文件在磁盤中的存儲位置。

    這個選項可以設置多個值,即如果服務器具有多個磁盤,可以將這幾個磁盤都指定為存儲SSTable文件的位置。如果可能,可以考慮將data_file_directories和commitlog_directory設置在不同的磁盤中,這樣有利于分散整體系統的磁盤I/O的壓力。

    commitlog_directory

    commitlog文件在磁盤中的存儲位置。

    如果可能,可以考慮將data_file_directories和commitlog_directory設置在不同的磁盤中,這樣有利于分散整體系統的磁盤I/O的壓力。

    saved_caches_directory

    數據緩存文件在磁盤中的存儲位置。

    commitlog_rotation_threshold_in_mb

    每一個commitlog文件的大小。

    commitlog_sync

    記錄commitlog的方式。

    可以選擇的項為:

    1.periodic

    周期記錄commitlog,每一次有數據更新都將操作commitlog。

    2.batch

    批量記錄commitlog,每一段時間內數據的更新將批量一次操作commitlog。

    commitlog_sync_period_in_ms

    周期記錄commitlog時,刷新commitlog文件的時間間隔。這個選項只有在commitlog_sync= periodic時才能設置。

    commitlog_sync_batch_window_in_ms

    批量記錄commitlog時,批量操作緩存的時間間隔。這個選項只有在commitlog_sync= batch

    時才能設置。

    seeds

    Cassandra集群中的種子節點地址

    這個選項可以設置多個值,即Cassandra集群中有多個種子節點。

    集群中所有的服務器在啟動的時候,都將于seed節點進行通信,從而獲取集群的相關信息。如果某一臺服務器被設置為seed節點,那么在啟動的時候,將自動加入集群,并且不會執行Bootstrap的操作,即無法從集群的其他節點中獲取相應的數據。

    disk_access_mode

    Cassandra訪問SSTable文件中的Data文件和Index文件時是否使用虛擬內存映射的形式。

    可以選擇的項為:

    1.auto

    自動選擇合適的文件訪問形式,如果是64位系統,則為mmap形式,否則為standard形式。

    2.mmap

    訪問SSTable文件中的Data文件和Index文件時,都采用虛擬內存映射的形式。

    3.mmap_index_only

    訪問SSTable文件中的Index文件時采用虛擬內存映射的形式。

    4.standard

    訪問SSTable文件中的Data文件和Index文件時,都不采用虛擬內存映射的形式。

    使用虛擬內存映射的形式訪問文件能夠加快對文件的讀寫速度,但是這是以消耗而外的內存作為代價的。所以要根據實際內存大小與文件大小來選擇合適的文件訪問方式。

    concurrent_reads

    并發讀取的線程數。

    這個選項設置得越大,Cassandra在進行讀取操作時可以使用的線程數就越多。推薦的配置為:CPU的個數*2。

    concurrent_writes

    并發寫入的線程數。

    這個選項設置得越大,Cassandra在進行寫入操作時可以使用的線程數就越多。

    memtable_flush_writers

    memtable中的數據寫入到磁盤成為SSTable文件的并發數。

    這個選項的默認配置為data_file_directories中指定的目錄的個數。

    sliced_buffer_size_in_kb

    進行范圍讀取操作時,讀取SSTable文件使用的緩存大小。

    storage_port

    Cassandra集群中服務器與服務器之間相互通信的端口號。

    listen_address

    Cassandra集群中服務器與服務器之間相互通信的地址。如果留空,將默認使用服務器的機器名。

    rpc_address

    Cassandra服務器對外提供服務的地址。如果留空,將默認使用服務器的機器名。

    rpc_port

    Cassandra服務器對外提供服務的端口號。

    rpc_keepalive

    Cassandra服務器對外提供服務連接是否一直保持。

    thrift_framed_transport_size_in_mb

    使用Thrift Frame每次傳遞的數據大小。如果該選項為0,則禁用Thrift Frame。

    thrift_max_message_length_in_mb

    使用Thrift傳遞的數據最大值。

    snapshot_before_compaction

    Cassandra在執行數據壓縮操作前,是否對需要壓縮的SSTable文件做數據快照(snapshot)。

    binary_memtable_throughput_in_mb

    binary memtable的緩存大小。

    binary memtable用于大量數據的初始化操作。

    column_index_size_in_kb

    SSTable文件中的Data文件對應Column索引的數據大小間隔。如果這個值越小,在Column索引中找到相應的值速度就越快,但是會消耗更多的內存與磁盤空間。

    in_memory_compaction_limit_in_mb

    在Cassandra執行數據壓縮時,如果某一個key對應的數據的大小超過了in_memory_compaction_limit_in_mb的限制,將采用延后壓縮的機制進行壓縮,避免使用過多的內存。

    rpc_timeout_in_ms

    如果Cassandra服務器在處理外部請求的時候,如果超過了rpc_timeout_in_ms的限制,將拋出超時異常給調用的客戶端。

    endpoint_snitch

    Cassandra集群中網絡的選擇策略。

    Cassandra中定義了一系列網絡的選擇策略,可以選擇的項為:

    1.org.apache.cassandra.locator.SimpleSnitch

    2.org.apache.cassandra.locator.RackInferringSnitch

    3.org.apache.cassandra.locator.PropertyFileSnitch

    dynamic_snitch

    是否啟用動態的節點選擇策略。啟動該選項可以在做有效地避免相應緩慢的節點。

    和這個選項相關的其他選項為:

    dynamic_snitch_update_interval_in_ms

    dynamic_snitch_reset_interval_in_ms

    dynamic_snitch_badness_threshold

    request_scheduler

    設置資源調度分配策略

    Cassandra中定義了一系列網絡的選擇策略,可以選擇的項為:

    1.org.apache.cassandra.scheduler.NoScheduler

    所有的請求分配的計算資源都是均等的。

    2.org.apache.cassandra.scheduler.RoundRobinScheduler

    對不同的Keyspace分配不同的計算資源。

    在多租戶的情況下適合使用RoundRobinScheduler。

    index_interval

    SSTable文件中的Index文件對應內存索引的數據大小間隔。如果這個值越小,在內存索引中找到相應的值速度就越快,但是會消耗更多的內存。

    keyspaces

    定義Keyspace的屬性。

    name:定義keyspace的名稱。

    replica_placement_strategy:定義數據的備份策略,可選的項為:

    1.org.apache.cassandra.locator.SimpleStrategy

    2.org.apache.cassandra.locator.OldNetworkTopologyStrategy

    3.org.apache.cassandra.locator.NetworkTopologyStrategy

    4.org.apache.cassandra.locator.LocalStrategy

    replication_factor:定義數據的備份數。

    column_families:定義Column Family的屬性

    column_type:定義Column Family的類型?梢栽O置為Super或者Standard,如果不設置,為Standard類型。

    compare_with:Column名稱的排序規則。可選的項為:

    1.AsciiType

    2.UTF8Type

    3.LexicalUUIDType

    4.TimeUUIDType

    5.LongType

    6.IntegerType

    compare_subcolumns_with:SuperColumn下的Column名稱的排序規則?蛇x的項為:

    1.AsciiType

    2.UTF8Type

    3.LexicalUUIDType

    4.TimeUUIDType

    5.LongType

    6.IntegerType

    rows_cached:row緩存的數量,可以為整數或者百分比。

    keys_cached:key緩存的數量,可以為整數或者百分比。

    row_cache_save_period_in_seconds:定義Column Family中的持久化row緩存的時間間隔,如果為0,關閉持久化row緩存功能。

    key_cache_save_period_in_seconds:定義Column Family中的持久化key緩存的時間間隔,如果為0,關閉持久化key緩存功能。

    gc_grace_seconds:定義Column Family中數據標記為刪除后到真正進行物理刪除的時間間隔,如果不設置,默認為10天(864000秒)。

    memtable_flush_after_mins:定義Column Family中memtable最大的生存時間。

    memtable_throughput_in_mb:定義Column Family中memtable最大緩存的數據大小。

    memtable_operations_in_millions:定義Column Family中memtable最大緩存的數據條數。

    min_compaction_threshold:定義Column Family中執行數據壓縮的最小SSTable文件數。

    max_compaction_threshold:定義Column Family中執行數據壓縮的最大SSTable文件數。

    default_validation_class:定義Column Family中默認校驗值的類型規則。可選的項為:

    1.AsciiType

    2.UTF8Type

    3.LexicalUUIDType

    4.TimeUUIDType

    5.LongType

    6.IntegerType

    column_metadata:定義二級索引的屬性。

    name:定義需要進行二級索引的Column名稱。

    validator_class:定義Column Family中校驗值的類型規則。可選的項為:

    1.AsciiType

    2.UTF8Type

    3.LexicalUUIDType

    4.TimeUUIDType

    5.LongType

    6.IntegerType

    index_type:定義二級索引的類型,目前支持的選項為:KEYS


    本文出自:億恩科技【www.vbseamall.com】

    服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線