Elasticsearch搭建

Elasticsearch 搭建

一、Linux环境

  1. 安装jdk环境

  2. 创建elasticsearch目录

    cd /usr/local
    
    mkdir elasticsearch
    
    cd elasticsearch
    
  3. 下载/解压/配置elasticsearch

    curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-linux-x86_64.tar.gz
    
    tar -xvf elasticsearch-7.6.2-linux-x86_64.tar.gz
    
    cd conig
    
    vi elasticsearch.yml
    
    http.port: 9200
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    network.host: 0.0.0.0
    bootstrap.memory_lock: false
    #配置以下三者,最少其一
    ##[discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes]
    cluster.initial_master_nodes: ["node-1"] #这里的node-1为node-name配置的值
    
  4. 启动elasticsearch

    cd elasticsearch-7.6.2/bin
    
    ./elasticsearch
    
  5. 观察是否有报错

    • 如出现:org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

      不允许使用root用户启动,那么我们新建一个es用户,并赋予权限

      //添加es用户
      useradd es
      //添加es用户密码
      passwd es
      //赋予权限
      chown -R es:es /usr/local/elasticsearch
      
      //切换为es用户
      su es
      
      //启动es
      ./elasticsearch
      
      //检测是否成功启动
      curl -X GET http://localhost:9200
      
    1. 后台启动elasticsearch

      //切换用户
      su es
      
      /usr/local/tool/elasticsearch/elasticsearch-7.6.2/bin/elasticsearch -d
      
    2. 设置外网访问

      • 开放端口

        //查询已开放的端口
        netstat -anp
        
        //查询指定端口是否已开 
        //提示 yes,表示开启;no表示未开启。
        firewall-cmd --query-port=9200/tcp
        
        //查看防火墙状态
        systemctl status firewalld
        //开启防火墙 
        systemctl start firewalld  
        //关闭防火墙 
        systemctl stop firewalld
        //开启防火墙 
        service firewalld start 
        //若遇到无法开启
        先用:systemctl unmask firewalld.service 
        然后:systemctl start firewalld.service
        
        //添加指定需要开放的端口:
        firewall-cmd --add-port=9200/tcp --permanent
        //重载入添加的端口:
        firewall-cmd --reload
        
      • 启动外网访问

        cd /usr/local/elasticsearch/elasticsearch-7.6.2/config
        
        //修改elasticsearch.yml
        vi elasticsearch.yml
        //文件内增加如下代码
        network.host: 0.0.0.0
        
        

        若再次启动./elasticsearch报错"max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]"

        //编辑 
        vi /etc/sysctl.conf
        //追加以下内容:
        vm.max_map_count=655360
        //保存后,执行:
        sysctl -p
        
        //重新启动,成功。
        

        若再次启动./elasticsearch报错" the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured"

        //在elasticsearch的config目录下,修改elasticsearch.yml配置文件,将下面的配置加入到该配置文件中
        cd /usr/local/elasticsearch/elasticsearch-7.6.2/config
        
        vi elasticsearch.yml
        
        #ip替换host1等,多节点请添加多个ip地址,单节点可写按默认来
        #配置以下三者,最少其一
        #[discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes]
        cluster.initial_master_nodes: ["node-1"] #这里的node-1为node-name配置的值
        
        
posted @ 2022-02-16 18:55  PhilJ  阅读(329)  评论(0)    收藏  举报