Elasticsearch安装和数据迁移

打印 上一主题 下一主题

主题 844|帖子 844|积分 2532

Elasticsearch安装和数据迁移

Elasticsearch安装


  • 下载并解压Elasticsearch
    首先下载Elasticsearch的tar.gz文件,并将其解压:
  1. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.8.2-linux-x86_64.tar.gz
  2. tar -xzf elasticsearch-8.8.2-linux-x86_64.tar.gz
  3. cd elasticsearch-8.8.2
复制代码

  • 创建新用户(推荐)
    由于Elasticsearch不推荐以root用户运行,建议创建一个普通用户来运行它:
  1. sudo adduser elastic
  2. sudo passwd elastic
  3. 设置密码:自己创建一个能记住的密码
复制代码

  • 修改目录权限
    将Elasticsearch安装目录的所有权更改为新用户:
  1. sudo chown -R elastic:elastic /home/elasticsearch-8.8.2
  2. sudo chown -R 777 elasticsearch-8.8.2
复制代码
配置 elasticsearch.yml
如果必要绑定特定网络接口或修改端口,可以编辑 elasticsearch.yml 配置文件:
  1. sudo nano /home/elasticsearch-8.8.2/config/elasticsearch.yml
复制代码
修改以下配置项:
  1.   yaml
  2.         network.host: 0.0.0.0
  3.         http.port: 9200
  4.    【重要】然后data logs文件夹的位置 和/home统一
复制代码

  • 修改系统JVM
  1. vim /etc/security/limits.conf  
  2. 追加
  3. elastic hard nofile 65536
  4. elastic soft nofile 65536
  5. vim /etc/sysctl.conf
  6. vm.max_map_count=655360
  7. sysctl -p
  8. ulimit -HSn 65535
复制代码
新用户添加至 sudoerslist,也可以不添加
  1. sudo cd elasticsearch-8.8.2
  2. visudo
  3. 添加 elastic ALL=(ALL) ALL
复制代码

  • 以新用户身份运行Elasticsearch
    切换到新用户,并运行Elasticsearch:
  1. bash
  2. su - elastic
  3. cd /home/elasticsearch-8.8.2
  4. ./bin/elasticsearch -d -p 19999
复制代码

  • 检查Elasticsearch是否启动
    打开欣赏器,访问 http://localhost:9200,您应该看到一个JSON相应,表明Elasticsearch正在运行。
    利用 curl 下令验证
    利用 curl 下令从下令行验证 Elasticsearch 是否正常运行:
  1. curl -X GET "localhost:9200"
复制代码

  • 节点配置成systemd服务
  1. su root
  2. cd /lib/systemd/system/      ###配置服务的目录
  3. vim /lib/systemd/system/elasticsearch.service     ###写入如下内容
复制代码
  1. [Unit]
  2. Description=elasticsearch
  3. After=network.target
  4. [Service]
  5. Type=simple
  6. User=elastic
  7. # elasticsearch安装目录
  8. ExecStart=/home/elasticsearch-8.8.2/bin/elasticsearch
  9. PrivateTmp=true
  10. # 指定此进程可以打开的最大文件数
  11. LimitNOFILE=65535
  12. # 指定此进程可以打开的最大进程数
  13. LimitNPROC=65535
  14. # 最大虚拟内存
  15. LimitAS=infinity
  16. # 最大文件大小
  17. LimitFSIZE=infinity
  18. Restart=on-failure
  19. [Install]
  20. 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数据迁移

物理迁移方式


  • 将源数据elasticsearch-8.8.2 下
    data目录 所有数据打包 成data.tar
  • 文件传输
  1. scp -P 22 -r  data.tar root@ip:/home/
复制代码
输入密码
3. 处理数据
新的elasticsearch-8.8.2中
  1. tar -zvf tar.data
复制代码
  1. cd  elasticsearch-8.8.2
复制代码
将原来的备份成 data_bak
  1. mv  data data_bak
复制代码
将源数据的data 移到新的elasticsearch-8.8.2下
  1. mv data   elasticsearch-8.8.2/
复制代码

  • 给予新的权限(不给予权限的话,启动将会报错)
    maybe these locations are not writable or multiple nodes were started on the same data path?
    办理权限问题:
  1.   chown -R 1000:1000 data
  2.   chmod -R 777 data
复制代码
如果新的Elasticsearch中已有数据,防止物理迁移造成新的Elasticsearch数据丢失,可用官方提供的logstash,进行数据迁移


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

卖不甜枣

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表