暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

如何快速搭建高可用 Easysearch 集群 ?Ubuntu 多节点部署指南

不论是否具备 Elasticsearch 基础,部署单节点的 Easysearch 集群都非常容易。 

具体参考:

1、单节点 Easysearch 集群部署步骤

官方文档地址

https://docs.infinilabs.com/easysearch/main/docs/getting-started/install/linux/

手动安装——以 root 用户进行下面的操作:

1.1 JDK 安装模块

1.1.1 下载 JDK

# 下载JDK并存储到/usr/src目录
wget -N https://release.infinilabs.com/easysearch/jdk/zulu17.40.19-ca-jdk17.0.6-linux_x64.tar.gz -P usr/src

1.1.2 创建 JDK 解压后存储路径

mkdir -p usr/local/jdk

1.1.3 解压文件到创建好的目录

tar -zxf usr/src/zulu*.tar.gz -C usr/local/jdk --strip-components 1

1.1.4 配置环境变量

# 下载文件到/etc/profile.d
wget -N https://release.infinilabs.com/easysearch/archive/java.sh -P etc/profile.d

1.1.5 让配置生效

source /etc/profile

1.1.6 检查 java 版本信息

java -version

1.2 Easysearch 安装模块

1.2.1 通过在线脚本进行 Easysearch 安装

curl -sSL http://get.infini.cloud |bash -s -- -p easysearch

1.3 用户权限设置模块

1.3.1 创建 easysearch 用户组

groupadd -g 602 easysearch

1.3.2 创建 easysearch 用户,并添加到 easysearch 用户组

useradd -u 602 -g easysearch -m -d home/easysearch -c "Easysearch user" -s bin/bash easysearch

1.3.3 将 JDK 放置或通过软链接到 opt/easysearch/jdk

ln -s usr/local/jdk opt/easysearch/jdk

1.2.2 初始化证书,密码及插件

cd /opt/easysearch && bin/initialize.sh

1.3.4 调整目录属主为 easysearch

chown -R easysearch:easysearch opt/easysearch

1.3.5 切换到 easysearch 用户

su - easysearch

1.4 运行 Easysearch

cd /opt/easysearch && bin/easysearch

至此,单节点 Easysearch 集群部署ok。

可以两种方式访问验证。

其一:浏览器 9200 端口验证。


其二:console 极限控制台连接验证。


2、Easysearch VS  Elasticsearch

有读者提问,这不就是官方文档步骤吗?

对的,单节点部署官方已经提供了极简步骤,非常方便。

相比于 Elasticsearch,相关插件的安装也都一步到位。


已经一键安装的插件包含:

序号
插件名称
插件用途
1
analysis-ik
中文分词插件,支持中文文本的分词处理
2
analysis-pinyin
拼音转换插件,可将中文转换为拼音形式
3
analysis-stconvert
简繁体中文转换插件
4
index-management
索引生命周期管理插件,支持索引的自动化管理
5
ingest-common
数据摄入通用处理插件,提供基础数据处理功能
6
ingest-geotp
地理位置数据处理插件,支持地理坐标的转换和分析
7
ingest-user-agent
用户代理解析插件,用于解析浏览器/设备信息
8
knn
近似最近邻搜索插件,支持机器学习模型的向量相似性搜索
9
mapper-annotated-text
注解文本映射插件,支持包含标记的文本字段类型
10
mapper-murmur3
Murmur3哈希计算插件,可为文档生成哈希值
11
mapper-size
文档大小映射插件,可索引文档的原始大小
12
sql
SQL查询插件,支持用标准SQL语法查询数据
13
transport-nlo
网络传输优化插件,提升集群节点间的通信性能

3、多节点集群 Easysearch 部署步骤

这个基本会和 Elasticsearch 部署方式一致。

我下面在本机Ubutun环境(模拟多节点)验证ok。

3.1 步骤1:修改上述单节点集群部署配置和数据部分

多个节点模拟需要端口区分。

所以,要修改配置,具体修改参考如下:

easysearch@syb-3660:/opt/easysearch$ cat ./config/easysearch.yml
cluster.name: easysearch
node.name: node-1
#node.attr.rack: r1
#path.data: path/to/data
#path.logs: /path/to/logs
#bootstrap.memory_lock: true
network.host: 10.100.131.103
http.port: 9200
transport.port: 9300
discovery.seed_hosts: ["10.100.131.103:9300""10.100.131.103:9301"]
cluster.initial_master_nodes: ["node-1""node-2"]

清空 data 路径下内容(非常关键)。


3.2 步骤2:复制 easysearch 安全包全部内容到 easysearch_02.

也就是一个节点可以扩展为两个节点。

第二个节点的核心配置。

cluster.name: easysearch
node.name: node-2
#node.attr.rack: r1
#path.data: /path/to/data
#path.logs: /path/to/logs
#bootstrap.memory_lock: true
network.host: 10.100.131.103
http.port: 9201
transport.port: 9301
discovery.seed_hosts: ["10.100.131.103:9300""10.100.131.103:9301"]
cluster.initial_master_nodes: ["node-1""node-2"]

一定要修改好节点1、节点2的配置后,再重新启动两个节点即可完成集群的部署和访问。

最终极限控制台两个节点部署成功的效果如下图所示。



4、三个或者三个以上的结点的部署

那如果三个节点或者多余三个节点,也可以参考上述步骤。

不同点在于要提前区分好节点的角色的划分。

必要时独立设置:协调节点、主节点、数据节点。

5、小结

Easysearch 集群部署基本和 Elasticsearch 集群部署方式类似。 脚本精简的部署方式的确比较方便。

如果你所在企业有国产化需求,可以考虑切换部署。


  1. Elasticsearch 国产化替代方案之一 Easysearch 的介绍与部署指南

  2. 读者留言:有 Elasticsearch 国产化替代品吗?现在国产化不让用 ES 了......

  3. 多个 Elasticsearch 集群要一起监控,怎么办?

  4. 极限网关六个企业级应用场景

  5. Elasticsearch 集群如何进行读写限流?

  6. 公司有系统 Elasticsearch 查询传入 10 万个字符的 Query,导致集群爆掉,怎么办?

  7. Elasticsearch 中如何限制和指定 IP 地址的访问?

短时间快习得多干货!

和全球2000+ Elastic 爱好者一起精进!

elastic6.cn——ElasticStack进阶助手


抢先一步学习进阶干货

文章转载自铭毅天下Elasticsearch,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

潇湘秦
暂无图片 暂无图片
关注
暂无图片
获得了537次点赞
暂无图片
内容获得209次评论
暂无图片
获得了877次收藏