【问题标题】:Aerospike Write Fails with server error 1Aerospike 写入失败,出现服务器错误 1
【发布时间】:2016-08-30 11:44:33
【问题描述】:

案例: 某些键的写入失败。即使在重试时它们也会失败,并在服务器日志中出现以下错误:

格林威治标准时间 2016 年 8 月 30 日 07:14:58:警告 (drv_ssd): (drv_ssd.c:1225) 阅读: 坏块魔术偏移 1704448 2016 年 8 月 30 日 07:14:58 GMT:警告 (drv_ssd): (drv_ssd.c:1283) get_key: 失败 as_storage_record_read_ssd() 2016 年 8 月 30 日 07:14:58 GMT:警告(rw): (thr_rw.c:3440) {userdata} write_local: 无法获取存储的密钥 :0x0ac772018687b572e1a9be79ad0c168dccbee955

以下是所有 3 个节点上的配置文件:

service {
  user root
  group root
  paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1.
  pidfile /var/run/aerospike/asd.pid

  ## SET TO NUMBER OF CORES ##
  service-threads 8
  transaction-queues 8
  scan-threads 8
  ###########################

  ## DONT CHANGE ##
  transaction-threads-per-queue 3
  proto-fd-idle-ms 600000
  proto-fd-max 100000
  batch-max-requests 10000
  migrate-threads 2
  replication-fire-and-forget true
  ##########################
}

logging {
  file /var/log/aerospike/aerospike.log {
    context any info
  }
}

network {
  service {
    address any
    port 3000
  }

  heartbeat {
    mode mesh
    port 3002

    mesh-seed-address-port 10.0.23.46 3002
    mesh-seed-address-port 10.0.23.7 3002
    mesh-seed-address-port 10.0.23.52 3002

    interval 150
    timeout 20
  }

  fabric {
    port 3001
  }

  info {
    port 3003
  }
}

namespace userdata {
  replication-factor 2
  #### CHANGE FOR INSTANCE ###
  memory-size 30G
  ############################
  default-ttl 0 # 30 days, use 0 to never expire/evict.
  storage-engine device {
    ## COLD START AND NO SHADOW DEVICE ##
    cold-start-empty true
    device /dev/xvdf
    #####################################
    ### 1MB FOR INSTANCE STORE ###
    write-block-size 1024K
    #############################
  }
# storage-engine memory
}

namespace user_config_data {
        replication-factor 2
        memory-size 5G
        default-ttl 0
        storage-engine device {
                cold-start-empty true
                device /dev/xvdf
                write-block-size 1024K
        }
}

目前我们在命名空间user_config_data中没有任何数据

注意:几天前,aerospike 在所有 3 个节点上同时重启,导致所有数据丢失。

【问题讨论】:

    标签: aerospike


    【解决方案1】:

    您为两个命名空间使用相同的设备。那是错的。这有太多错误配置的元素以及出了什么问题。我强烈建议在 http://discuss.aerospike.com/ 的 aerospike 论坛上讨论这个问题

    【讨论】:

    • 是的,两个命名空间不应该在同一个原始设备上。
    【解决方案2】:

    几天前,aerospike 在所有 3 个节点上同时重新启动,导致所有数据丢失。

    您可以通过再次关闭节点并删除冷启动空参数然后重新启动它们来恢复数据。之后,您将再次设置冷启动空并处理返回的删除。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-04
      • 1970-01-01
      • 2014-10-07
      相关资源
      最近更新 更多