蛋疼的ElasticSearch(一)之安装ElasticSearch
本周的計(jì)劃暫時(shí)這樣子的: 1.學(xué)習(xí)Solr和ElasticSearch 2.深入學(xué)習(xí)SpringBoot 3.了解日志系統(tǒng)的實(shí)現(xiàn)
###What did you do today ####先入為主 ElasticSearch是什么?百度詞條是這樣解釋的。
ElasticSearch是一個(gè)基于Lucene的搜索服務(wù)器。它提供了一個(gè)分布式多用戶能力的全文搜索引擎,基于RESTful web接口。ElasticSearch是用java開(kāi)發(fā)的,并作為Apache許可條款下的開(kāi)發(fā)源碼發(fā)布,是當(dāng)前流行的企業(yè)級(jí)搜索引擎。設(shè)計(jì)用于云計(jì)算,能夠達(dá)到實(shí)時(shí)搜索,穩(wěn)定,可靠,快速,安裝使用方便。
我們建立一個(gè)網(wǎng)站或者應(yīng)用程序,并要添加搜索功能,但是想要完成搜索工作的創(chuàng)建是非常困難的。我們希望搜索解決方案要運(yùn)行速度快,我們希望能有一個(gè)零配置和一個(gè)完全免費(fèi)的搜索模式,我們希望能簡(jiǎn)單的使用JSON通過(guò)HTTP來(lái)索引數(shù)據(jù),我們希望我們的搜索服務(wù)器始終可用,我們希望能夠從一臺(tái)開(kāi)始并擴(kuò)展到數(shù)百臺(tái),我們要實(shí)時(shí)搜索,我們要簡(jiǎn)單的多租戶,我們希望建立一個(gè)云的解決方案。因此我們利用ElasticSearch來(lái)解決所有這些問(wèn)題以及可能出現(xiàn)的更多其他問(wèn)題。
####安裝
- 安裝ES之前確保自己的機(jī)器配置過(guò)java 8環(huán)境。
[root@localhost software]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.1.zip
- 好像還沒(méi)有安裝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/
- 進(jìn)入/usr/local/fast/elasticsearch-6.1.1/,啟動(dòng)elasticsearch后,發(fā)現(xiàn)報(bào)錯(cuò)了。問(wèn)題所在是我虛擬機(jī)分配的內(nèi)存太小了(256MB),我來(lái)修改為512MB。
- 現(xiàn)在我再次啟動(dòng)發(fā)現(xiàn)“Cannot allocate memory”問(wèn)題解決了,但是又拋出一個(gè)新的異常。
- 新的版本安全級(jí)別 提高了,不允許采用root啟動(dòng),我們需要添加一個(gè)新的用戶。
1.創(chuàng)建elasticsearch用戶組:[root@localhost /]# groupadd elasticsearch 2.創(chuàng)建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用戶,然后啟動(dòng)elasticserach,發(fā)現(xiàn)還是拋出"Unable to access 'path.data' "異常。
-
我們還沒(méi)有給elasticsearch用戶分配讀寫(xiě)“/usr/local/fast/elasticsearch-6.1.1/data”的權(quán)限。一般來(lái)說(shuō),普通用戶只有在自己的主目錄下有創(chuàng)建文件或者目錄的權(quán)限,我們當(dāng)前的用戶是elasticsearch,它的主目錄就應(yīng)該是/home/elasticsearch.我們切換到root用戶,改變elasticsearch-6.1.1這個(gè)文件的擁有者和群主。命令:chown -R elasticsearch:elasticsearch elasticsearch-6.1.1(命令格式:chown [選項(xiàng)]... [所有者][:[組]] 文件...)
-
嘻嘻,我們?cè)俅螁?dòng)elasticsearch,發(fā)現(xiàn)它又啟動(dòng)失敗了!
- 通過(guò)觀看log輸出,我們發(fā)現(xiàn)拋出了3個(gè)error。
1.[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536],修改/etc/security/limits.conf,添加如下內(nèi)容,如果不成功的話可以嘗試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默認(rèn)分配jvm空間大小為1g,我在這里修改jvm空間分配為512MB
-
修改config目錄下的elasticsearch.yml配置文件,具體如下:
-
防火墻添加9200端口策略。
-
我們?cè)俅螁?dòng)elasticsearch,發(fā)現(xiàn)已經(jīng)成功!,如果需要后臺(tái)啟動(dòng)的話,命令:./bin/elasticsearch -d
-
訪問(wèn)192.168.12.6:9200,歷經(jīng)坎坷終于成功了!
###Summary
下一篇講ElasticSearch Head插件。
總結(jié)
以上是生活随笔為你收集整理的蛋疼的ElasticSearch(一)之安装ElasticSearch的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 全新的图形数据库云服务Amazon Ne
- 下一篇: 阿里首席架构师科普RPC框架是什么