ElasticSearch各平台安装

举报
技术菜 发表于 2021/12/23 14:13:35 2021/12/23
【摘要】 ElasticSearch安装教程

ElasticSearch

下载地址:Elasticsearch 7.8.0 | Elastic

Windows

安装
  1. 下载windows版本的es安装压缩包,D盘新建目录servers,解压到该目录下。

  2. 解压后的目录如图所示:

  3. 进入bin目录执行elasticsearch.bat文件,弹出如图所示框则表示es成功启动了。

    打开浏览器访问localhost:9200,如果能够返回结果则表示es启动好了。

     {
       "name" : "DESKTOP-LNJQ0VF",
       "cluster_name" : "elasticsearch",
       "cluster_uuid" : "nCZqBhfdT1-pw8Yas4QU9w",
       "version" : {
         "number" : "7.8.0",
         ......
         "minimum_index_compatibility_version" : "6.0.0-beta1"
       },
       "tagline" : "You Know, for Search"
     }
报错解决
  1. ElasticSearch是使用Java开发的,需要配置Java开发环境,最好Java8以上版本。

  2. 如果双击.bat文件后,弹窗闪退,可能是内存不满足需求。修改config/jvm.options文件。

     # 设置 JVM 初始内存为 1G。此值可以设置与-Xmx 相同,以避免每次垃圾回收完成后 JVM 重新分配内存
     # Xms represents the initial size of total heap space
     # 设置 JVM 最大可用内存为 1G
     # Xmx represents the maximum size of total heap space
     -Xms1g
     -Xmx1g
集群配置
  1. 创建一个elasticsearch_cluster文件,用来放多个节点的文件。

  2. 拷贝单机部署的es文件夹,分别命名为node_1001node_1002node_1003

  3. 修改每个节点下的config/elasticsearch.yml文件

  4. 各个节点核心修改内容:

    node_1001

     cluster.name: my-elasticsearch // 集群名
     node.name=node_1001 // 节点名称,需要唯一
     #ip 地址
     network.host: localhost
     #http 端口
     http.port: 1001
     #tcp 监听端口
     transport.tcp.port: 9301
     # 跨域配置
     http.cors.enabled: true
     http.cors.allow-origin: "*"

    node_1002

     cluster.name: my-elasticsearch // 集群名
     node.name=node_1002 // 节点名称,需要唯一
     #ip 地址
     network.host: localhost
     #http 端口
     http.port: 1002
     #tcp 监听端口
     transport.tcp.port: 9302
     ​
     discovery.seed_hosts: ["localhost:9301"]
     discovery.zen.fd.ping_timeout: 1m
     discovery.zen.fd.ping_retries: 5
     ​
     # 跨域配置
     http.cors.enabled: true
     http.cors.allow-origin: "*"

    node_1003

     cluster.name: my-elasticsearch // 集群名
     node.name=node_1003 // 节点名称,需要唯一
     #ip 地址
     network.host: localhost
     #http 端口
     http.port: 1003
     #tcp 监听端口
     transport.tcp.port: 9303
     ​
     discovery.seed_hosts: ["localhost:9301", "localhost:9302"]
     discovery.zen.fd.ping_timeout: 1m
     discovery.zen.fd.ping_retries: 5
     ​
     # 跨域配置
     http.cors.enabled: true
     http.cors.allow-origin: "*"

    配置完成后,依次启动各个节点。

Linux

