国产服务器【银河麒麟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(公众号:码尚云软件)
如果本文对您有帮助,欢迎 点赞👍 | 收藏⭐ | 关注👦,获取更多运维干货!
如有疑问,欢迎在评论区留言交流~