elasticsearch安装-elasticsearch 7.17.10 for RHEL 9安装配置及升级迁移详细过程
1. 硬件环境检查
在安装elasticsearch之前,必须对服务器的硬件环境进行全面检查,确保满足elasticsearch 7.17.10的最低要求。更多学习教程www.fgedu.net.cn
# free -h
total used free shared buff/cache available
Mem: 32G 2.1G 28G 8.5M 1.8G 29G
Swap: 16G 0B 16G
# 检查磁盘空间
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 8.5M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sda1 50G 15G 36G 30% /
/dev/sdb1 500G 20G 480G 4% /data
# 检查CPU核心数
# nproc
8
# 检查系统架构
# uname -m
x86_64
2. 操作系统检查
elasticsearch 7.17.10支持RHEL 7.3+、RHEL 8.0+、RHEL 9.0+等操作系统。本文以RHEL 9为例。学习交流加群风哥微信: itpux-com
# cat /etc/redhat-release
Red Hat Enterprise Linux release 9.0 (Plow)
# 检查内核版本
# uname -r
5.14.0-70.22.1.el9_0.x86_64
# 检查SELinux状态
# getenforce
Disabled
# 关闭SELinux(如未关闭)
# vi /etc/selinux/config
SELINUX=disabled
# 检查防火墙状态
# systemctl status firewalld
# 开放elasticsearch相关端口
# firewall-cmd –permanent –add-port=9200/tcp
# firewall-cmd –permanent –add-port=9300/tcp
# firewall-cmd –reload
3. 安装准备
在安装elasticsearch之前,需要进行一系列准备工作,包括安装Java、配置系统参数等。
# dnf install -y java-11-openjdk-devel
# 检查Java版本
# java -version
openjdk version “11.0.16”
OpenJDK Runtime Environment (build 11.0.16+8)
OpenJDK 64-Bit Server VM (build 11.0.16+8, mixed mode)
# 安装必要的依赖
# dnf install -y wget tar
# 调整系统参数
# 修改系统限制
# vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
# 修改内核参数
# vi /etc/sysctl.conf
vm.max_map_count=262144
# 使内核参数生效
# sysctl -p
4. elasticsearch软件安装
现在开始安装elasticsearch 7.17.10软件,按照以下步骤进行。
# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.10-linux-x86_64.tar.gz
# 解压安装包
# tar -xzvf elasticsearch-7.17.10-linux-x86_64.tar.gz
# mv elasticsearch-7.17.10 /opt/elasticsearch
# 创建用户
# useradd elasticsearch
# chown -R elasticsearch:elasticsearch /opt/elasticsearch
# 创建数据和日志目录
# mkdir -p /var/lib/elasticsearch /var/log/elasticsearch
# chown -R elasticsearch:elasticsearch /var/lib/elasticsearch /var/log/elasticsearch
5. 数据库配置
配置ElasticSearch的核心配置文件。
# vi /opt/elasticsearch/config/elasticsearch.yml
cluster.name: my-cluster
node.name: node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
http.port: 9200
discovery.type: single-node
# 配置JVM参数
# vi /opt/elasticsearch/config/jvm.options
-Xms16g
-Xmx16g
# su – elasticsearch -c “/opt/elasticsearch/bin/elasticsearch -d”
# 设置开机自启
# vi /etc/systemd/system/elasticsearch.service
[Unit]
Description=Elasticsearch
After=network.target
[Service]
Type=simple
User=elasticsearch
ExecStart=/opt/elasticsearch/bin/elasticsearch
Restart=on-failure
[Install]
WantedBy=multi-user.target
# 启用服务
# systemctl daemon-reload
# systemctl enable elasticsearch
# systemctl start elasticsearch
# 验证服务状态
# systemctl status elasticsearch
6. 测试验证
启动ElasticSearch并验证功能正常。学习交流加群风哥QQ113257174
# curl http://localhost:9200
{
“name” : “node-1”,
“cluster_name” : “my-cluster”,
“cluster_uuid” : “abcdef123456”,
“version” : {
“number” : “7.17.10”,
“build_flavor” : “default”,
“build_type” : “tar”,
“build_hash” : “1234567”,
“build_date” : “2023-02-08T15:21:16.449963995Z”,
“build_snapshot” : false,
“lucene_version” : “8.11.1”,
“minimum_wire_compatibility_version” : “6.8.0”,
“minimum_index_compatibility_version” : “6.0.0-beta1”
},
“tagline” : “You Know, for Search”
}
# 测试索引操作
# 创建索引
# curl -X PUT “localhost:9200/test-index”
# 插入数据
# curl -X POST “localhost:9200/test-index/_doc/1” -H “Content-Type: application/json” -d ‘{“name”: “test”, “value”: 123}’
# 查询数据
# curl -X GET “localhost:9200/test-index/_doc/1”
# 检查集群状态
# curl http://localhost:9200/_cluster/health
7. 备份配置
配置ElasticSearch备份策略,确保数据安全。
# mkdir -p /backup/elasticsearch
# chown -R elasticsearch:elasticsearch /backup/elasticsearch
# 配置快照仓库
# curl -X PUT “localhost:9200/_snapshot/my_backup” -H “Content-Type: application/json” -d ‘{
“type”: “fs”,
“settings”: {
“location”: “/backup/elasticsearch”
}
}’
# 创建快照
# curl -X PUT “localhost:9200/_snapshot/my_backup/snapshot_1”
# 查看快照
# curl -X GET “localhost:9200/_snapshot/my_backup/snapshot_1”
# 创建备份脚本
# vi /root/backup_elasticsearch.sh
#!/bin/bash
DATE=$(date +%Y%m%d)
# 创建快照
curl -X PUT “localhost:9200/_snapshot/my_backup/snapshot_$DATE”
# 清理30天前的快照
curl -X DELETE “localhost:9200/_snapshot/my_backup/snapshot_$(date -d ’30 days ago’ +%Y%m%d)”
# 给脚本添加执行权限
# chmod +x /root/backup_elasticsearch.sh
# 添加到crontab
# crontab -e
# 添加以下内容(每天凌晨2点执行备份)
0 2 * * * /root/backup_elasticsearch.sh
8. 升级迁移
ElasticSearch的升级和迁移过程。
# 1. 备份配置和数据
# /root/backup_elasticsearch.sh
# 2. 停止ElasticSearch服务
# systemctl stop elasticsearch
# 3. 下载新版本
# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.10-linux-x86_64.tar.gz
# 4. 解压安装包
# tar -xzvf elasticsearch-7.17.10-linux-x86_64.tar.gz
# mv /opt/elasticsearch /opt/elasticsearch-old
# mv elasticsearch-7.17.10 /opt/elasticsearch
# 5. 复制配置文件
# cp -r /opt/elasticsearch-old/config/* /opt/elasticsearch/config/
# 6. 设置权限
# chown -R elasticsearch:elasticsearch /opt/elasticsearch
# 7. 启动ElasticSearch服务
# systemctl start elasticsearch
# 8. 验证升级结果
# curl http://localhost:9200
# 从旧版本ElasticSearch迁移到ElasticSearch 7.17.10
# 1. 在旧系统上创建快照
# curl -X PUT “old-server:9200/_snapshot/my_backup/snapshot_migration”
# 2. 将备份文件复制到新系统
# scp -r /backup/elasticsearch/* new-server:/backup/elasticsearch/
# 3. 在新系统上注册快照仓库
# curl -X PUT “localhost:9200/_snapshot/my_backup” -H “Content-Type: application/json” -d ‘{
“type”: “fs”,
“settings”: {
“location”: “/backup/elasticsearch”
}
}’
# 4. 恢复快照
# curl -X POST “localhost:9200/_snapshot/my_backup/snapshot_migration/_restore”
# 5. 验证迁移结果
# curl http://localhost:9200/_cat/indices
9. 总结
本文详细介绍了elasticsearch 7.17.10 for RHEL 9的安装、配置、升级和迁移过程。通过按照本文的步骤操作,可以成功部署ElasticSearch服务并确保其稳定运行。from:fengge
– 定期备份ElasticSearch数据和配置,建议每天执行一次全备份
– 监控ElasticSearch性能,定期检查服务状态和日志
– 定期更新ElasticSearch版本,确保系统安全性和性能
– 合理规划ElasticSearch存储,避免空间不足
– 配置合适的参数,优化ElasticSearch性能
– 对于生产环境,建议部署多节点集群,提高可用性和可靠性
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
