Advertisement
Guest User

Untitled

a guest
Oct 25th, 2013
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 34.46 KB | None | 0 0
  1. # Cassandra storage config YAML
  2.  
  3. # NOTE:
  4. # See http://wiki.apache.org/cassandra/StorageConfiguration for
  5. # full explanations of configuration directives
  6. # /NOTE
  7.  
  8. # The name of the cluster. This is mainly used to prevent machines in
  9. # one logical cluster from joining another.
  10. cluster_name: 'DSECluster'
  11.  
  12. # This defines the number of tokens randomly assigned to this node on the ring
  13. # The more tokens, relative to other nodes, the larger the proportion of data
  14. # that this node will store. You probably want all nodes to have the same number
  15. # of tokens assuming they have equal hardware capability.
  16. #
  17. # If you leave this unspecified, Cassandra will use the default of 1 token for legacy compatibility,
  18. # and will use the initial_token as described below.
  19. #
  20. # Specifying initial_token will override this setting.
  21. #
  22. # If you already have a cluster with 1 token per node, and wish to migrate to
  23. # multiple tokens per node, see http://wiki.apache.org/cassandra/Operations
  24. num_tokens: 256
  25.  
  26. # If you haven't specified num_tokens, or have set it to the default of 1 then
  27. # you should always specify InitialToken when setting up a production
  28. # cluster for the first time, and often when adding capacity later.
  29. # The principle is that each node should be given an equal slice of
  30. # the token ring; see http://wiki.apache.org/cassandra/Operations
  31. # for more details.
  32. #
  33. # If blank, Cassandra will request a token bisecting the range of
  34. # the heaviest-loaded existing node. If there is no load information
  35. # available, such as is the case with a new cluster, it will pick
  36. # a random token, which will lead to hot spots.
  37. initial_token:
  38.  
  39. # See http://wiki.apache.org/cassandra/HintedHandoff
  40. hinted_handoff_enabled: true
  41. # this defines the maximum amount of time a dead host will have hints
  42. # generated. After it has been dead this long, new hints for it will not be
  43. # created until it has been seen alive and gone down again.
  44. max_hint_window_in_ms: 10800000 # 3 hours
  45. # Maximum throttle in KBs per second, per delivery thread. This will be
  46. # reduced proportionally to the number of nodes in the cluster. (If there
  47. # are two nodes in the cluster, each delivery thread will use the maximum
  48. # rate; if there are three, each will throttle to half of the maximum,
  49. # since we expect two nodes to be delivering hints simultaneously.)
  50. hinted_handoff_throttle_in_kb: 1024
  51. # Number of threads with which to deliver hints;
  52. # Consider increasing this number when you have multi-dc deployments, since
  53. # cross-dc handoff tends to be slower
  54. max_hints_delivery_threads: 2
  55.  
  56. # The following setting populates the page cache on memtable flush and compaction
  57. # WARNING: Enable this setting only when the whole node's data fits in memory.
  58. # Defaults to: false
  59. # populate_io_cache_on_flush: false
  60.  
  61. # Authentication backend, implementing IAuthenticator; used to identify users
  62. # Out of the box, Cassandra provides org.apache.cassandra.auth.{AllowAllAuthenticator,
  63. # PasswordAuthenticator}. In previous versions, DSE added a custom
  64. # PasswordAuthenticator which is now deprecated & should only be specified here
  65. # during the upgrade from 3.0 -> 3.1
  66. # DSE also provides a Kerberos authenticator for external authentication.
  67. #
  68. # - org.apache.cassandra.auth.AllowAllAuthenticator
  69. # Performs no checks & so effectively disables authentication.
  70. # - org.apache.cassandra.auth.PasswordAuthenticator
  71. # Uses the system_auth.credentials table to store usernames and
  72. # hashed passwords. Use this if password authentication is being
  73. # enabled for the first time in 3.1 or if you have already
  74. # completed the upgrade from 3.0 using the com.datastax version.
  75. # Please increase system_auth keyspace replication factor from
  76. # the default if you use this authenticator.
  77. # - com.datastax.bdp.cassandra.auth.PasswordAuthenticator
  78. # If this password authentication is in use in an existing DSE 3.0,
  79. # cluster this authenticator should remain in use during the
  80. # upgrade to DSE 3.1, but then should be immediately replaced with
  81. # the org.apache version
  82. # - com.datastax.bdp.cassandra.auth.KerberosAuthenticator
  83. # For external authentication through Kerberos. Additional
  84. # configuration is required in dse.yaml
  85. authenticator: org.apache.cassandra.auth.AllowAllAuthenticator
  86. #authenticator: org.apache.cassandra.auth.PasswordAuthenticator
  87. #authenticator: com.datastax.bdp.cassandra.auth.PasswordAuthenticator
  88. #authenticator: com.datastax.bdp.cassandra.auth.KerberosAuthenticator
  89.  
  90. # Authorization backend, implementing IAuthorizer; used to limit access/provide permissions
  91. # Out of the box, Cassandra provides org.apache.cassandra.auth.{AllowAllAuthorizer,
  92. # CassandraAuthorizer}.
  93. #
  94. # - AllowAllAuthorizer allows any action to any user - set it to disable authorization.
  95. # - org.apache.cassandra.auth.CassandraAuthorizer stores permissions in system_auth.permissions table. Please
  96. # increase system_auth keyspace replication factor if you use this authorizer.
  97. # - com.datastax.bdp.cassandra.auth.CassandraAuthorizer to be used only during the upgrade
  98. # from DSE 3.0 to 3.1. Once the upgrade is complete, please use the org.apache
  99. # implementation.
  100. authorizer: org.apache.cassandra.auth.AllowAllAuthorizer
  101. #authorizer: org.apache.cassandra.auth.CassandraAuthorizer
  102. #authorizer: com.datastax.bdp.cassandra.auth.CassandraAuthorizer
  103.  
  104. # Validity period for permissions cache (fetching permissions can be an
  105. # expensive operation depending on the authorizer, CassandraAuthorizer is
  106. # one example). Defaults to 2000, set to 0 to disable.
  107. # Will be disabled automatically for AllowAllAuthorizer.
  108. permissions_validity_in_ms: 2000
  109.  
  110. # Replication strategy to use for the auth keyspace.
  111. # Following an upgrade from DSE 3.0 to 3.1, this should be removed
  112. auth_replication_strategy: org.apache.cassandra.locator.SimpleStrategy
  113.  
  114. # Replication options to use for the auth keyspace.
  115. # Following an upgrade from DSE 3.0 to 3.1, this should be removed
  116. #auth_replication_options:
  117. # replication_factor: 1
  118.  
  119. # The partitioner is responsible for distributing rows (by key) across
  120. # nodes in the cluster. Any IPartitioner may be used, including your
  121. # own as long as it is on the classpath. Out of the box, Cassandra
  122. # provides org.apache.cassandra.dht.{Murmur3Partitioner, RandomPartitioner
  123. # ByteOrderedPartitioner, OrderPreservingPartitioner (deprecated)}.
  124. #
  125. # - RandomPartitioner distributes rows across the cluster evenly by md5.
  126. # This is the default prior to 1.2 and is retained for compatibility.
  127. # - Murmur3Partitioner is similar to RandomPartioner but uses Murmur3_128
  128. # Hash Function instead of md5. When in doubt, this is the best option.
  129. # - ByteOrderedPartitioner orders rows lexically by key bytes. BOP allows
  130. # scanning rows in key order, but the ordering can generate hot spots
  131. # for sequential insertion workloads.
  132. # - OrderPreservingPartitioner is an obsolete form of BOP, that stores
  133. # - keys in a less-efficient format and only works with keys that are
  134. # UTF8-encoded Strings.
  135. # - CollatingOPP collates according to EN,US rules rather than lexical byte
  136. # ordering. Use this as an example if you need custom collation.
  137. #
  138. # See http://wiki.apache.org/cassandra/Operations for more on
  139. # partitioners and token selection.
  140. partitioner: org.apache.cassandra.dht.Murmur3Partitioner
  141.  
  142. # Directories where Cassandra should store data on disk. Cassandra
  143. # will spread data evenly across them, subject to the granularity of
  144. # the configured compaction strategy.
  145. data_file_directories:
  146. - /var/lib/cassandra/data
  147.  
  148. # commit log
  149. commitlog_directory: /var/lib/cassandra/commitlog
  150.  
  151. # policy for data disk failures:
  152. # stop: shut down gossip and Thrift, leaving the node effectively dead, but
  153. # can still be inspected via JMX.
  154. # best_effort: stop using the failed disk and respond to requests based on
  155. # remaining available sstables. This means you WILL see obsolete
  156. # data at CL.ONE!
  157. # ignore: ignore fatal errors and let requests fail, as in pre-1.2 Cassandra
  158. disk_failure_policy: stop
  159.  
  160. # Maximum size of the key cache in memory.
  161. #
  162. # Each key cache hit saves 1 seek and each row cache hit saves 2 seeks at the
  163. # minimum, sometimes more. The key cache is fairly tiny for the amount of
  164. # time it saves, so it's worthwhile to use it at large numbers.
  165. # The row cache saves even more time, but must contain the entire row,
  166. # so it is extremely space-intensive. It's best to only use the
  167. # row cache if you have hot rows or static rows.
  168. #
  169. # NOTE: if you reduce the size, you may not get you hottest keys loaded on startup.
  170. #
  171. # Default value is empty to make it "auto" (min(5% of Heap (in MB), 100MB)). Set to 0 to disable key cache.
  172. key_cache_size_in_mb:
  173.  
  174. # Duration in seconds after which Cassandra should
  175. # save the key cache. Caches are saved to saved_caches_directory as
  176. # specified in this configuration file.
  177. #
  178. # Saved caches greatly improve cold-start speeds, and is relatively cheap in
  179. # terms of I/O for the key cache. Row cache saving is much more expensive and
  180. # has limited use.
  181. #
  182. # Default is 14400 or 4 hours.
  183. key_cache_save_period: 14400
  184.  
  185. # Number of keys from the key cache to save
  186. # Disabled by default, meaning all keys are going to be saved
  187. # key_cache_keys_to_save: 100
  188.  
  189. # Maximum size of the row cache in memory.
  190. # NOTE: if you reduce the size, you may not get you hottest keys loaded on startup.
  191. #
  192. # Default value is 0, to disable row caching.
  193. row_cache_size_in_mb: 0
  194.  
  195. # Duration in seconds after which Cassandra should
  196. # safe the row cache. Caches are saved to saved_caches_directory as specified
  197. # in this configuration file.
  198. #
  199. # Saved caches greatly improve cold-start speeds, and is relatively cheap in
  200. # terms of I/O for the key cache. Row cache saving is much more expensive and
  201. # has limited use.
  202. #
  203. # Default is 0 to disable saving the row cache.
  204. row_cache_save_period: 0
  205.  
  206. # Number of keys from the row cache to save
  207. # Disabled by default, meaning all keys are going to be saved
  208. # row_cache_keys_to_save: 100
  209.  
  210. # The provider for the row cache to use.
  211. #
  212. # Supported values are: ConcurrentLinkedHashCacheProvider, SerializingCacheProvider
  213. #
  214. # SerializingCacheProvider serialises the contents of the row and stores
  215. # it in native memory, i.e., off the JVM Heap. Serialized rows take
  216. # significantly less memory than "live" rows in the JVM, so you can cache
  217. # more rows in a given memory footprint. And storing the cache off-heap
  218. # means you can use smaller heap sizes, reducing the impact of GC pauses.
  219. # Note however that when a row is requested from the row cache, it must be
  220. # deserialized into the heap for use.
  221. #
  222. # It is also valid to specify the fully-qualified class name to a class
  223. # that implements org.apache.cassandra.cache.IRowCacheProvider.
  224. #
  225. # Defaults to SerializingCacheProvider
  226. row_cache_provider: SerializingCacheProvider
  227.  
  228. # saved caches
  229. saved_caches_directory: /var/lib/cassandra/saved_caches
  230.  
  231. # commitlog_sync may be either "periodic" or "batch."
  232. # When in batch mode, Cassandra won't ack writes until the commit log
  233. # has been fsynced to disk. It will wait up to
  234. # commitlog_sync_batch_window_in_ms milliseconds for other writes, before
  235. # performing the sync.
  236. #
  237. # commitlog_sync: batch
  238. # commitlog_sync_batch_window_in_ms: 50
  239. #
  240. # the other option is "periodic" where writes may be acked immediately
  241. # and the CommitLog is simply synced every commitlog_sync_period_in_ms
  242. # milliseconds.
  243. commitlog_sync: periodic
  244. commitlog_sync_period_in_ms: 10000
  245.  
  246. # The size of the individual commitlog file segments. A commitlog
  247. # segment may be archived, deleted, or recycled once all the data
  248. # in it (potentially from each columnfamily in the system) has been
  249. # flushed to sstables.
  250. #
  251. # The default size is 32, which is almost always fine, but if you are
  252. # archiving commitlog segments (see commitlog_archiving.properties),
  253. # then you probably want a finer granularity of archiving; 8 or 16 MB
  254. # is reasonable.
  255. commitlog_segment_size_in_mb: 32
  256.  
  257. # any class that implements the SeedProvider interface and has a
  258. # constructor that takes a Map<String, String> of parameters will do.
  259. seed_provider:
  260. # Addresses of hosts that are deemed contact points.
  261. # Cassandra nodes use this list of hosts to find each other and learn
  262. # the topology of the ring. You must change this if you are running
  263. # multiple nodes!
  264. - class_name: org.apache.cassandra.locator.SimpleSeedProvider
  265. parameters:
  266. # seeds is actually a comma-delimited list of addresses.
  267. # Ex: "<ip1>,<ip2>,<ip3>"
  268. - seeds: "172.21.9.150"
  269.  
  270. # emergency pressure valve: each time heap usage after a full (CMS)
  271. # garbage collection is above this fraction of the max, Cassandra will
  272. # flush the largest memtables.
  273. #
  274. # Set to 1.0 to disable. Setting this lower than
  275. # CMSInitiatingOccupancyFraction is not likely to be useful.
  276. #
  277. # RELYING ON THIS AS YOUR PRIMARY TUNING MECHANISM WILL WORK POORLY:
  278. # it is most effective under light to moderate load, or read-heavy
  279. # workloads; under truly massive write load, it will often be too
  280. # little, too late.
  281. flush_largest_memtables_at: 0.75
  282.  
  283. # emergency pressure valve #2: the first time heap usage after a full
  284. # (CMS) garbage collection is above this fraction of the max,
  285. # Cassandra will reduce cache maximum _capacity_ to the given fraction
  286. # of the current _size_. Should usually be set substantially above
  287. # flush_largest_memtables_at, since that will have less long-term
  288. # impact on the system.
  289. #
  290. # Set to 1.0 to disable. Setting this lower than
  291. # CMSInitiatingOccupancyFraction is not likely to be useful.
  292. reduce_cache_sizes_at: 0.85
  293. reduce_cache_capacity_to: 0.6
  294.  
  295. # For workloads with more data than can fit in memory, Cassandra's
  296. # bottleneck will be reads that need to fetch data from
  297. # disk. "concurrent_reads" should be set to (16 * number_of_drives) in
  298. # order to allow the operations to enqueue low enough in the stack
  299. # that the OS and drives can reorder them.
  300. #
  301. # On the other hand, since writes are almost never IO bound, the ideal
  302. # number of "concurrent_writes" is dependent on the number of cores in
  303. # your system; (8 * number_of_cores) is a good rule of thumb.
  304. concurrent_reads: 32
  305. concurrent_writes: 32
  306.  
  307. # Total memory to use for memtables. Cassandra will flush the largest
  308. # memtable when this much memory is used.
  309. # If omitted, Cassandra will set it to 1/3 of the heap.
  310. # memtable_total_space_in_mb: 2048
  311.  
  312. # Total space to use for commitlogs. Since commitlog segments are
  313. # mmapped, and hence use up address space, the default size is 32
  314. # on 32-bit JVMs, and 1024 on 64-bit JVMs.
  315. #
  316. # If space gets above this value (it will round up to the next nearest
  317. # segment multiple), Cassandra will flush every dirty CF in the oldest
  318. # segment and remove it. So a small total commitlog space will tend
  319. # to cause more flush activity on less-active columnfamilies.
  320. # commitlog_total_space_in_mb: 4096
  321.  
  322. # This sets the amount of memtable flush writer threads. These will
  323. # be blocked by disk io, and each one will hold a memtable in memory
  324. # while blocked. If you have a large heap and many data directories,
  325. # you can increase this value for better flush performance.
  326. # By default this will be set to the amount of data directories defined.
  327. #memtable_flush_writers: 1
  328.  
  329. # the number of full memtables to allow pending flush, that is,
  330. # waiting for a writer thread. At a minimum, this should be set to
  331. # the maximum number of secondary indexes created on a single CF.
  332. memtable_flush_queue_size: 4
  333.  
  334. # Whether to, when doing sequential writing, fsync() at intervals in
  335. # order to force the operating system to flush the dirty
  336. # buffers. Enable this to avoid sudden dirty buffer flushing from
  337. # impacting read latencies. Almost always a good idea on SSDs; not
  338. # necessarily on platters.
  339. trickle_fsync: false
  340. trickle_fsync_interval_in_kb: 10240
  341.  
  342. # TCP port, for commands and data
  343. storage_port: 7000
  344.  
  345. # SSL port, for encrypted communication. Unused unless enabled in
  346. # encryption_options
  347. ssl_storage_port: 7001
  348.  
  349. # Address to bind to and tell other Cassandra nodes to connect to. You
  350. # _must_ change this if you want multiple nodes to be able to
  351. # communicate!
  352. #
  353. # Leaving it blank leaves it up to InetAddress.getLocalHost(). This
  354. # will always do the Right Thing _if_ the node is properly configured
  355. # (hostname, name resolution, etc), and the Right Thing is to use the
  356. # address associated with the hostname (it might not be).
  357. #
  358. # Setting this to 0.0.0.0 is always wrong.
  359. listen_address: 172.21.9.150
  360.  
  361. # Address to broadcast to other Cassandra nodes
  362. # Leaving this blank will set it to the same value as listen_address
  363. # broadcast_address: 1.2.3.4
  364.  
  365. # Internode authentication backend, implementing IInternodeAuthenticator;
  366. # used to allow/disallow connections from peer nodes.
  367. # internode_authenticator: org.apache.cassandra.auth.AllowAllInternodeAuthenticator
  368.  
  369. # Whether to start the native transport server.
  370. # Please note that the address on which the native transport is bound is the
  371. # same as the rpc_address. The port however is different and specified below.
  372. start_native_transport: true
  373. # port for the CQL native transport to listen for clients on
  374. native_transport_port: 9042
  375. # The minimum and maximum threads for handling requests when the native
  376. # transport is used. They are similar to rpc_min_threads and rpc_max_threads,
  377. # though the defaults differ slightly.
  378. # native_transport_min_threads: 16
  379. # native_transport_max_threads: 128
  380.  
  381. # Whether to start the thrift rpc server.
  382. start_rpc: true
  383.  
  384. # The address to bind the Thrift RPC service to -- clients connect
  385. # here. Unlike ListenAddress above, you _can_ specify 0.0.0.0 here if
  386. # you want Thrift to listen on all interfaces.
  387. #
  388. # Leaving this blank has the same effect it does for ListenAddress,
  389. # (i.e. it will be based on the configured hostname of the node).
  390. rpc_address: 0.0.0.0
  391. # port for Thrift to listen for clients on
  392. rpc_port: 9160
  393.  
  394. # enable or disable keepalive on rpc connections
  395. rpc_keepalive: true
  396.  
  397. # Cassandra provides three out-of-the-box options for the RPC Server:
  398. #
  399. # sync -> One thread per thrift connection. For a very large number of clients, memory
  400. # will be your limiting factor. On a 64 bit JVM, 180KB is the minimum stack size
  401. # per thread, and that will correspond to your use of virtual memory (but physical memory
  402. # may be limited depending on use of stack space).
  403. #
  404. # hsha -> Stands for "half synchronous, half asynchronous." All thrift clients are handled
  405. # asynchronously using a small number of threads that does not vary with the amount
  406. # of thrift clients (and thus scales well to many clients). The rpc requests are still
  407. # synchronous (one thread per active request).
  408. #
  409. # The default is sync because on Windows hsha is about 30% slower. On Linux,
  410. # sync/hsha performance is about the same, with hsha of course using less memory.
  411. #
  412. # Alternatively, can provide your own RPC server by providing the fully-qualified class name
  413. # of an o.a.c.t.TServerFactory that can create an instance of it.
  414. rpc_server_type: sync
  415.  
  416. # Uncomment rpc_min|max_thread to set request pool size limits.
  417. #
  418. # Regardless of your choice of RPC server (see above), the number of maximum requests in the
  419. # RPC thread pool dictates how many concurrent requests are possible (but if you are using the sync
  420. # RPC server, it also dictates the number of clients that can be connected at all).
  421. #
  422. # The default is unlimited and thus provides no protection against clients overwhelming the server. You are
  423. # encouraged to set a maximum that makes sense for you in production, but do keep in mind that
  424. # rpc_max_threads represents the maximum number of client requests this server may execute concurrently.
  425. #
  426. # rpc_min_threads: 16
  427. # rpc_max_threads: 2048
  428.  
  429. # uncomment to set socket buffer sizes on rpc connections
  430. # rpc_send_buff_size_in_bytes:
  431. # rpc_recv_buff_size_in_bytes:
  432.  
  433. # Uncomment to set socket buffer size for internode communication
  434. # Note that when setting this, the buffer size is limited by net.core.wmem_max
  435. # and when not setting it it is defined by net.ipv4.tcp_wmem
  436. # See:
  437. # /proc/sys/net/core/wmem_max
  438. # /proc/sys/net/core/rmem_max
  439. # /proc/sys/net/ipv4/tcp_wmem
  440. # /proc/sys/net/ipv4/tcp_wmem
  441. # and: man tcp
  442. # internode_send_buff_size_in_bytes:
  443. # internode_recv_buff_size_in_bytes:
  444.  
  445. # Frame size for thrift (maximum message length).
  446. thrift_framed_transport_size_in_mb: 15
  447.  
  448. # Set to true to have Cassandra create a hard link to each sstable
  449. # flushed or streamed locally in a backups/ subdirectory of the
  450. # keyspace data. Removing these links is the operator's
  451. # responsibility.
  452. incremental_backups: false
  453.  
  454. # Whether or not to take a snapshot before each compaction. Be
  455. # careful using this option, since Cassandra won't clean up the
  456. # snapshots for you. Mostly useful if you're paranoid when there
  457. # is a data format change.
  458. snapshot_before_compaction: false
  459.  
  460. # Whether or not a snapshot is taken of the data before keyspace truncation
  461. # or dropping of column families. The STRONGLY advised default of true
  462. # should be used to provide data safety. If you set this flag to false, you will
  463. # lose data on truncation or drop.
  464. auto_snapshot: true
  465.  
  466. # Add column indexes to a row after its contents reach this size.
  467. # Increase if your column values are large, or if you have a very large
  468. # number of columns. The competing causes are, Cassandra has to
  469. # deserialize this much of the row to read a single column, so you want
  470. # it to be small - at least if you do many partial-row reads - but all
  471. # the index data is read for each access, so you don't want to generate
  472. # that wastefully either.
  473. column_index_size_in_kb: 64
  474.  
  475. # Size limit for rows being compacted in memory. Larger rows will spill
  476. # over to disk and use a slower two-pass compaction process. A message
  477. # will be logged specifying the row key.
  478. in_memory_compaction_limit_in_mb: 64
  479.  
  480. # Number of simultaneous compactions to allow, NOT including
  481. # validation "compactions" for anti-entropy repair. Simultaneous
  482. # compactions can help preserve read performance in a mixed read/write
  483. # workload, by mitigating the tendency of small sstables to accumulate
  484. # during a single long running compactions. The default is usually
  485. # fine and if you experience problems with compaction running too
  486. # slowly or too fast, you should look at
  487. # compaction_throughput_mb_per_sec first.
  488. #
  489. # concurrent_compactors defaults to the number of cores.
  490. # Uncomment to make compaction mono-threaded, the pre-0.8 default.
  491. #concurrent_compactors: 1
  492.  
  493. # Multi-threaded compaction. When enabled, each compaction will use
  494. # up to one thread per core, plus one thread per sstable being merged.
  495. # This is usually only useful for SSD-based hardware: otherwise,
  496. # your concern is usually to get compaction to do LESS i/o (see:
  497. # compaction_throughput_mb_per_sec), not more.
  498. multithreaded_compaction: false
  499.  
  500. # Throttles compaction to the given total throughput across the entire
  501. # system. The faster you insert data, the faster you need to compact in
  502. # order to keep the sstable count down, but in general, setting this to
  503. # 16 to 32 times the rate you are inserting data is more than sufficient.
  504. # Setting this to 0 disables throttling. Note that this account for all types
  505. # of compaction, including validation compaction.
  506. compaction_throughput_mb_per_sec: 16
  507.  
  508. # Track cached row keys during compaction, and re-cache their new
  509. # positions in the compacted sstable. Disable if you use really large
  510. # key caches.
  511. compaction_preheat_key_cache: true
  512.  
  513. # Throttles all outbound streaming file transfers on this node to the
  514. # given total throughput in Mbps. This is necessary because Cassandra does
  515. # mostly sequential IO when streaming data during bootstrap or repair, which
  516. # can lead to saturating the network connection and degrading rpc performance.
  517. # When unset, the default is 200 Mbps or 25 MB/s.
  518. # stream_throughput_outbound_megabits_per_sec: 200
  519.  
  520. # How long the coordinator should wait for read operations to complete
  521. read_request_timeout_in_ms: 10000
  522. # How long the coordinator should wait for seq or index scans to complete
  523. range_request_timeout_in_ms: 10000
  524. # How long the coordinator should wait for writes to complete
  525. write_request_timeout_in_ms: 10000
  526. # How long the coordinator should wait for truncates to complete
  527. # (This can be much longer, because unless auto_snapshot is disabled
  528. # we need to flush first so we can snapshot before removing the data.)
  529. truncate_request_timeout_in_ms: 60000
  530. # The default timeout for other, miscellaneous operations
  531. request_timeout_in_ms: 10000
  532.  
  533. # Enable operation timeout information exchange between nodes to accurately
  534. # measure request timeouts, If disabled cassandra will assuming the request
  535. # was forwarded to the replica instantly by the coordinator
  536. #
  537. # Warning: before enabling this property make sure to ntp is installed
  538. # and the times are synchronized between the nodes.
  539. cross_node_timeout: false
  540.  
  541. # Enable socket timeout for streaming operation.
  542. # When a timeout occurs during streaming, streaming is retried from the start
  543. # of the current file. This _can_ involve re-streaming an important amount of
  544. # data, so you should avoid setting the value too low.
  545. # Default value is 0, which never timeout streams.
  546. # streaming_socket_timeout_in_ms: 0
  547.  
  548. # phi value that must be reached for a host to be marked down.
  549. # most users should never need to adjust this.
  550. # phi_convict_threshold: 8
  551.  
  552. # endpoint_snitch -- Set this to a class that implements
  553. # IEndpointSnitch. The snitch has two functions:
  554. # - it teaches Cassandra enough about your network topology to route
  555. # requests efficiently
  556. # - it allows Cassandra to spread replicas around your cluster to avoid
  557. # correlated failures. It does this by grouping machines into
  558. # "datacenters" and "racks." Cassandra will do its best not to have
  559. # more than one replica on the same "rack" (which may not actually
  560. # be a physical location)
  561. #
  562. # IF YOU CHANGE THE SNITCH AFTER DATA IS INSERTED INTO THE CLUSTER,
  563. # YOU MUST RUN A FULL REPAIR, SINCE THE SNITCH AFFECTS WHERE REPLICAS
  564. # ARE PLACED.
  565. #
  566. # Out of the box, Cassandra provides
  567. # - SimpleSnitch:
  568. # Treats Strategy order as proximity. This improves cache locality
  569. # when disabling read repair, which can further improve throughput.
  570. # Only appropriate for single-datacenter deployments.
  571. # - PropertyFileSnitch:
  572. # Proximity is determined by rack and data center, which are
  573. # explicitly configured in cassandra-topology.properties.
  574. # - GossipingPropertyFileSnitch
  575. # The rack and datacenter for the local node are defined in
  576. # cassandra-rackdc.properties and propagated to other nodes via gossip. If
  577. # cassandra-topology.properties exists, it is used as a fallback, allowing
  578. # migration from the PropertyFileSnitch.
  579. # - RackInferringSnitch:
  580. # Proximity is determined by rack and data center, which are
  581. # assumed to correspond to the 3rd and 2nd octet of each node's
  582. # IP address, respectively. Unless this happens to match your
  583. # deployment conventions (as it did Facebook's), this is best used
  584. # as an example of writing a custom Snitch class.
  585. # - Ec2Snitch:
  586. # Appropriate for EC2 deployments in a single Region. Loads Region
  587. # and Availability Zone information from the EC2 API. The Region is
  588. # treated as the datacenter, and the Availability Zone as the rack.
  589. # Only private IPs are used, so this will not work across multiple
  590. # Regions.
  591. # - Ec2MultiRegionSnitch:
  592. # Uses public IPs as broadcast_address to allow cross-region
  593. # connectivity. (Thus, you should set seed addresses to the public
  594. # IP as well.) You will need to open the storage_port or
  595. # ssl_storage_port on the public IP firewall. (For intra-Region
  596. # traffic, Cassandra will switch to the private IP after
  597. # establishing a connection.)
  598. # DataStax Enterprise provides
  599. # - com.datastax.bdp.snitch.DseDelegateSnitch:
  600. # Proximity is determined by the settings in dse.yaml:delegated_snitch to
  601. # allow DSE to add location aware functionality. This is required for DSE.
  602. #
  603. # You can use a custom Snitch by setting this to the full class name
  604. # of the snitch, which will be assumed to be on your classpath.
  605. #
  606. # NOTE: To choose a different snitch, please change the delegated_snitch
  607. # option in the dse.yaml file. For DSE installations do NOT change
  608. # the endpoint_snitch setting here directly.
  609. endpoint_snitch: com.datastax.bdp.snitch.DseDelegateSnitch
  610.  
  611. # controls how often to perform the more expensive part of host score
  612. # calculation
  613. dynamic_snitch_update_interval_in_ms: 100
  614. # controls how often to reset all host scores, allowing a bad host to
  615. # possibly recover
  616. dynamic_snitch_reset_interval_in_ms: 600000
  617. # if set greater than zero and read_repair_chance is < 1.0, this will allow
  618. # 'pinning' of replicas to hosts in order to increase cache capacity.
  619. # The badness threshold will control how much worse the pinned host has to be
  620. # before the dynamic snitch will prefer other replicas over it. This is
  621. # expressed as a double which represents a percentage. Thus, a value of
  622. # 0.2 means Cassandra would continue to prefer the static snitch values
  623. # until the pinned host was 20% worse than the fastest.
  624. dynamic_snitch_badness_threshold: 0.1
  625.  
  626. # request_scheduler -- Set this to a class that implements
  627. # RequestScheduler, which will schedule incoming client requests
  628. # according to the specific policy. This is useful for multi-tenancy
  629. # with a single Cassandra cluster.
  630. # NOTE: This is specifically for requests from the client and does
  631. # not affect inter node communication.
  632. # org.apache.cassandra.scheduler.NoScheduler - No scheduling takes place
  633. # org.apache.cassandra.scheduler.RoundRobinScheduler - Round robin of
  634. # client requests to a node with a separate queue for each
  635. # request_scheduler_id. The scheduler is further customized by
  636. # request_scheduler_options as described below.
  637. request_scheduler: org.apache.cassandra.scheduler.NoScheduler
  638.  
  639. # Scheduler Options vary based on the type of scheduler
  640. # NoScheduler - Has no options
  641. # RoundRobin
  642. # - throttle_limit -- The throttle_limit is the number of in-flight
  643. # requests per client. Requests beyond
  644. # that limit are queued up until
  645. # running requests can complete.
  646. # The value of 80 here is twice the number of
  647. # concurrent_reads + concurrent_writes.
  648. # - default_weight -- default_weight is optional and allows for
  649. # overriding the default which is 1.
  650. # - weights -- Weights are optional and will default to 1 or the
  651. # overridden default_weight. The weight translates into how
  652. # many requests are handled during each turn of the
  653. # RoundRobin, based on the scheduler id.
  654. #
  655. # request_scheduler_options:
  656. # throttle_limit: 80
  657. # default_weight: 5
  658. # weights:
  659. # Keyspace1: 1
  660. # Keyspace2: 5
  661.  
  662. # request_scheduler_id -- An identifier based on which to perform
  663. # the request scheduling. Currently the only valid option is keyspace.
  664. # request_scheduler_id: keyspace
  665.  
  666. # index_interval controls the sampling of entries from the primrary
  667. # row index in terms of space versus time. The larger the interval,
  668. # the smaller and less effective the sampling will be. In technicial
  669. # terms, the interval coresponds to the number of index entries that
  670. # are skipped between taking each sample. All the sampled entries
  671. # must fit in memory. Generally, a value between 128 and 512 here
  672. # coupled with a large key cache size on CFs results in the best trade
  673. # offs. This value is not often changed, however if you have many
  674. # very small rows (many to an OS page), then increasing this will
  675. # often lower memory usage without a impact on performance.
  676. index_interval: 128
  677.  
  678. # Enable or disable inter-node encryption
  679. # Default settings are TLS v1, RSA 1024-bit keys (it is imperative that
  680. # users generate their own keys) TLS_RSA_WITH_AES_128_CBC_SHA as the cipher
  681. # suite for authentication, key exchange and encryption of the actual data transfers.
  682. # NOTE: No custom encryption options are enabled at the moment
  683. # The available internode options are : all, none, dc, rack
  684. #
  685. # If set to dc cassandra will encrypt the traffic between the DCs
  686. # If set to rack cassandra will encrypt the traffic between the racks
  687. #
  688. # The passwords used in these options must match the passwords used when generating
  689. # the keystore and truststore. For instructions on generating these files, see:
  690. # http://download.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#CreateKeystore
  691. #
  692. server_encryption_options:
  693. internode_encryption: none
  694. keystore: resources/dse/conf/.keystore
  695. keystore_password: cassandra
  696. truststore: resources/dse/conf/.truststore
  697. truststore_password: cassandra
  698. # More advanced defaults below:
  699. # protocol: TLS
  700. # algorithm: SunX509
  701. # store_type: JKS
  702. # cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA]
  703. # require_client_auth: false
  704.  
  705. # enable or disable client/server encryption.
  706. client_encryption_options:
  707. enabled: false
  708. keystore: resources/dse/conf/.keystore
  709. keystore_password: cassandra
  710. # truststore & truststore password are used in the following scenarios:
  711. # 1: by the server to validate client certificates if require_client_auth is true
  712. # 2: by tools like cassandra-cli to validate server certificates when run locally on the DSE node
  713. # 3: by peers during inter-node (i.e. distributed) Solr requests.
  714. # On DSE Search nodes, if require_client_auth is true then each node's truststore must
  715. # include the certs for each other search node.
  716. truststore: resources/dse/conf/.truststore
  717. truststore_password: cassandra
  718. # require_client_auth: false
  719. # More advanced defaults below:
  720. # protocol: TLS
  721. # algorithm: SunX509
  722. # store_type: JKS
  723. # cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA]
  724.  
  725. # internode_compression controls whether traffic between nodes is
  726. # compressed.
  727. # can be: all - all traffic is compressed
  728. # dc - traffic between different datacenters is compressed
  729. # none - nothing is compressed.
  730. internode_compression: all
  731.  
  732. # Enable or disable tcp_nodelay for inter-dc communication.
  733. # Disabling it will result in larger (but fewer) network packets being sent,
  734. # reducing overhead from the TCP protocol itself, at the cost of increasing
  735. # latency if you block for cross-datacenter responses.
  736. inter_dc_tcp_nodelay: true
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement