天天看点

[Ubuntu]小白也可以看的入门级 Elasticsearch 从搭建到使用,解决下载慢和外网访问问题

点击进入国内源列表页面 - 国内好人网盘下载Elasticsearch、Kibana、Logstash

PS:童叟无欺,地址不是我的。

PS:诸君自取,文末附送Python操作Elasticsearch操作代码。(抱歉抱歉,目前没有,先占坑)

安装和启动

Elasticsearch

JAVA

运行环境,因此我们需要安装

Java Development Kit

,也就是

JAVA

的开发工具包(放心,这只是安装个

JAVA

环境包,用不到

JAVA

)。

  1. 安装

    JDK

    之前要先卸载系统自带的

    openjdk

    ,卸载命令:
    sudo apt-get remove openjdk*
               
  2. 下载

    JDK

    下载链接

    选择

    jdk-8u241-linux-x64.tar.gz

    ,下载即可
  3. 安装

    JDK

    注:这里的/usr/java是自己创建的文件夹,你可以随意选择你喜欢放的地方

    • 解压至

      /usr/java

      tar zxvf jdk-8u241-linux-x64.tar.gz -C /usr/java/
                 
    • 编辑环境变量配置文件
      sudo vim ~/.bashrc
                 
    • 文件末尾加上自定义环境变量。我这里是

      /usr/java

      以及

      /usr/java/jdk

      export JAVA_HOME=/usr/java/jdk
      export JRE_HOME=${JAVA_HOME}/jre  
      export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
      export PATH=${JAVA_HOME}/bin:$PATH  
                 
    • 立即生效
      source ~/.bashrc
                 
  4. 检查

    JDK

    安装成功
    java -version
    javac -version
               
  5. Elasticsearch

    下载与安装

    官方下载链接

    可以使用文章开始提到的国内源下载,速度会很快

    我这里下载的是

    7.3

    版本,旧版本和新版本在操作上有挺多不同

    解压下载后的

    tar.gz

    包即可使用,无需安装。不得不说

    es

    系列的封装还是很友好的,达到了开箱即用的效果。
    tar zxvf elasticsearch-7.3.2-linux-x86_64.tar.gz
               
  6. Elasticsearch

    启动,在

    ES

    目录下执行以下命令即可
    bin/elasticsearch
               
    访问 http://127.0.0.1:9200/,有结果则启动成功
  7. Elasticsearch

    外网访问,遇到的坑
    • 如需外网访问,修改

      ES

      的配置文件即可。
      sudo vim config/elasticsearch.yml
                 
      找到

      network.host

      ,取消注释,修改值为

      0.0.0.0

      # Set the bind address to a specific IP (IPv4 or IPv6):
      network.host: 0.0.0.0
                 
    • 不出意外的话,重新启动会报错,下面是两个错误和对应的修复方法,诸君自取

      2.1

      错误如下:

      elasticsearch ERROR: [2] bootstrap checks failed

      [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

      修复如下:

      2.1.1 修改文件

      /etc/sysctl.conf

      sudo vim /etc/sysctl.conf
                 
      2.1.2 文件末尾添加一行配置:
      vm.max_map_count=655360
                 
      2.1.3 查看是否生效
      sudo sysctl -p
                 

      2.2

      错误如下:

      [1]: 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

      修复如下:

      2.2.1 修改文件

      elasticsearch.yml

      sudo vim config/elasticsearch.yml
                 
      2.2.2 取消注释

      cluster.initial_master_nodes

      ,保留一个节点
      # Bootstrap the cluster using an initial set of master-eligible nodes:
      cluster.initial_master_nodes: ["node-1"]
                 
      重启服务,访问正常