zoukankan      html  css  js  c++  java
  • Elasticsearch 之 Hello World (一)

        作为一名半道出家的程序员,学习新的知识总是喜欢先从Hello World开始,觉得这样可以比较简单的,首先给我直观上体验下新技术的特点。最近因为一个项目需求,决定开始入手Elasticsearch开始进行数据查询,分析工作。作为传统关系型数据库储备知识约为0,大数据新技术储备知识等于0的我来说,很想先找来一个Hello World体验下,可惜网上找了半天,没有找到相关详细的资料(或者至少对我而言,有些教程还是不够详细,具体,况且时至今日,Elasticsearch已经发布到5.2.1版本了,网上很多教程还是基于之前的2.X甚至更古老的版本)因此,决定求人不如求己,自己开始来搞一篇Step By Step,作为自己测试过程的一个记录吧。

        一、 系统环境

        硬件:一台2年前攒的性能尚可的PC。

        软件:Vmware + Centos 7 x64

        其实在5.2.1版本对windows的支持应该已经不错了,至少从文件来看,有专门的bat和exe文件。但从经验来看,凡是开源的东东,尤其这种开源后移植到win平台的东东,有可能的话还是老老实实用linux系统吧。何况官方的各种示例基本也是linux下,curl这种小工具更是任意linux系统的标配。最后还有一个原因:win系统b格不够高。如果将来真的要向领导演示这个系统,让领导看着平台原来和他一直用来写文档,玩扫雷的是一个系统,多掉价。

        二、 安装

        1 首先当然是安装Elasticsearch 5.2.1了。没想到,刚开始就掉入一个坑,https://www.elastic.co/downloads/elasticsearch中看到有rpm包,想着直接在系统yum install该多么帅。想都没想就按照官方教程

          

        来做,然而首先,龟速的下载速度已经让我抓狂,喝了n杯茶之后,悲催的发现,竟然安装出错,由于本文写于系统已经初步搭建完成,所以当时报错信息忘记截图了。用万能的google+baidu各种搜索,试了诸如切换用户权限等各种方法后,错误仍然,遂放弃。还是     老老实实用迅雷下载离线安装包。解压文件夹elasticsearch-5.2.1到当前用户的主文件夹(就是centos当前用户在桌面上打开终端,默认的那个路径)。然后直接在shell定位到bin目录运行

        

     ./elasticsearch

        成功了,是的,就这么简单,之前被yum给坑死了。然而,这仅仅是安装     的第一步,因为基本上现在用这个的都得装几个必备插件吧,当然这中间还有n个坑。

        2 安装X-PACK插件。嗯,首先找到这个名字就是一个坑,因为网上搜索相关材料,还是一窝蜂的告诉你,要安装HEAD插件,然后你就可以很Happy的去web gui体验了。要是你按照这些教程一行行的输入相关安装head的命令,就等着报错吧,因为官方已经明确提     示了,从elasticsearch5.0版本以后,之前经典的head、marvel这些都集成到了x-pack插件包里面。其实要是英语够好,根本不用网上找各种资料,直接去看官网的readme,绝对是最权威,最靠谱的第一手资料。

        按照官方提示

    sudo bin/elasticsearch-plugin install x-pack

        然后就是令人抓狂的等待过程,实在是太太太慢了,果断采用B方案,即离线安装。首先迅雷下载 https://artifacts.elastic.co/downloads/packs/x-pack/x-pack-5.2.1.zip,然后不用解压,不用解压,不用解压,重要的事情说三遍,将该文件放到一个比较方便的   目录,如我就放在tmp目录下。然后运行

    ./elasticsearch-plugin install file:///tmp/x-pack-5.2.1.zip

        秒OK。有洁癖的别急着删除tmp下的这个文件,因为kibana和logstash也需要这样离线安装x-pack。(这样看来,我的安装顺序貌似有误,应该先安装那两个,最后安装x-pack才是。没办法,谁让我是搜索head插件开始的呢)

        3 安装 kibana。

        没有吸取教训的我,这里一开始仍然妄图通过yum install的方法来安装,然而龟速很快就让我缴械投降了。果断直接下载包https://artifacts.elastic.co/downloads/kibana/kibana-5.2.1-linux-x86_64.tar.gz,解压完之后直接运行

     ./kibana

        是秒OK。

        4 安装logstash。完全参照3。 

        5 注册x-pack。

        此时如果打开浏览器http://localhost:5601登录(默认的用户名是elastic密码是changeme),会发现没几天就会过期,这是因为x-pack只是针对开发测试环境免费,但需要去注册激活一个一年的key。根据页面上注册的提示连接,很容易就可以注册下载到一个json     格式的激活文件,有效期一年。(我是用十分钟邮箱去注册的,我会乱说?:))。下载到的json文件是比较长的字符,为了方便我改为key.json。然后根据官方链接的提示,在json当前目录的shell中输入

     curl -XPUT 'http://localhost:9200/_license' -d @key.json

        然而很不幸,提示如下

    {"acknowledged":false,"license_status":"valid","acknowledge":{"message":"This license update requires acknowledgement. To acknowledge the license, please read the following messages and 
    ......

        继续google,发现在http://stackoverflow.com/questions/36135815/marvel-basic-licence-installation的解决方法,即在http://localhost:9200/_license后面添加acknowledge=true,即

    curl -XPUT 'http://localhost:9200/_license?acknowledge=true' -d @key.json

        一切顺利,最好重启下服务,再登陆页面就会发现提示是一年后过期了。

        6 参照2,在 kibana和logstash安装x-pack。

        至此,Elasticsearch和一些常用的基本组件应该安装完成了。下面,应该就可以开始导入、查询数据了。

        BTW,虽然程序已经可以跑起来了,但是仔细查看ElasticSearch的输出日志,发现有两处报警:

    max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
    max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

        解决方案:第一个问题,

    sudo gedit /etc/security/limits.conf

       添加如下两行

    启动es的用户名 soft nofile 65536
    启动es的用户名 hard nofile 65536

       保存重启后,确认下结果为65536

    ulimit -Hn

       第二个问题,

    sudo gedit /etc/sysctl.conf

       然后添加  

    vm.max_map_count=262144

      保存重启后,确认下结果修改成功

    sysctl vm.max_map_count

      最后,设置下Xms和Xmx,最好是物理内存的一半。

    gedit ElasticSearch目录configjvm.options

      设置为

    -Xms4g
    -Xmx4g
    (我给虚拟机分配了8g内存)

       保存重启即可。

       

  • 相关阅读:
    16、集合--Map接口
    LVM快照备份与恢复
    CentOS 6.3下配置LVM(逻辑卷管理)
    Tomcat 9.0 配置问题 403 Access Denied
    nginx和php-fpm调用方式
    Linux下安装php环境并且配置Nginx支持php-fpm模块
    Nginx 服务器安装及配置文件详解
    Linux编辑器vim键盘详解
    Nginx配置文件详解
    keepalive配置文件详解
  • 原文地址:https://www.cnblogs.com/elasticsearch/p/6433949.html
Copyright © 2011-2022 走看看