Elasticsearch是目前为止比较屌炸天的一款大数据日志收集工具,而且在很多知名大公司比如360、蚂蚁金服、京东、腾讯等都急需这方面的研究人才,在https://elasticsearch.cn/explore/category-12 官方网站就有N多Elasticsearch招聘贴。


要安装Elasticsearch,需要在机器里先有java1.8+的环境,我这2个机器都是阿里云centos 7.4 64位纯净系统,配置是2核2G。


首先#yum -y update一波,更新一下最新的yum,在更新的时候呢,也不要干坐着,登陆http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html  ,下载最新的java安装包,我为了省事直接就选择的tar包,如图:

全文搜索引擎es 全文搜索引擎elasticsearch与grep 搜索_全文搜索引擎es


下载完并且上传之后,执行一下#rpm -qa | grep java,看一下有没有以前老的java,比如:


[root@chen-elk-001 usr]          # rpm -qa | grep java         
          java-1.7.0-openjdk-headless-1.7.0.51-2.4.5.5.el7.x86_64         
          python-javapackages-3.4.1-5.el7.noarch         
          tzdata-java-2014b-1.el7.noarch         
          javapackages-tools-3.4.1-5.el7.noarch         
          java-1.7.0-openjdk-1.7.0         
          [root@chen-elk-001 usr]          #




如果有的话就#rpm -e --nodeps 加上查询出的java名逐一删除掉java,比如:

[root@chen-elk-001 usr]          # rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.51-2.4.5.5.el7.x86_64         
          [root@chen-elk-001 usr]          # rpm -e --nodeps java-1.7.0-openjdk-1.7.0




删除完毕之后,要#java -version检查一下是否已经不会出现版本了。


现在更新也更新完了,以前老的java也干掉了,那么就把jdk-8u151-linux-x64.tar.gz 拆包解压缩到/usr/local里,如图:

全文搜索引擎es 全文搜索引擎elasticsearch与grep 搜索_elasticsearch_02


然后就#vim /etc/profile,在全文的末尾加上这样的内容:

#java 1.8 config         
          JAVA_HOME=          /usr/local/jdk1          .8.0_151    #这里就是jdk1.8的那个路径,根据解压缩的位置而定         
          JRE_HOME=$JAVA_HOME          /jre         
          CLASSPATH=:$JAVA_HOME          /lib/dt          .jar:$JAVA_HOME          /lib/tools          .jar:$JRE_HOME          /lib/dt          .jar         
          PATH=$PATH:$JAVA_HOME          /bin          :$JRE_HOME          /bin         
          export           JAVA_HOME JRE_HOME CLASSPATH PATH




保存退出之后,#source /etc/profile,然后#java -version看一下版本:

全文搜索引擎es 全文搜索引擎elasticsearch与grep 搜索_全文搜索引擎es_03


java 1.8安装完毕,下面就是安装Elasticsearch,直接下载压缩包吧,比较简单暴力。

# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.1.zip         
          # unzip elasticsearch-5.5.1.zip         
          # cd elasticsearch-5.5.1/bin         
          #./elasticsearch

 

启动之后,发现爆了一个错误,"Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x000000008a660000, 1973026816, 0) failed; error='Cannot allocate memory' (errno=12)",如图:

全文搜索引擎es 全文搜索引擎elasticsearch与grep 搜索_java_04


vim打开elasticsearch会看到下面这句话

#   ES_JAVA_OPTS="-Xms8g -Xmx8g" ./bin/elasticsearch



这个错误代表8G内存才可以启动elasticsearch,于是就升级到8G,这玩意的确是有钱人玩的东西。


升级之后,再次启动,出现了"can not run elasticsearch as root"这个错误:

全文搜索引擎es 全文搜索引擎elasticsearch与grep 搜索_全文搜索引擎es_05


既然不让root,那就建立一个新的用户吧:

roupadd elsearch         
          useradd           elsearch -g elsearch -p elasticsearch         
          chown           -R elsearch:elsearch  /安装路径          /elasticsearch-5          .5.1         
          cd           /安装路径          /elasticsearch-5          .5.1          /bin         
          su           elsearch .          /elasticsearch


这样就看到正确启动的样子:

全文搜索引擎es 全文搜索引擎elasticsearch与grep 搜索_全文搜索引擎es_06


如果要后台启动的话,命令就是#su elsearch ./elasticsearch -d。如果你非要用root用户去启动的话,也不是不可以,命令是#./安装路径/bin/elasticsearch -Des.insecure.allow.root=true 。


如果启动的时候,爆“max virtual memory areas vm.maxmapcount [65530] is too low”这个错误,那么就先运行如下命令:#sudo sysctl -w vm.max_map_count=262144


如果启动的时候,爆“max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]”,那么#vim /etc/security/limits.conf,把文末内容改成这样,改完了之后#sysctl -p即可:

# End of file         
          root soft nofile 65535         
          root hard nofile 65535         
          * soft nofile 165536         
          * hard nofile 165536         
          * soft nproc 2048         
          * hard nproc 4096


启动之后,在命令行里输入#curl localhost:9200,就会返回JSON 对象,包含当前节点、集群、版本等信息。

全文搜索引擎es 全文搜索引擎elasticsearch与grep 搜索_json_07


我这个Elasticsearch版本是5.11,中文教程https://elasticsearch.cn/book/elasticsearch_definitive_guide_2.x/  已经有点老了,所以研究之路不仅充满荆棘还充满各种墙和英语...


参考资料:http://www.yiibai.com/elasticsearch/

参考资料: