CommitLogSync异常

时间:2017-12-29 06:11:12

标签: cassandra cassandra-3.0

我在3台RHEL服务器上安装了cassandra。我配置了2个数据中心。 YAML文件如下所示:

cluster_name:'Cluster1'

num_tokens:256

partitioner:org.apache.cassandra.dht.Murmur3Partitioner

data_file_directories: - / home / cass / share / cassandra / data

commitlog_directory:/ home / cass / share / cassandra / commitlog

saved_caches_directory:/ home / cass / share / cassandra / saved_caches

seed_provider: - class_name:org.apache.cassandra.locator.SimpleSeedProvider 参数: - 种子:“172.16.129.140” listen_address:'节点的IP地址'

endpoint_snitch:GossipingPropertyFileSnitch

我收到以下异常: 启动期间遇到异常(org.apache.cassandra.exceptions.ConfigurationException):缺少必需指令CommitLogSync

缺少必需的指令CommitLogSync

错误05:55:21启动时遇到异常:缺少必需的指令CommitLogSync

这到底出了什么问题?

1 个答案:

答案 0 :(得分:1)

你的cassandra.yaml是已发货的修改版吗?甚至默认值也需要在那里。

快速浏览一下你的网页摘要 - commitlog目录真的存在吗?

Header set Access-Control-Allow-Origin "*"

那里有一个空间,也许只是一个简单的拼写错误。来自文档:

  

commitlog_sync

     

(默认值:periodic)Cassandra使用的方法   以毫秒为单位确认写入:

     

周期性:(默认值:10000   毫秒[10秒])使用commitlog_sync_period_in_ms,控件   提交日志与磁盘同步的频率。定期同步是   马上承认。

     

batch :(默认值:禁用)note with commitlog_sync_batch_window_in_ms   (默认值:2 ms),控制Cassandra等待其他写入的时间   在执行同步之前。启用此方法时,Cassandra会执行此操作   在他们被提升到磁盘之前不承认写入。

https://docs.datastax.com/en/cassandra/3.0/cassandra/configuration/configCassandra_yaml.html

为了安全地设置默认值并设置所有参数我始终建议使用随附的cassandra.yaml并仅修改需要其他值的设置。这也使得升级时更容易 - 差异是你的朋友 - 不要错过新的参数。