Elasticsearch本地 && docker-compose 安装

比特青焰引
• 阅读 8438

安装前的检查

  1. 安装 Elasticsearch 之前,你需要先安装一个较新的版本的 Java,最好的选择是,你可以从 www.java.com 获得官方提供的最新版本的 Java。
  2. 安装JDK

    sudo yum install java-1.8.0-openjdk.x86_64
  3. 测试

    [vagrant@localhost vagrant_data]$ java -version
    openjdk version "1.8.0_161"
    OpenJDK Runtime Environment (build 1.8.0_161-b14)
    OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)

安装Elasticsearch

  1. 执行以下命令

    curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.8.tar.gz
    tar -xvf elasticsearch-5.6.8.tar.gz
    cd elasticsearch-5.6.8/bin
    ./elasticsearch
    
  2. 测试是否安装成功

    [vagrant@localhost elasticsearch-5.6.8]$ curl 'http://localhost:9200/?pretty'
    {
      "name" : "Lx20sHw",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "gnYSlRb9TUqpVnBscm1-GQ",
      "version" : {
        "number" : "5.6.8",
        "build_hash" : "688ecce",
        "build_date" : "2018-02-16T16:46:30.010Z",
        "build_snapshot" : false,
        "lucene_version" : "6.6.1"
      },
      "tagline" : "You Know, for Search"
    }
    
    

安装报错处理

  1. Vagrant内存不足报错

    [vagrant@localhost elasticsearch-5.6.8]$ ./bin/elasticsearch
        OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
        OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)
        #
        # There is insufficient memory for the Java Runtime Environment to continue.
        # Native memory allocation (mmap) failed to map 2060255232 bytes for committing reserved memory.
        # An error report file with more information is saved as:
        # /vagrant_data/elasticsearch-5.6.8/hs_err_pid22178.log
    [vagrant@localhost elasticsearch-5.6.8]$ free -m
                      total        used        free      shared  buff/cache   available
        Mem:            488         101          88           3         297         340
        Swap:          1535           1        1534

    解决方法

    • 打开Vagrantfile
    • 添加如下信息:

      config.vm.provider "virtualbox" do |v|
      v.memory = 2048
      v.cpus = 2
      end
    • 重启Vagrant vagrant reload
  2. ElasticSearch 启动报错

       ERROR: [2] bootstrap checks failed
       [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
       [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

    解决方法:

    sudo vim /etc/security/limits.conf
    # 添加如下信息:
    # [当前用户名] hard nofile 65536
    # [当前用户名] soft nofile 65536
    # 保存退出
    *******************************************************************
    sysctl -w vm.max_map_count=655360
    sysctl -a | grep "vm.max_map_count"

docker-compose 安装

version: "3"
services:
    php_pc:
        image: php:7.2-cli
        container_name: pcsoft_php
        ports :
            - "9000:9000"
        volumes:
            - ./phpcli:/var/www/html/
    db_pc:
        image: mysql:5.7
        container_name: pcsoft_db
        volumes:
            - ./dbdata:/var/lib/mysql/
        ports:
            - "3306:3306"
        environment:
            MYSQL_USER: root
            MYSQL_PASSWORD: root
            MYSQL_ROOT_PASSWORD: root
    elasticsearch_soft:
        image: registry.cn-hangzhou.aliyuncs.com/amor/elastic:6.2.3
        container_name: es_pc_soft
        environment:
            - cluster.name=docker-cluster
            - bootstrap.memory_lock=true
            - xpack.security.enabled=false
            - "ES_JAVA_OPTS=-Xms2g -Xmx2g"
        ulimits:
            memlock:
                soft: -1
                hard: -1
        volumes:
            - ./docker_es/esdata_soft:/usr/share/elasticsearch/data
        ports:
            - 9200:9200
    elasticsearch_game:
        image: registry.cn-hangzhou.aliyuncs.com/amor/elastic:6.2.3
        container_name: es_pc_game
        environment:
            - cluster.name=docker-cluster
            - bootstrap.memory_lock=true
            - xpack.security.enabled=false
            - "ES_JAVA_OPTS=-Xms2g -Xmx2g"
            - "discovery.zen.ping.unicast.hosts=es_pc_soft"
        ulimits:
            memlock:
                soft: -1
                hard: -1
        volumes:
            - ./docker_es/esdata_game:/usr/share/elasticsearch/data
    kibana:
        image: registry.cn-hangzhou.aliyuncs.com/amor/kibana:6.2.3
        container_name: es_pc_kibana
        environment:
            SERVER_NAME: kibana.pc_amor.com
            ELASTICSEARCH_URL: http://elasticsearch_soft:9200
            XPACK_SECURITY_ENABLED: "false"

docker-compose 安装报错处理

  • vm.max_map_count 报错

    grep vm.max_map_count /etc/sysctl.conf
    # 如果找不到,则在该文件中添加 vm.max_map_count=262144 然后执行 sysctl -p
    # 临时改变轻执行 
    sysctl -w vm.max_map_count=262144
    
  • 不能以root权限运行问题

    请检查Elasticsearch挂载的目录是否是root用户创建的
    
  • Kibana链接问题

    直接通过docker-compose server name链接即可
    
  • kibana无法登陆问题

    # 添加以下选项:
    XPACK_SECURITY_ENABLED: "false"
    
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Stella981 Stella981
3年前
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解2016年09月02日00:00:36 \牧野(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fme.csdn.net%2Fdcrmg) 阅读数:59593
Stella981 Stella981
3年前
Linux查看GPU信息和使用情况
1、Linux查看显卡信息:lspci|grepivga2、使用nvidiaGPU可以:lspci|grepinvidia!(https://oscimg.oschina.net/oscnet/36e7c7382fa9fe49068e7e5f8825bc67a17.png)前边的序号"00:0f.0"是显卡的代
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
3年前
Github标星5300+,专门为程序员开发文档开源管理系统,我粉了
!(https://oscimg.oschina.net/oscnet/a11909a041dac65b1a36b2ae8b9bcc5c432.jpg)码农那点事儿关注我们,一起学习进步!(https://oscimg.oschina.net/oscnet/f4cce1b7389cb00baaab228e455da78d0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Nginx反向代理upstream模块介绍
!(https://oscimg.oschina.net/oscnet/1e67c46e359a4d6c8f36b590a372961f.gif)!(https://oscimg.oschina.net/oscnet/819eda5e7de54c23b54b04cfc00d3206.jpg)1.Nginx反
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这