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包,如图:
下载完并且上传之后,执行一下#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里,如图:
然后就#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看一下版本:
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)",如图:
vim打开elasticsearch会看到下面这句话
# ES_JAVA_OPTS="-Xms8g -Xmx8g" ./bin/elasticsearch
这个错误代表8G内存才可以启动elasticsearch,于是就升级到8G,这玩意的确是有钱人玩的东西。
升级之后,再次启动,出现了"can not run elasticsearch as root"这个错误:
既然不让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
这样就看到正确启动的样子:
如果要后台启动的话,命令就是#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 对象,包含当前节点、集群、版本等信息。
我这个Elasticsearch版本是5.11,中文教程https://elasticsearch.cn/book/elasticsearch_definitive_guide_2.x/ 已经有点老了,所以研究之路不仅充满荆棘还充满各种墙和英语...
参考资料:http://www.yiibai.com/elasticsearch/
参考资料: