全文搜索引擎Elasticsearch的安裝過程

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包,如圖:

1.png


下載完並且上傳之後,執行一下#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裏,如圖:

1.png


然後就#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看一下版本:

image.png


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)",如圖:

image.png


vim打開elasticsearch會看到下面這句話

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

這個錯誤代表8G內存纔可以啓動elasticsearch,於是就升級到8G,這玩意的確是有錢人玩的東西。


升級之後,再次啓動,出現了"can not run elasticsearch as root"這個錯誤:

image.png


既然不讓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


這樣就看到正確啓動的樣子: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即可:

# 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 對象,包含當前節點、集羣、版本等信息。

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


最後的最後,如果您覺得本文對您升職加薪有幫助,那麼請不吝贊助之手,刷一下下面的二維碼,贊助本人繼續寫更多的博文!

wKioL1l16m3BMYDKAACPHEqd55Q687.jpg


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章