阿里云部署

阿里云部署指南 #

本文介绍在阿里云 ECS 上部署 Easysearch 集群的推荐配置与实践。

推荐实例规格 #

节点角色实例族规格示例说明
Master(专用)通用型 g7ecs.g7.xlarge (4C16G)轻量计算,稳定即可
Data存储增强型 i3 / 本地 SSD 型ecs.i3.2xlarge (8C64G)本地 NVMe SSD,高 IOPS
Data(云盘方案)通用型 g7ecs.g7.4xlarge (16C64G)搭配 ESSD PL1/PL2
Coordinating计算型 c7ecs.c7.2xlarge (8C16G)按查询并发酌情添加

生产环境至少 3 节点,跨可用区部署以实现高可用。

存储选择 #

存储类型IOPS适用场景
本地 NVMe SSD (i 系列)极高高写入吞吐、大数据量
ESSD PL150,000通用生产环境
ESSD PL2100,000高性能搜索场景
高效云盘5,000测试环境 / 冷数据

建议:

  • 数据盘单独挂载到 /data,不要与系统盘混用
  • 使用 ext4 或 xfs 文件系统
  • 关闭 atime:mount -o noatime /dev/vdb /data

网络配置 #

VPC 与安全组 #

VPC CIDR: 10.0.0.0/16
子网:
  - 10.0.1.0/24(可用区 A)
  - 10.0.2.0/24(可用区 B)
  - 10.0.3.0/24(可用区 C)

安全组规则(最小化):

方向端口来源说明
入方向9200应用服务器安全组REST API
入方向9300Easysearch 安全组节点间通信
入方向22运维跳板机SSH 管理

不要将 9200 / 9300 端口暴露到公网。

跨可用区部署 #

将 3 个节点分别部署在不同可用区,配置 node.attr.zone 进行感知分配:

# node-1 (可用区 A)
node.attr.zone: cn-hangzhou-a

# node-2 (可用区 B)
node.attr.zone: cn-hangzhou-b

# node-3 (可用区 C)
node.attr.zone: cn-hangzhou-c

配合分片分配感知:

cluster.routing.allocation.awareness.attributes: zone

安装步骤 #

# 1. 系统调优(参考系统调优文档)
sysctl -w vm.max_map_count=262144
echo "vm.max_map_count=262144" >> /etc/sysctl.conf
ulimit -n 65535
swapoff -a

# 2. 创建用户
groupadd -g 602 easysearch
useradd -u 602 -g easysearch -m -d /home/easysearch easysearch

# 3. 一键安装
curl -sSL http://get.infini.cloud | bash -s -- -p easysearch

# 4. 挂载数据盘
mkfs.ext4 /dev/vdb
mount -o noatime /dev/vdb /data
echo "/dev/vdb /data ext4 noatime 0 0" >> /etc/fstab

# 5. 配置 JDK
ln -s /usr/lib/jvm/java-17 /data/easysearch/jdk

# 6. 修改配置文件(见上方节点配置示例)

# 7. 初始化并启动
cd /data/easysearch
bin/initialize.sh -s
chown -R easysearch:easysearch /data/easysearch
su easysearch -c "/data/easysearch/bin/easysearch -d"

备份到 OSS #

阿里云环境推荐使用 OSS 作为快照仓库:

PUT _snapshot/aliyun_oss
{
  "type": "fs",
  "settings": {
    "location": "/mnt/oss-backup/easysearch"
  }
}

可通过 ossfs 将 OSS bucket 挂载到本地路径,或使用 S3 兼容接口。

延伸阅读 #