【Aerospike 实战 - 3】 安装

2019-10-19  本文已影响0人  云石畅想

参考文档: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. 生产环境常用设置

  1. 使用最新版本的aerospike
    wget -O aerospike.latest.tgz 'https://www.aerospike.com/download/server/latest/artifact/tgz'

  2. 去除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权限了。

  1. 配置更大的block size
    write-block-size
    更大的块影响读写性能:
    https://discuss.aerospike.com/t/write-block-size-and-max-record-size/1171

  2. 使用mesh方式
    https://www.aerospike.com/docs/operations/configure/network/heartbeat/

  3. 配置集群名称
    cluster-name

  4. 配置压缩等级和压缩方式(可选)
    compression
    compression-level
    如果存储空间不是瓶颈,不建议设置。

  5. 单机多实例
    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 
  1. 配置日志切割
    https://www.aerospike.com/docs/operations/configure/log/
    https://www.aerospike.com/docs/operations/configure/log/logrotate.html

  2. value记录原始key
    as_policy_key.AS_POLICY_KEY_SEND

  3. 集群容量规划
    https://geertjohan.net/aerospike-capacity-calculator/
    https://www.aerospike.com/docs/operations/plan/capacity/

上一篇下一篇

猜你喜欢

热点阅读