安装
  1. 下载Linux版本的ES。Elasticsearch 7.8.0 | Elastic

  2. 软件解压。

     tar -zxvf elasticsearch-7.8.0-Linux-x86_64.tar.gz -C /opt/module
     # 改名
     mv elasticsearch-7.8.0 es
  3. 创建新用户

    由于es的安全要求,不允许通过root用户直接运行,所以要创建新用户

     useradd es # 新增es用户
     passwd es # 为es用户设置密码
     ​
     chown -R es:es /opt/modules/es # 改变文件夹的权限
  4. 修改配置文件

    1) 修改/opt/module/es/config/elasticsearch.yml文件

     cluster.name: elasticsearch
     node.name: node-1
     network.host: 0.0.0.0
     http.port: 9200
     cluster.initial_master_nodes: ["node-1"]

    2)修改/etc/security/limits.conf

     # 在文件末尾中增加下面内容
     # 每个进程可以打开的文件数的限制
     es soft nofile 65536
     es hard nofile 65536

    3) 修改/etc/security/limits.d/20-nproc.conf

     # 在文件末尾中增加下面内容
     # 每个进程可以打开的文件数的限制
     es soft nofile 65536
     es hard nofile 65536
     # 操作系统级别对每个用户创建的进程数的限制
     * hard nproc 4096
     # 注:* 带表 Linux 所有用户名称

    4)修改/etc/sysctl.conf

     # 在文件中增加下面内容
     # 一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536
     vm.max_map_count=655360

    5)重新加载

     sysctl -p
  5. 启动软件

    切换到es用户下,执行如下命令:

     cd /opt/module/es
     #启动
     bin/elasticsearch
     #后台启动
     bin/elasticsearch -d
  6. 关闭防火墙

     #暂时关闭防火墙
     systemctl stop firewalld
     #永久关闭防火墙
     systemctl enable firewalld.service #打开放货抢永久性生效,重启后不会复原
     systemctl disable firewalld.service #关闭防火墙,永久性生效,重启后不会复原
集群配置

多台es分别部署在不同的系统上

修改/opt/modules/es/config/elasticsearch.yml

 # 加入如下配置
 #集群名称
 cluster.name: cluster-es
 #节点名称,每个节点的名称不能重复
 node.name: node-1 # node-2 node-3
 #ip 地址,每个节点的地址不能重复
 network.host: Linux1 # Linux2 Linux3
 #是不是有资格主节点
 node.master: true
 node.data: true
 http.port: 9200
 # head 插件需要这打开这两个配置
 http.cors.allow-origin: "*"
 http.cors.enabled: true
 http.max_content_length: 200mb
 #es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
 cluster.initial_master_nodes: ["node-1"]
 #es7.x 之后新增的配置,节点发现
 discovery.seed_hosts: ["Linux1:9300","Linux2:9300","Linux3:9300"]
 gateway.recover_after_nodes: 2
 network.tcp.keep_alive: true
 network.tcp.no_delay: true
 transport.tcp.compress: true
 #集群内同时启动的数据任务个数,默认是 2 个
 cluster.routing.allocation.cluster_concurrent_rebalance: 16
 #添加或删除节点及负载均衡时并发恢复的线程个数,默认 4 个
 cluster.routing.allocation.node_concurrent_recoveries: 16
 #初始化数据恢复时,并发恢复线程的个数,默认 4 个
 cluster.routing.allocation.node_initial_primaries_recoveries: 16

分别启动不同设备上的es,形成集群。

kibana安装(Linux)

  1. 下载kibana程序,需要注意的是,版本最好与安装的es版本稍小 或者相同。否则可能导致无法运行

    华为云镜像

  2. 上传tar.gz包到Linux文件夹下/software,没有新建

  3. 进行software文件夹,执行解压操作,root用户下

     tar -zxvf kibana...tar.gz -C /opt/module
     # 修改 名称
     mv kibana.... kibana
     # 角色授权,方便其他用户可以修改
     chown -R es:es /opt/module/kibana
  4. 修改kibana配置文件,切换到 es用户下

     su es
     vim /kibana/config/kibana.yaml
     ​
     # 主要修改文件中以下内容
     server.port:5610
     server.host: "X.X.X.X"
     elasticsearch.hosts:["http://X.X.X.X:9200"]
  5. 切换到kibana 的 bin目录下,准备启动

     cd kibana/bin
     ./kibana # 先前台启动看是否正常启动,后面改成后台启动
     nohup ./kibana &
  6. 防火墙记得打开对应的端口哦

  7. 访问页面:https:xxx:5601。 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200