蛋疼的ElasticSearch(一)之安装ElasticSearch
本周的計劃暫時這樣子的: 1.學習Solr和ElasticSearch 2.深入學習SpringBoot 3.了解日志系統的實現
###What did you do today ####先入為主 ElasticSearch是什么?百度詞條是這樣解釋的。
ElasticSearch是一個基于Lucene的搜索服務器。它提供了一個分布式多用戶能力的全文搜索引擎,基于RESTful web接口。ElasticSearch是用java開發的,并作為Apache許可條款下的開發源碼發布,是當前流行的企業級搜索引擎。設計用于云計算,能夠達到實時搜索,穩定,可靠,快速,安裝使用方便。
我們建立一個網站或者應用程序,并要添加搜索功能,但是想要完成搜索工作的創建是非常困難的。我們希望搜索解決方案要運行速度快,我們希望能有一個零配置和一個完全免費的搜索模式,我們希望能簡單的使用JSON通過HTTP來索引數據,我們希望我們的搜索服務器始終可用,我們希望能夠從一臺開始并擴展到數百臺,我們要實時搜索,我們要簡單的多租戶,我們希望建立一個云的解決方案。因此我們利用ElasticSearch來解決所有這些問題以及可能出現的更多其他問題。
####安裝
- 安裝ES之前確保自己的機器配置過java 8環境。
[root@localhost software]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.1.zip
- 好像還沒有安裝wget,那就安裝吧
[root@localhost software]# yum install -y wget
- 下載ES的.tar.gz安裝包
[root@localhost software]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.1.tar.gz
- 解壓到/usr/local/fast/目錄下。
[root@localhost software]# tar -zxvf elasticsearch-6.1.1.tar.gz -C /usr/local/fast/
- 進入/usr/local/fast/elasticsearch-6.1.1/,啟動elasticsearch后,發現報錯了。問題所在是我虛擬機分配的內存太小了(256MB),我來修改為512MB。
- 現在我再次啟動發現“Cannot allocate memory”問題解決了,但是又拋出一個新的異常。
- 新的版本安全級別 提高了,不允許采用root啟動,我們需要添加一個新的用戶。
1.創建elasticsearch用戶組:[root@localhost /]# groupadd elasticsearch 2.創建elasticsearch用戶:[root@localhost elasticsearch-6.1.1]# useradd elasticsearch -g elasticsearch -p elasticsearch 3.更改 elasticsearch-6.1.1文件夾下所有文件的所屬用戶和組分別為elasticsearch、elasticsearch。命令: chown -R elasticsearch.elasticsearch *(chown將指定文件的擁有者,-R代表處理指定目錄以及子目錄下的所有文件)
- 切換到elasticsearch用戶,然后啟動elasticserach,發現還是拋出"Unable to access 'path.data' "異常。
-
我們還沒有給elasticsearch用戶分配讀寫“/usr/local/fast/elasticsearch-6.1.1/data”的權限。一般來說,普通用戶只有在自己的主目錄下有創建文件或者目錄的權限,我們當前的用戶是elasticsearch,它的主目錄就應該是/home/elasticsearch.我們切換到root用戶,改變elasticsearch-6.1.1這個文件的擁有者和群主。命令:chown -R elasticsearch:elasticsearch elasticsearch-6.1.1(命令格式:chown [選項]... [所有者][:[組]] 文件...)
-
嘻嘻,我們再次啟動elasticsearch,發現它又啟動失敗了!
- 通過觀看log輸出,我們發現拋出了3個error。
1.[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536],修改/etc/security/limits.conf,添加如下內容,如果不成功的話可以嘗試ulimit -n 65536。
2.[2]: max number of threads [794] for user [elasticsearch] is too low, increase to at least [4096]修改/etc/security/limits.d/20-nproc.conf,具體如下:
接著修改/etc/security/limits.conf,具體如下:3.[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144],修改/etc/sysctl.conf文件,具體如下。修改完成后,輸入sysctl -a 命令。
-
由于elasticsearch默認分配jvm空間大小為1g,我在這里修改jvm空間分配為512MB
-
修改config目錄下的elasticsearch.yml配置文件,具體如下:
-
防火墻添加9200端口策略。
-
我們再次啟動elasticsearch,發現已經成功!,如果需要后臺啟動的話,命令:./bin/elasticsearch -d
-
訪問192.168.12.6:9200,歷經坎坷終于成功了!
###Summary
下一篇講ElasticSearch Head插件。
總結
以上是生活随笔為你收集整理的蛋疼的ElasticSearch(一)之安装ElasticSearch的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全新的图形数据库云服务Amazon Ne
- 下一篇: linux zookeeper安装并设置