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

Elasticsearch安装和数据迁移

Elasticsearch安装和数据迁移

Elasticsearch安装
  1. 下载并解压Elasticsearch
    首先下载Elasticsearch的tar.gz文件,并将其解压:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.8.2-linux-x86_64.tar.gz
tar -xzf elasticsearch-8.8.2-linux-x86_64.tar.gz
cd elasticsearch-8.8.2
  1. 创建新用户(推荐)
    由于Elasticsearch不推荐以root用户运行,建议创建一个普通用户来运行它:
sudo adduser elastic
sudo passwd elastic
设置密码:自己创建一个能记住的密码
  1. 修改目录权限
    将Elasticsearch安装目录的所有权更改为新用户:
sudo chown -R elastic:elastic /home/elasticsearch-8.8.2
sudo chown -R 777 elasticsearch-8.8.2

配置 elasticsearch.yml
如果需要绑定特定网络接口或修改端口,可以编辑 elasticsearch.yml 配置文件:

sudo nano /home/elasticsearch-8.8.2/config/elasticsearch.yml

修改以下配置项:

  yamlnetwork.host: 0.0.0.0http.port: 9200【重要】然后data logs文件夹的位置 和/home统一
  1. 修改系统JVM
vim /etc/security/limits.conf  
追加
elastic hard nofile 65536
elastic soft nofile 65536
vim /etc/sysctl.conf
vm.max_map_count=655360
sysctl -p
ulimit -HSn 65535

新用户添加至 sudoerslist,也可以不添加

sudo cd elasticsearch-8.8.2visudo添加 elastic ALL=(ALL) ALL
  1. 以新用户身份运行Elasticsearch
    切换到新用户,并运行Elasticsearch:
bash
su - elastic
cd /home/elasticsearch-8.8.2
./bin/elasticsearch -d -p 19999
  1. 检查Elasticsearch是否启动
    打开浏览器,访问 http://localhost:9200,您应该看到一个JSON响应,表明Elasticsearch正在运行。
    使用 curl 命令验证
    使用 curl 命令从命令行验证 Elasticsearch 是否正常运行:
curl -X GET "localhost:9200"
  1. 节点配置成systemd服务
su root cd /lib/systemd/system/      ###配置服务的目录vim /lib/systemd/system/elasticsearch.service     ###写入如下内容
[Unit]Description=elasticsearchAfter=network.target[Service]Type=simpleUser=elastic# elasticsearch安装目录ExecStart=/home/elasticsearch-8.8.2/bin/elasticsearchPrivateTmp=true# 指定此进程可以打开的最大文件数LimitNOFILE=65535# 指定此进程可以打开的最大进程数LimitNPROC=65535# 最大虚拟内存LimitAS=infinity# 最大文件大小LimitFSIZE=infinityRestart=on-failure[Install]WantedBy=multi-user.target
  • 更新systemd配置文件
    systemctl daemon-reload
  • 使服务生效
    systemctl enable elasticsearch
  • 启动服务
    systemctl start elasticsearch
  • 查看服务状态
    systemctl status elasticsearch
    常见问题处理
    1. fatal exception while booting Elasticsearchjava.lang.IllegalArgumentException: node settings must not contain any index level settings
    删掉
    在这里插入图片描述

2. 如果服务连接不上ElsticSearch,则检查下安全连接机制,都要关闭

在这里插入图片描述

Elasticsearch数据迁移
物理迁移方式
  1. 将源数据elasticsearch-8.8.2 下
    data目录 所有数据打包 成data.tar
  2. 文件传输
scp -P 22 -r  data.tar root@ip:/home/

输入密码
3. 处理数据
新的elasticsearch-8.8.2中

tar -zvf tar.data
cd  elasticsearch-8.8.2

将原来的备份成 data_bak

mv  data data_bak

将源数据的data 移到新的elasticsearch-8.8.2下

mv data   elasticsearch-8.8.2/
  1. 给予新的权限(不给予权限的话,启动将会报错)
    maybe these locations are not writable or multiple nodes were started on the same data path?
    解决权限问题:
  chown -R 1000:1000 datachmod -R 777 data
如果新的Elasticsearch中已有数据,防止物理迁移造成新的Elasticsearch数据丢失,可用官方提供的logstash,进行数据迁移
http://www.lryc.cn/news/511068.html

相关文章:

  • Numpy指南:解锁Python多维数组与矩阵运算(下)
  • 路由器刷机TP-Link tp-link-WDR5660 路由器升级宽带速度
  • VB.NET在 Excel 二次开发中的全面应用
  • uni-app使用组件button遇到的问题
  • 如何在Express.js中处理异常情况?
  • CKA认证 | Day7 K8s存储
  • ArcGIS Pro地形图四至角图经纬度标注与格网标注
  • 策略模式以及优化
  • linux自动化一键批量检查主机端口
  • Vue3入门(9)
  • 《人工智能如何加速药物研发进程:从新药发现到临床试验的突破》
  • “鼎和财险一体化数据安全管控实践”入选信通院金融领域优秀案例
  • 探索多模态大语言模型(MLLMs)的推理能力
  • 72 mysql 的客户端和服务器交互 returnGeneratedKeys
  • 【连续学习之SSL算法】2018年论文Selfless sequential learning
  • 【蓝桥杯——物联网设计与开发】拓展模块5 - 光敏/热释电模块
  • 数字IC后端设计实现十大精华主题分享
  • 高质量配音如何影响游戏的受欢迎度
  • QWidget应用封装为qt插件,供其他qt应用调用
  • UE(虚幻)学习(四) 第一个C++类来控制小球移动来理解蓝图和脚本如何工作
  • 使用FreeNAS软件部署ISCSI的SAN架构存储(IP-SAN)练习题
  • Sql Sqserver 相关知识总结
  • 面试题整理17----K8s中request和limit资源限制是如何实现的
  • Spring Boot @Conditional注解
  • jpeg文件学习
  • c++基于过程
  • FOC软件 STM32CubeMX 使用
  • leetcode hot 100 全排列
  • 使用qrcode.vue生成当前网页的二维码(H5)
  • 0055. shell命令--useradd