国产服务器【银河麒麟v10】【CPU鲲鹏920】部署es 7.15.2

发布于:2025-06-19 ⋅ 阅读:(16) ⋅ 点赞:(0)

准备工作

  • 环境要求:JDK 8+
  • rocketmq-all-5.2.0-bin-release.zip 安装包

操作步骤

1、下载所需安装包

  • 方式1 去官网自行下载所需版本
    https://www.elastic.co/downloads/past-releases#elasticsearch
  • 方式2
    点击下载 提取码: k7ny
  • 注意一定要是Linux aarch64版本
    在这里插入图片描述

2. 创建用户组

只允许普通用户操作,不允许root用户
注意:因为elasticsearch有远程执行脚本的功能所以容易中木马病毒,所以不允许用root用户启动,root用户是起不来的,赋权限,用一般的用户启动
要配置network.host才能别的机器或者网卡访问,否则只能是127.0.0.1或者localhost访问,这里配置成自己的局域网ip
注意:配置yml结尾的配置文件都需要冒号后面加空格才行

  • 查看用户组
    cut -d : -f 1 /etc/passwd
  • 创建新的用户
    adduser elasticsearch
  • 新用户设置密码
    passwd elasticsearch

3. 解压安装包授权

  • root用户解压文件
    tar -zxvf elasticsearch-7.15.2-linux-aarch64.tar.gz
  • 设置授权范围
    chown -R elasticsearch:elasticsearch /es/elasticsearch-7.15.2/

4. 修改配置文件

所有机器的配置文件大致一样,只是要注意node-name必须是唯一的
具体看自己部署节点的数量情况
第一次启动需要设置cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
启动后直接注释 方式下次重启出现冲突(第一次es会处理搭建集群环境)

# ---------------------------------- Cluster -----------------------------------
cluster.name: my-application
# ------------------------------------ Node ------------------------------------
node.name: node-1
# ----------------------------------- Paths ------------------------------------
path.data: /es/elasticsearch-7.15.2/data
path.logs: /es/elasticsearch-7.15.2/logs
# ----------------------------------- Memory -----------------------------------
#
# Lock the memory on startup:
#
#bootstrap.memory_lock: false
# ---------------------------------- Network -----------------------------------
network.host: 0.0.0.0
http.port: 9200
# --------------------------------- Discovery ----------------------------------
discovery.seed_hosts: ["192.171.135.7:9300", "192.171.135.8:9300", "192.171.135.9:9300"]
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
  • 这里有一点配置bootstrap.memory_lock: true 这个看个人场景进行配置
  • 其实就是提升性能的一个配置
  • 可以自行百度怎么设置 也可Deepseek一下这个参数 他就能告诉你

5. 启动

systemd方式启动

  • 创建 Systemd 服务文件
    sudo vi /etc/systemd/system/elasticsearch.service
[Unit]
Description=Elasticsearch
After=network.target

[Service]
User=elasticsearch
Group=elasticsearch
Environment="ES_HOME=/es/elasticsearch-7.15.2"
Environment="ES_PATH_CONF=/es/elasticsearch-7.15.2/config"
ExecStart=/es/elasticsearch-7.15.2/bin/elasticsearch

# 禁用内存锁定(如果未启用)
LimitMEMLOCK=infinity

Restart=always
RestartSec=30s

[Install]
WantedBy=multi-user.target

启动与检查

# 重载 Systemd
sudo systemctl daemon-reload

# 启动服务
sudo systemctl start elasticsearch

# 设置开机自启
sudo systemctl enable elasticsearch

# 查看状态
sudo systemctl status elasticsearch


# 期望输出
Active: active (running)

# 查看日志
sudo journalctl -u elasticsearch.service -f

便捷,直接启动

# 切换到 elasticsearch 用户并启动
sudo -u elasticsearch /es/elasticsearch-7.15.2/bin/elasticsearch

#首次启动成功后​,立即在所有节点的配置文件中注释掉
#cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]  # 注释此行


# 按 Ctrl+C 停止当前运行进程,然后重新启动
sudo -u elasticsearch /es/elasticsearch-7.15.2/bin/elasticsearch

启动时候如果出现内存不足是请先检查sudo sysctl vm.max_map_count
正常情况es要求至少262144 否则无法启动

# 方式1 临时修改
sudo sysctl -w vm.max_map_count=262144


# 方式2 永久生效

# 编辑 sysctl 配置文件
sudo vi /etc/sysctl.conf

# 在文件末尾添加(或修改)以下行
vm.max_map_count=262144

# 加载新配置
sudo sysctl -p

# 再次验证sudo sysctl vm.max_map_count

6. 整体集群检查

# 任意节点执行
curl http://192.171.135.7:9200/_cluster/health?pretty

# 期望输出
{
  "cluster_name" : "my-application",
  "status" : "green",  // 或 yellow(若索引副本未分配)
  "number_of_nodes" : 3,
  "active_primary_shards" : ...,
  "active_shards" : ...
}

# 检查节点列表
curl http://192.171.135.7:9200/_cat/nodes?v
# 期望输出
ip            heap.percent ram.percent cpu master name
192.171.135.7           35          95   5       *      node-1
192.171.135.8           30          95   3       -      node-2
192.171.135.9           32          95   4       -      node-3

*代表当前主节点(master)

备注

安全加固

sudo swapoff -a

sudo sed -i '/swap/d' /etc/fstab

JVM参数调整

  • -Xms4g
  • -Xmx4g

结束

👨💻 作者:Teddy(公众号:码尚云软件)
如果本文对您有帮助,欢迎 点赞👍 | 收藏⭐ | 关注👦,获取更多运维干货!
如有疑问,欢迎在评论区留言交流~


网站公告

今日签到

点亮在社区的每一天
去签到