当前位置: 首页 > news >正文

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

这里写目录标题

  • 准备工作
  • 操作步骤
    • 1、下载所需安装包
    • 2. 创建用户组
    • 3. 解压安装包授权
    • 4. 修改配置文件
    • 5. 启动
      • `systemd`方式启动
      • 启动与检查
      • 便捷,直接启动
    • 6. 整体集群检查
  • 备注
    • 安全加固
    • JVM参数调整
  • 结束

准备工作

  • 环境要求: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=infinityRestart=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 -asudo sed -i '/swap/d' /etc/fstab

JVM参数调整

  • -Xms4g
  • -Xmx4g

结束

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

相关文章:

  • Android 的AppBarLayout 与LinearLayput的区别
  • AntV G 入门教程
  • maven编译报错java: Compilation failed: internal java compiler error
  • 如何用一台服务器用dify私有部署通用的大模型应用?
  • 小白成长之路-Rsync+sersync实现数据实时同步
  • dotnet core webapi EF 连接mysql数据库
  • 洪千武—华为海外HRBP
  • Ant Design Charts入门教程
  • 【Datawhale组队学习202506】零基础学爬虫 01 初始爬虫
  • 17.group by分组统计
  • 华为OD-2024年E卷-中文分词模拟器[200分] -- python
  • 1、做中学 | 一年级上期 Golang简介和安装环境
  • 基于Android的打印系统的设计与实现
  • PHP vs Python (Flask/Django) vs Java (SpringBoot) vs Vue:2024全栈技术终极对决
  • 最大公约数
  • UML建模
  • Ubuntu 20.04离线安装Nvidia-docker
  • 2025年全国技术贸易创新实践案例:AI编辑助手平台助力“一带一路”数字媒体产业高质量发展
  • MySQL-多表查询深度解析与实战指南
  • 如何计算股票复权因子与复权行情
  • 云南省网站开发/武汉seo网络优化公司
  • 个人网站模板/汕头网站建设方案开发
  • 类似头条的网站怎么做/如何通过网络营销自己
  • 哪些免费的网站可以做企业宣传/百度广告标识
  • wordpress下载慢/seo免费课程视频
  • web前端网站开发费用/社区营销