【Aerospike 实战 - 3】 安装
参考文档:https://www.aerospike.com/docs/operations/install/linux/other/index.html
0. 编译源码(不是必须的,主要是为了调试):
sudo yum install autoconf automake libtool
git clone https://github.com/aerospike/aerospike-server.git
git submodule update --init
make clean
make USE_JEM=1 -j20
1. 使用binary的方式安装:
下面创建了三个实例,使用当前用户的环境,为了使用non-root环境:
wget -O aerospike.tgz 'https://www.aerospike.com/download/server/latest/artifact/tgz'
tar -xvf aerospike.tgz
cd aerospike-server
./bin/aerospike init --home /data/project/aerospike-4.7.0.2/server/aerospike_test1 --user xxx_user --group xxx_group --instance 1 -p 3100
./bin/aerospike init --home /data/project/aerospike-4.7.0.2/server/aerospike_test2 --user xxx_user --group xxx_group --instance 2 -p 3200
./bin/aerospike init --home /data/project/aerospike-4.7.0.2/server/aerospike_test3 --user xxx_user --group xxx_group --instance 3 -p 3300
cd /data/project/aerospike/server/aerospike_test1
sudo ./bin/aerospike start
sudo ./bin/aerospike status
sudo ./bin/aerospike stop
2. 生产环境常用设置
-
使用最新版本的aerospike
wget -O aerospike.latest.tgz 'https://www.aerospike.com/download/server/latest/artifact/tgz' -
去除sudo权限要求
$ cd install/aerospike-server-4.7.0.2
$ grep sudo -r .
./README: sudo ./bin/aerospike start
./README: sudo ./bin/aerospike start
./README: sudo ./bin/aerospike stop
./share/libexec/aerospike-start: sudo rm -f $2
./share/libexec/aerospike-start: error "super-user privileges required for this operation. Try the command using sudo."
./share/libexec/aerospike-stop: sudo kill $1
./share/libexec/aerospike-stop: sudo rm -f $2
./share/libexec/aerospike-stop: sudo rm -f $2
将share下的sudo行都注释掉。只保留后面的命令。
error 那行的位置,下面有一行是exit 1,都要注释掉。
需要设置一下环境变量,需要sudo,可以找运维操作下,以下几个,都是最小推荐值,具体可以看./share/libexec/aerospike-start文件:
ulimit -n 100000
/sbin/sysctl -w kernel.shmall=4294967296
/sbin/sysctl -w kernel.shmmax=1073741824
/sbin/sysctl -w net.core.rmem_max=15728640
/sbin/sysctl -w net.core.wmem_max=5242880
这样改动后,启动和停止,就不需要sudo权限了。
-
配置更大的block size
write-block-size
更大的块影响读写性能:
https://discuss.aerospike.com/t/write-block-size-and-max-record-size/1171 -
使用mesh方式
https://www.aerospike.com/docs/operations/configure/network/heartbeat/ -
配置集群名称
cluster-name -
配置压缩等级和压缩方式(可选)
compression
compression-level
如果存储空间不是瓶颈,不建议设置。 -
单机多实例
init时,指定--instance序号,不指定默认为1。
./bin/aerospike init --home /data/project/aerospike-4.7.0.2/server/aerospike_test1 --user xxx_user --group xxx_group --instance 1 -p 3100
./bin/aerospike init --home /data/project/aerospike-4.7.0.2/server/aerospike_test2 --user xxx_user --group xxx_group --instance 2 -p 3200
./bin/aerospike init --home /data/project/aerospike-4.7.0.2/server/aerospike_test3 --user xxx_user --group xxx_group --instance 3 -p 3300
-
配置日志切割
https://www.aerospike.com/docs/operations/configure/log/
https://www.aerospike.com/docs/operations/configure/log/logrotate.html -
value记录原始key
as_policy_key.AS_POLICY_KEY_SEND -
集群容量规划
https://geertjohan.net/aerospike-capacity-calculator/
https://www.aerospike.com/docs/operations/plan/capacity/