Aerospike配置[通俗易懂]

Aerospike配置[通俗易懂]Aerospike数据库配置说明 vi /etc/aerospike/aerospike.conf service {} #调整参数和进程所有者 network { #用于配置集群内和应用程序节点通…

Aerospike配置

vi /etc/aerospike/aerospike.conf
service {}               #调整参数和进程所有者

network {                #用于配置集群内和应用程序节点通讯
    service {}           #工具/应用程序通信协议,应用、工具、远程XDR通过此端口访问AS集群
    fabric {}            #集群内部通讯、备份等操作用此端口
    info {}              #管理员telnet控制台协议
    heartbeat {}         #集群心跳端口,用来构建和维护集群
}

security {               #(可选,仅企业版)启用集群上的ACL
    enable-security true
}

logging {}               #记录配置

xdr {                    #(可选,仅企业版)配置交叉数据中心复制
    datacenter <name> {} #远程数据中心节点列表
}

namespace <name> {       #定义名称空间记录策略和存储引擎
    storage {}           #配置持久性或缺乏持久性
    set {}               #(可选)设置特定的记录策略
}

配置步骤:
配置网络服务和心跳子上下文
配置命名空间
配置日志记录和日志轮换
(可选)配置安全性
(可选)配置机架感知
(可选)配置跨数据中心复制

代码100分

配置样例

代码100分service {
    user root
    group root
    paxos-single-replica-limit 1 # 副本数自动减少到1的节点数。
    pidfile /var/run/aerospike/asd.pid
    service-threads 20 # 4.7+应为vCPU数量的5倍,并且至少有一个SSD名称空间,否则为vCPU数量
    proto-fd-max 15000
    node-id-interface eth1
}

logging {
    # 日志文件必须是绝对路径,不会自动建目录,需要已有的目录
    file /var/log/aerospike.log {
            context any info
    }
}
network {
  service {
    address any                  #服务正在侦听的NIC的IP。
    port 3000                    #服务正在监听的端口。
    access-address 192.168.1.100 #访问该服务的客户端的IP地址。
  }
 
  fabric {
    address any
    port 3001   # 集群内通信端口(迁移,复制等)
  }
 
  info {
    address any
    port 3003   #纯文本telnet管理端口。
  }
 # 基于UDP的模式
  heartbeat {
    mode multicast                  #使用多播发送心跳
    address 239.1.99.2              #公网组播地址
    port 9918                       #组播端口
    
    address 192.168.1.100           #将本机加入集群,用于发送心跳和绑定交换矩阵端口的NIC的IP
    
    interval 150                    #心跳之间的毫秒数
    timeout 10                      #在节点超时之前要等待的心跳间隔数
  }
 
 #基于TCP的模式
#  heartbeat {
#    mode mesh                   # 使用网格(单播)协议发送心跳
#    address 192.168.1.100       # 该节点正在侦听心跳的NIC的IP
#    port 3002                   # 该节点正在侦听心跳的端口

#    mesh-seed-address-port 192.168.1.100 3002 # 集群中种子节点的IP地址
#    mesh-seed-address-port 192.168.1.101 3002 # 集群中种子节点的IP地址

#    interval 150                # 心跳之间的毫秒数
#    timeout 20                  # 使节点超时之前要等待的心跳间隔数
#  }
}

#纯内存数据储存方案
namespace test_memory { 
    replication-factor 2
    memory-size 4G
    default-ttl 30d               # 30天,使用0永不过期
    storage-engine memory
}

# SSD及索引储存方案
namespace bar_ssd { 
    memory-size 4G                # 主索引和辅助索引的最大内存分配
  # 警告-定义的原始分区设备中的遗留数据将被擦除。
  # 这些分区不能被文件系统挂载。
    storage-engine device {       #配置存储引擎以使用持久性添加原始设备。最大大小为2 TiB
            device /dev/sdb3  
            device /dev/sdc3  
            device /dev/sdd3   
            device /dev/sde3 
            # 下面的2行针对SSD进行了优化。
            scheduler-mode noop
            write-block-size 128K #调整块大小以使其有效用于SSD。
        }
}
#HDD及内存混合存储方案
namespace bar_hdd_mem {
    memory-size 4G                # 主索引和辅助索引的最大内存分配
    single-bin true                 #索引数据必须为true。
    data-in-index true              #在索引整数存储中启用。
    #配置存储引擎使用持久性
    storage-engine device {
        file /opt/aerospike/data1  #服务器上数据文件的位置。
        file /opt/aerospike/data2  #服务器上数据文件的位置。
        # device /dev/sdb3          #使用文件的可选替代方法。
        filesize 16G                #每个文件的最大大小GB,接近这个值将不再写入数据。最大大小为2TiB
        data-in-memory true           #设置data-in-memory设置为true,开启内存存储机制
    }
}

#HDD及索引储存方案
namespace bar_hdd {
    #设置备份数量,针对集群
    replication-factor 2
    memory-size 4G                  # 主索引和辅助索引的最大内存分配
    single-bin true                 #索引数据必须为true。
    data-in-index true              #在索引整数存储中启用。
    #配置存储引擎使用持久性
    storage-engine device
        file /opt/aerospike/data1   #服务器上数据文件的位置。
        file /opt/aerospike/data2   #服务器上数据文件的位置。
        # device /dev/sdb3          #使用文件的可选替代方法。
        filesize 16G                #每个文件的最大大小GB。最大大小为2TiB
    }
    #数据有效期
    default-ttl 30d                #写入数据后保留多长时间(以秒为单位)
    high-water-disk-pct <百分比>   #磁盘到多少开始提前过期(记录提前过期)
    high-water-memory-pct <百分比> #内存到多少开始提前过期(记录提前过期)
    stop-writes-pct <百分比>       #内存到多少禁止写操作
    
    # 设置某个set不被清洗
    set <set-name> {
        set-disable-eviction true     # 不被清洗
    }
    # 设置某个set最多容纳的记录数(record)
    set <set-name> {
        set-stop-writes-count 5000     # 可以写入的记录数限制为5000。
    }
    
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8589.html

(0)
上一篇 2023-02-25
下一篇 2023-02-25

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注