zoukankan      html  css  js  c++  java
  • centos7 安装 elasticsearch

    安装java环境

    这里使用yum方式安装,前提是必须有网络

    yum install java-1.8.0-openjdk
    

    安装完成,查看java版本

    [root@localhost ~]# java -version 
    openjdk version "1.8.0_151"
    OpenJDK Runtime Environment (build 1.8.0_151-b12)
    OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
    

    安装 Elasticsearch

    Elasticsearch的安装很简单,下载下来解压即可,这里使用wget下载,当然也可通过网页下载 https://www.elastic.co/downloads/elasticsearch ,再拷贝。

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.3.tar.gz
    

    解压到/usr/local/

    tar -zxvf elasticsearch-5.6.3.tar.gz -C /usr/local/
    

    运行Elasticsearch

    Elasticsearch 要求不能使用超级用户root运行,所以我们建立一个testuser账号

    # 创建testuser账户
    adduser testuser
    # 修改密码
    passwd testuser
    

    然后,给testuser用户elasticsearch目录的授权。

    chown -R testuser /usr/local/elasticsearch-5.6.3/
    

    切换至elasticsearch目录,并以testuser用户运行

    cd /usr/local/elasticsearch-5.6.3/
    su testuser
    

    运行elasticsearch,如果想后台运行后面加 -d

    [testuser@localhost elasticsearch-5.6.3]$ ./bin/elasticsearch
    [2017-10-31T16:07:09,445][INFO ][o.e.n.Node               ] [] initializing ...
    [2017-10-31T16:07:09,662][INFO ][o.e.e.NodeEnvironment    ] [oDFU6c3] using [1] data paths, mounts [[/ (rootfs)]], net usable_space [45.4gb], net total_space [49.9gb], spins? [unknown], types [rootfs]
    [2017-10-31T16:07:09,662][INFO ][o.e.e.NodeEnvironment    ] [oDFU6c3] heap size [1.9gb], compressed ordinary object pointers [true]
    [2017-10-31T16:07:09,663][INFO ][o.e.n.Node               ] node name [oDFU6c3] derived from node ID [oDFU6c3UT6ORC2p0CKBeLA]; set [node.name] to override
    [2017-10-31T16:07:09,663][INFO ][o.e.n.Node               ] version[5.6.3], pid[11484], build[1a2f265/2017-10-06T20:33:39.012Z], OS[Linux/3.10.0-514.26.2.el7.x86_64/amd64], JVM[Oracle Corporation/OpenJDK 64-Bit Server VM/1.8.0_151/25.151-b12]
    [2017-10-31T16:07:09,664][INFO ][o.e.n.Node               ] JVM arguments [-Xms2g, -Xmx2g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -Djdk.io.permissionsUseCanonicalPath=true, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j.skipJansi=true, -XX:+HeapDumpOnOutOfMemoryError, -Des.path.home=/usr/local/elasticsearch-5.6.3]
    [2017-10-31T16:07:10,723][INFO ][o.e.p.PluginsService     ] [oDFU6c3] loaded module [aggs-matrix-stats]
    [2017-10-31T16:07:10,724][INFO ][o.e.p.PluginsService     ] [oDFU6c3] loaded module [ingest-common]
    [2017-10-31T16:07:10,724][INFO ][o.e.p.PluginsService     ] [oDFU6c3] loaded module [lang-expression]
    [2017-10-31T16:07:10,724][INFO ][o.e.p.PluginsService     ] [oDFU6c3] loaded module [lang-groovy]
    [2017-10-31T16:07:10,724][INFO ][o.e.p.PluginsService     ] [oDFU6c3] loaded module [lang-mustache]
    [2017-10-31T16:07:10,724][INFO ][o.e.p.PluginsService     ] [oDFU6c3] loaded module [lang-painless]
    [2017-10-31T16:07:10,724][INFO ][o.e.p.PluginsService     ] [oDFU6c3] loaded module [parent-join]
    [2017-10-31T16:07:10,724][INFO ][o.e.p.PluginsService     ] [oDFU6c3] loaded module [percolator]
    [2017-10-31T16:07:10,724][INFO ][o.e.p.PluginsService     ] [oDFU6c3] loaded module [reindex]
    [2017-10-31T16:07:10,724][INFO ][o.e.p.PluginsService     ] [oDFU6c3] loaded module [transport-netty3]
    [2017-10-31T16:07:10,724][INFO ][o.e.p.PluginsService     ] [oDFU6c3] loaded module [transport-netty4]
    [2017-10-31T16:07:10,725][INFO ][o.e.p.PluginsService     ] [oDFU6c3] no plugins loaded
    [2017-10-31T16:07:12,622][INFO ][o.e.d.DiscoveryModule    ] [oDFU6c3] using discovery type [zen]
    [2017-10-31T16:07:13,133][INFO ][o.e.n.Node               ] initialized
    [2017-10-31T16:07:13,133][INFO ][o.e.n.Node               ] [oDFU6c3] starting ...
    [2017-10-31T16:07:13,306][INFO ][o.e.t.TransportService   ] [oDFU6c3] publish_address {127.0.0.1:9300}, bound_addresses {[::1]:9300}, {127.0.0.1:9300}
    [2017-10-31T16:07:13,318][WARN ][o.e.b.BootstrapChecks    ] [oDFU6c3] max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
    [2017-10-31T16:07:16,372][INFO ][o.e.c.s.ClusterService   ] [oDFU6c3] new_master {oDFU6c3}{oDFU6c3UT6ORC2p0CKBeLA}{olaY-n5LTpCUpzrhU3joVw}{127.0.0.1}{127.0.0.1:9300}, reason: zen-disco-elected-as-master ([0] nodes joined)
    [2017-10-31T16:07:16,398][INFO ][o.e.h.n.Netty4HttpServerTransport] [oDFU6c3] publish_address {127.0.0.1:9200}, bound_addresses {[::1]:9200}, {127.0.0.1:9200}
    [2017-10-31T16:07:16,399][INFO ][o.e.n.Node               ] [oDFU6c3] started
    [2017-10-31T16:07:17,242][INFO ][o.e.g.GatewayService     ] [oDFU6c3] recovered [0] indices into cluster_state
    

    如果没有没有error,就运行成功啦

    新开一个终端,用curl访问

    [root@localhost ~]# curl 'http://localhost:9200/?pretty' 
    {
      "name" : "oDFU6c3",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "v2mGsAuuTsqIzzm8CZcW5w",
      "version" : {
        "number" : "5.6.3",
        "build_hash" : "1a2f265",
        "build_date" : "2017-10-06T20:33:39.012Z",
        "build_snapshot" : false,
        "lucene_version" : "6.6.1"
      },
      "tagline" : "You Know, for Search"
    }
    

    其他配置

    elasticsearch指定ip地址

    编辑es的配置文件

    [testuser@localhost elasticsearch-5.6.3]$ vim ./config/elasticsearch.yml
    

    找到network.host: 一行,去除#号,修改为:

    network.host: [_local_, 172.30.6.1]
    

    172.30.6.1为指定的ip地址,可以是多个。

    这样就可以在浏览器里打开啦

    http://172.30.6.1:9200/?pretty

    可能遇到的问题

    问题一
    max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    

    max_map_count 的值是指一个进程最多可用于的内存映射区(memory map areas),在调用malloc会用到,由mmap/mprotect生成。

    解决办法:

    切换到root用户修改配置/etc/sysctl.conf

    su root
    vim /etc/sysctl.conf
    

    加入

    vm.max_map_count=655360
    

    然后使其生效

    sysctl -p
    
    问题二
    [1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
    

    文件描述符太低

    解决办法:

    切换到root用户修改/etc/security/limits.conf

    su root
    vim /etc/security/limits.conf
    

    加入

    * soft nofile 65536
    * hard nofile 131072
    * soft nproc 2048
    * hard nproc 4096 
    
    问题三

    使用supervisor启动时,查看日志仍然报下面的错误

    [1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
    

    解决办法:

    切换到root用户修改vim /etc/supervisord.d/elasticsearch.conf

    [supervisord]
    minfds=65536
    minprocs=32768
    
    [program:es]
    process_name=%(program_name)s_%(process_num)02d
    directory=/usr/local/elasticsearch-5.6.3/
    command=/usr/local/elasticsearch-5.6.3/bin/elasticsearch
    ;autostart=true
    autorestart=false
    user=testuser
    numprocs=1
    
     
     
     
     
  • 相关阅读:
    go http的三种实现---2
    go http的三种实现---1
    go语言递归创建目录
    Golang中的正则表达式
    go语言strings包
    go语言获取字符串元素的个数
    VBA在Excel中的应用(三)
    ASP 转换HTML特殊字符
    ASP汉字转拼音函数的方法
    用ASP实现文件下载
  • 原文地址:https://www.cnblogs.com/liuq1991/p/9438631.html
Copyright © 2011-2022 走看看