我在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
这到底出了什么问题?
答案 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并仅修改需要其他值的设置。这也使得升级时更容易 - 差异是你的朋友 - 不要错过新的参数。