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包,如图:
![1511504290767838.png 1.png]()
下载完并且上传之后,执行一下#rpm -qa | grep java,看一下有没有以前老的java,比如:
|
1
2
3
4
5
6
7
|
[root@chen-elk-001 usr]
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,比如:
|
1
2
|
[root@chen-elk-001 usr]
[root@chen-elk-001 usr]
|
删除完毕之后,要#java -version检查一下是否已经不会出现版本了。
现在更新也更新完了,以前老的java也干掉了,那么就把jdk-8u151-linux-x64.tar.gz 拆包解压缩到/usr/local里,如图:
![1511504640907736.png 1.png]()
然后就#vim /etc/profile,在全文的末尾加上这样的内容:
|
1
2
3
4
5
6
|
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看一下版本:
![1511504799317733.png image.png]()
java 1.8安装完毕,下面就是安装Elasticsearch,直接下载压缩包吧,比较简单暴力。
启动之后,发现爆了一个错误,"Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x000000008a660000, 1973026816, 0) failed; error='Cannot allocate memory' (errno=12)",如图:
![1511505191872816.png image.png]()
vim打开elasticsearch会看到下面这句话
这个错误代表8G内存才可以启动elasticsearch,于是就升级到8G,这玩意的确是有钱人玩的东西。
升级之后,再次启动,出现了"can not run elasticsearch as root"这个错误:
![1511506407873768.png image.png]()
既然不让root,那就建立一个新的用户吧:
|
1
2
3
4
5
|
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
|
这样就看到正确启动的样子:![1511506815747909.png image.png]()
如果要后台启动的话,命令就是#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即可:
|
1
2
3
4
5
6
7
|
root soft nofile 65535
root hard nofile 65535
* soft nofile 165536
* hard nofile 165536
* soft nproc 2048
* hard nproc 4096
|
启动之后,在命令行里输入#curl localhost:9200,就会返回JSON 对象,包含当前节点、集群、版本等信息。
![1511507151628211.png image.png]()
我这个Elasticsearch版本是5.11,中文教程https://elasticsearch.cn/book/elasticsearch_definitive_guide_2.x/ 已经有点老了,所以研究之路不仅充满荆棘还充满各种墙和英语...
参考资料:http://www.yiibai.com/elasticsearch/
参考资料:http://www.cnblogs.com/Wolfmanlq/p/5984376.html
最后的最后,如果您觉得本文对您升职加薪有帮助,那么请不吝赞助之手,刷一下下面的二维码,赞助本人继续写更多的博文!
![webwxgetmsgimg.jpg wKioL1l16m3BMYDKAACPHEqd55Q687.jpg]()
本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/2043924