美文网首页linux运维
Linux安装Elasticsearch

Linux安装Elasticsearch

作者: 奇点一氪 | 来源:发表于2019-11-15 15:34 被阅读0次

    百度网盘下载

    elasticsearch

    1 安装JDK

    网上教程很多,也可以参考本人教程之前写的Linux安装JDK

    2 安装Elasticsearch

    首先到官网下载最新版本的ElasticSearch的zip压缩包,也可以复制下载地址在终端中使用wget命令直接下载到CentOS中。例如在终端中执行以下命令:
    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.tar.gz

    1.先在linux创建elsearch用户,因为elasticsearch不能用root用户操作
    useradd elsearch
    在创建安装文件夹,授权文件夹为elsearch操作

    2.//创建
    mkdir /usr/local/elasticsearch

    1. //授权
      chown elsearch:elsearch /usr/local/es -R
      chown elsearch:elsearch /usr/local/es/elasticsearch-7.6.2/logs -R

    4.上传es的文件解压到es目录
    tar -xvf elasticsearch-7.6.2-linux-x86_64.tar.gz -C es

    5.修改配置文件
    /usr/local/es/elasticsearch-7.6.2/config
    修改elasticsearch.yml
    vim elasticsearch.yml
    设置任意ip都可以连接
    network.host: 0.0.0.0
    修改jvm.options
    vim jvm.options
    -Xms128m
    -Xmx128m
    修改 /etc/sysctl.conf
    vim /etc/sysctl.conf
    vm.max_map_count=655360

    配置生效
    sysctl -p

    启动elasticsearch
    cd /usr/local/es/elasticsearch-7.6.2/bin/
    ./elasticsearch
    或者 ./elasticsearch -d 后台启动
    ``


    ``

    5.添加用户组(因为elasticsearch不能用root用户启动)

    1)创建 elasticsearch 用户组
    [root@localhost ~]# groupadd elasticsearch

    2) 创建用户 es 并设置密码为es
    [root@localhost ~]# useradd es
    [root@localhost ~]# passwd es

    3 )用户es 添加到 elasticsearch 用户组
    [root@localhost ~]# usermod -G elasticsearch es

    6..这时重新启动,不会提示任何错误了。新打开一个窗口,输入curl localhost:9200,如果有以下输出则说明启动成功。

    [king@localhost ~]$ curl localhost:9200
    {
     "name" : "ZGws7ZX",
     "cluster_name" : "elasticsearch",
     "cluster_uuid" : "yeYDTLbNQ--rmDXMi2xO-g",
     "version" : {
       "number" : "5.5.2",
       "build_hash" : "b2f0c09",
       "build_date" : "2017-08-14T12:33:14.154Z",
       "build_snapshot" : false,
       "lucene_version" : "6.6.0"
     },
     "tagline" : "You Know, for Search"
    }
    

    问题

    问题一

    直接启动,遇到如图问题,如下:



    这个问题是由于内存分配不够造成的,修改适合本机的内存,修改文件config/jvm.options

    vi ../config/jvm.options
    

    由于我的服务器内存较小,修改为512m,具体可以根据情况修改,如下:



    修改后在次启动:

    ./elasticsearch
    

    问题二

    出现如下错误:

    org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
    

    如图


    这个问题很明显,不允许使用root用户启动,那么我们新建一个es用户,并赋予权限:
    添加es用户

    useradd es
    

    添加es用户密码

    passwd es
    

    将文件夹elasticsearch-5.4.2赋予es权限

    chown -R es:es /usr/local/tool/elasticsearch/elasticsearch-5.4.2
    

    切换为es用户

    su es
    

    再次启动es

    ./elasticsearch
    

    这次启动成功了,我们在使用一个窗口登录root用户,输入命令:

    curl -X GET http://localhost:9200
    

    如图所示,可以成功访问


    问题三

    在浏览器访问http://118.24.242.170:9200/拒绝访问(118.24.242.170为服务器ip)

    使用root用户,打开elasticsearch.yml文件,如下:

    vi /usr/local/tool/elasticsearch/elasticsearch-5.4.2/config/elasticsearch.yml
    

    文件内增加如下代码

    network.host: 0.0.0.0
    

    使用es用户启动,发现又出现了错误如下,得到错误信息如图


    使用root用户打开如下文件:

    vim /etc/sysctl.conf
    

    添加如下配置:

    vm.max_map_count = 655360
    

    使配置生效

    /sbin/sysctl -p
    

    然后使用es用户启动Elasticsearch,这次可以成功启动了,如果需要后台启动的话,在启动命令后加&,如下所示:

    ./elasticsearch &
    

    相关文章

      网友评论

        本文标题:Linux安装Elasticsearch

        本文链接:https://www.haomeiwen.com/subject/ghksictx.html