20.10.10
3.11.5
ec-2 172.16.0.2
ec-3 172.16.0.3
ec-4 172.16.0.4
/data/arangodb
echo madvise >/sys/kernel/mm/transparent_hugepage/enabled
echo madvise >/sys/kernel/mm/transparent_hugepage/defrag
sysctl -w vm.overcommit_memory=1 > /etc/sysctl.conf
在3个节点上分别安装 ArangoDB 环境,执行安装命令:
# 每个节点都需要执行
tar -xvzf arangodb-3.11.5-docker.tar.gz -C /opt
cd /opt/arangodb-3.11.5-docker
然后我们分别在每个节点导入基础镜像:
./install.sh
执行后会自动检测当前的 CPU 架构并导入镜像,当前支持 AMD64 和 ARM64 两类 CPU 芯片。
安装之后我们在其中一个节点生成身份验证密钥:
# 选择一个节点执行即可,当前在 ec-2 上
./arangodb-secret.sh
执行后会将密钥生成到 /etc/arangodb.secret
然后需要同步到其他所有的节点:
scp /etc/arangodb.secret ec-3:/etc
scp /etc/arangodb.secret ec-4:/etc
在所有节点创建数据目录:
mkdir -p /data/arangodb
然后编辑安装目录下的 docker-compose-cluster.yml
配置文件:
version: "3"
services:
arangodb:
container_name: arangodb-container
image: arangodb:3.11.5
restart: always
environment:
- TZ=Asia/Shanghai
- ARANGO_HOSTS=172.16.0.2,172.16.0.3,172.16.0.4
volumes:
- /etc/arangodb.secret:/etc/arangodb.secret
- /data/arangodb:/var/lib/arangodb3
ports:
- "8528:8528"
- "8529:8529"
- "8530:8530"
- "8531:8531"
command: arangodb --starter.join=$$ARANGO_HOSTS --starter.data-dir=/var/lib/arangodb3 --auth.jwt-secret=/etc/arangodb.secret --server.storage-engine=rocksdb --log.rotate-files-to-keep=30 --log.time-format=utc-datestring
重点修改两个位置的配置:
environment
下的 ARANGO_HOSTS
变量,设置为所有的机器列表,当前为:172.16.0.2,172.16.0.3,172.16.0.4
volumes
下的数据目录映射,只修改 :
前面的部分即可,当前是 /data/arangodb
其余的配置正常都不需要动,然后修改其他节点保证这个配置都完全一样。
在每个节点的安装目录下依次执行命令启动:
./arangodb-cluster.sh start
# 查看状态
./arangodb-cluster.sh status
启动过程中通过 Docker Compose 或者日志文件都可以查看日志,比如:
# 需要在安装目录下执行
docker compose -f docker-compose-cluster.yml logs arangodb -f --tail=100
# 查看数据目录下的日志
taif -100f /data/arangodb/arangodb.log
启动后访问任意一个节点的 8529 端口打开界面,比如:http://172.16.0.2:8529
,默认不用输入用户名和密码即可登录成功,然后直接选择 _system
数据库后进入界面:
可以看到具体的节点状态等统计信息,然后我们点击左侧的 NODES
即可查看节点分片的情况,这里不再详细展示了。
现在我们马上要做的是为 root
用户设置密码,首先点击左侧的 USERS
然后选择 root
用户,点击下面的 Change Password
按钮:
然后输入两次新的密码,保存即可。
然后正常开发和运行时访问不建议使用 root
用户,可以创建专门应用使用的用户并设置访问权限即可。
注意:如果未来要修改 ArangoDB 的配置,需要修改数据目录下对应的配置文件,然后重启后生效。