美文网首页
Centos7下安装ElasticSearch7.2

Centos7下安装ElasticSearch7.2

作者: 单名一个冲 | 来源:发表于2019-07-12 00:11 被阅读0次

    一、 官网下载地址

    https://www.elastic.co/downloads/elasticsearch

    二、 选择自己对应的es版本下载,并安装JDK1.8+

    三、 下载完成后解压安装包

    示例(请将文件名改为自己的安装包名):
    tar -zxvf elasticsearch-7.2.0-linux-x86_64.tar.gz
    
    在解压后的文件夹里创建一个data文件夹,一会存数据文件用
    mkdir data
    
    目录结构介绍:
    bin:可执行文件,运行es的命令
    config:配置文件目录
     config/elasticsearch.yml:ES启动基础配置
     config/jvm.options:ES启动时JVM配置
     config/log4j2.properties:ES日志输出配置文件
    lib:依赖的jar
    logs:日志文件夹
    modules:es模块
    plugins:可以自己开发的插件
    data:我们自己创建的,存放es存储文件
    

    四、 对ES进行一些基础配置,打开config目录(1-5为elasticsearch.yml配置,6为jvm.options配置)

    1. 配置集群名称(默认是被注释的,并且默认有一个集群名)


      es集群名称
    2. 配置当前es节点名称(默认是被注释的,并且默认有一个节点名)


      es节点名称
    3. 配置存储数据的目录路径(用逗号分隔多个位置)和日志文件路径


      存储路径和日志路径
    4. 绑定地址为特定IP地址(设置0.0.0.0可以让任何人访问到你的es),设置一个http请求端口


      绑定地址和端口
    5. 集群启动时,设置master节点列表(用逗号分隔,目前单机所以只配置了一个),master节点后续会解释


      master节点列表
    6. 配置ES启动JVM参数(谨慎操作,本人买不起内存所以配置一下)


      虚拟机基础参数配置
    7. 记得保存配置

    五、 启动ES

    1. 启动bin目录下的elasticsearch报错(这是ES的一种安全措施,不让用root用户)
    [root@localhost bin]# ./elasticsearch
    
    future versions of Elasticsearch will require Java 11; your Java version from [/usr/local/java/jdk1.8.0_201/jre] does not meet this requirement
    [2019-07-11T22:47:02,963][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [node-1] uncaught exception in thread [main]
    org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
            at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163) ~[elasticsearch-7.2.0.jar:7.2.0]
            at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-7.2.0.jar:7.2.0]
            at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-7.2.0.jar:7.2.0]
            at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-7.2.0.jar:7.2.0]
            at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-7.2.0.jar:7.2.0]
            at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:115) ~[elasticsearch-7.2.0.jar:7.2.0]
            at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-7.2.0.jar:7.2.0]
    Caused by: java.lang.RuntimeException: can not run elasticsearch as root
            at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:105) ~[elasticsearch-7.2.0.jar:7.2.0]
            at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:172) ~[elasticsearch-7.2.0.jar:7.2.0]
            at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:349) ~[elasticsearch-7.2.0.jar:7.2.0]
            at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-7.2.0.jar:7.2.0]
            ... 6 more
    
    1. 创建用户并赋予es安装目录权限
    创建一个esroot用户并设置初始密码
    useradd -c 'ES user' -d /home/esroot esroot
    passwd esroot
    
    将es安装目录属主权限改为esroot用户
    chown -R esroot <es安装目录>
    
    切换用户到esroot
    su esroot
    
    1. 使用esroot用户重启es(咦,又来错,没关系继续)
    ERROR: [2] bootstrap checks failed
    [1]: initial heap size [268435456] not equal to maximum heap size [524288000]; this can cause resize pauses and prevents mlockall from locking the entire heap
    [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    
    • 错误解释:

    错误1:本文章中第四点第6条中,我的JVM配置的Xms、Xmx不一致,设置为一致即可;

    错误2:官方原话如下(意思就是说要设置系统参数vm.max_map_count=262144):
    地址为:https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-cli-run-prod-mode
    The vm.max_map_count kernel setting needs to be set to at least 262144 for production use. Depending on your platform:

    • Linux
      The vm.max_map_count setting should be set permanently in /etc/sysctl.conf:
      To apply the setting on a live system type: sysctl -w vm.max_map_count=262144

    $ grep vm.max_map_count /etc/sysctl.conf
    vm.max_map_count=262144

    1. 切换到root用户下,解决三中的错误二
    查看vm.max_map_count属性值,
    如果没有添加则在/etc/sysctl.conf文件添加vm.max_map_count = 262144
    grep vm.max_map_count /etc/sysctl.conf
    
    或者执行添加临时变量
    sysctl -w vm.max_map_count=262144
    

    六、 再次启动ES,然后测试一下,访问http://localhost:9200/

    [root@localhost ~]# ./elasticsearch
    [root@localhost ~]# curl http://localhost:9200/
    {
      "name" : "node-1",
      "cluster_name" : "my-application",
      "cluster_uuid" : "QqRQ8cMCTAexMVKTTY4PpA",
      "version" : {
        "number" : "7.2.0",
        "build_flavor" : "default",
        "build_type" : "tar",
        "build_hash" : "508c38a",
        "build_date" : "2019-06-20T15:54:18.811730Z",
        "build_snapshot" : false,
        "lucene_version" : "8.0.0",
        "minimum_wire_compatibility_version" : "6.8.0",
        "minimum_index_compatibility_version" : "6.0.0-beta1"
      },
      "tagline" : "You Know, for Search"
    }
    

    后台启动方式加-d,如:./elasticsearch -d

    七、 祝学习愉快!

    相关文章

      网友评论

          本文标题:Centos7下安装ElasticSearch7.2

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