• elasticsearch基础----->elasticsearch环境的搭建


      这里面我们主要是在ubuntu系统上对elasticsearch进行一个环境的搭建,记录一下这个过程中遇到的一些问题以及解决方案。我总是躲在梦与季节的深处,听花与黑夜唱尽梦魇,唱尽繁华,唱断所有记忆的来路。

    elasticsearch的下载安装

    我们用的测试系统是ubuntu16.0.4,首先是下载最新的elasticsearch。地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.0.tar.gz

    一、在/home/huhx/apache/server目录下,用wget下载

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

    使用tar对其进行解压:

    tar -xf elasticsearch-6.1.0.tar.gz

    cd到elasticsearch-6.1.0目录下面,可以看到如下的结构:

    elasticsearch的启动命令:加-d参数可以作为一个后台进程支行。

    ./bin/elasticsearch -d

    我们访问地址: localhost:9200/。可以看到如下的页面信息:

    {
      "name" : "1zXRuwV",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "2It6zBz5R62uV48XM0UsJw",
      "version" : {
        "number" : "6.1.0",
        "build_hash" : "c0c1ba0",
        "build_date" : "2017-12-12T12:32:54.550Z",
        "build_snapshot" : false,
        "lucene_version" : "7.1.0",
        "minimum_wire_compatibility_version" : "5.6.0",
        "minimum_index_compatibility_version" : "5.0.0"
      },
      "tagline" : "You Know, for Search"
    }

    但是在本地机器却不能正常的访问服务器192.168.1.112的9200端口的服务,这是因为elasticsearch默认只能本机访问elasticsearch的服务。我们修改config下面的elasticsearch.yml文件:添加内容

    network.host: 0.0.0.0

    重启elasticsearch服务,就可以要本地机器访问服务器上的elasticsearch服务了。注意:elasticsearch6.1.0好像没有停止elasticsearch的服务了,我们可以kill pid杀掉进程。

    二、为了方便查看我们可以安装插件elasticsearch-head

      在elasticsearch安装目录之外,我们新建立目录去安装/elasticsearch-head。如果把/elasticsearch-head安装到elasticsearch下面的plugins目录下面,启动会报错。

    在~/apache/plugins目录下面,我们下载:elasticsearch-head。

    wget https://github.com/mobz/elasticsearch-head/archive/master.zip

    解压master.zip文件:

    unzip master.zip

    elasticsearch-head的运行需要nodejs的支持,所以首先需要安装nodejs,这里就不做介绍。执行npm install,下载必要的依赖。下载完成之后,执行npm run start启动elasticsearch-head,打印的日志如下:

    huhx@huhx:~/apache/plugins/elasticsearch-head-master$ npm run start
    
    > elasticsearch-head@0.0.0 start /home/huhx/apache/plugins/elasticsearch-head-master
    > grunt server
    
    (node:24860) ExperimentalWarning: The http2 module is an experimental API.
    Running "connect:server" (connect) task
    Waiting forever...
    Started connect web server on http://localhost:9100

    为了解决访问跨域的问题,我们需要修改elasticsearch的配置文件。地址:/home/huhx/apache/server/elasticsearch-6.1.0/config/elasticsearch.yml。在结尾添加内容:

    http.cors.enabled: true
    http.cors.allow-origin: "*"

    现在我们启动elasticsearch和elasticsearch-head,在本地机器访问:http://192.168.1.112:9100/。截图如下:

    三、安装一些问题的整理

    • es-head插件的安装:之前好像可以通过进入elasticsearch/bin目录,输入命令./plugin –install mobz/elasticsearch-head 安装head插件。现在bin目录下面有一个elasticsearch-plugin,但是也不能通过这种方式去安装插件。
    • elasticsearch的启动不能使用root用法,否则会报can not run elasticsearch as root的异常。
    • 运行elasticsearch报错:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]。下面是解决方案:
    切换到root用户修改配置sysctl.conf: vi /etc/sysctl.conf 
    添加下面配置:vm.max_map_count
    =655360
    并执行命令:sysctl -p

    友情链接

  • 相关阅读:
    Struts2基于XML配置方式实现对action的所有方法进行输入校验
    Lucene对index操作
    Lucene自定义同义词分词器
    Lucene自定义排序
    使用CGlib实现AOP功能
    实战才是王道:工厂模式、三层架构、反射、多数据库问题
    一图看懂mybatis执行过程
    java synchronized 关键字原理
    Centos7 Redis3.0 集群搭建备忘
    关于泛型接口的探讨
  • 原文地址:https://www.cnblogs.com/huhx/p/bauseelasticsearchenv.html
Copyright © 2020-2023  润新知