ElasticSearch是分散式全文搜尋引擎,底層是開源庫 Lucene。但是,你沒法直接用 Lucene,必須自己寫程式碼去呼叫它的介面。es 是 Lucene 的封裝,提供了 REST API 的操作介面,開箱即用。
es 需要 Java 8 環境。如果沒有安裝 Java,請先安裝並且設定正確的環境變數JAVA_HOME。
1、java安裝
檢視系統是否自帶jdk
$ rpm -qa |grep java
$ rpm -qa |grep jdk
如果有輸出資訊,批量解除安裝系統自帶
$ rpm -qa | grep java | xargs rpm -e --nodeps
如果使用 yum 安裝的 jdk,請使用下面命令解除安裝
$ yum -y remove java-1.8.0-openjdk-headless.x86_64
接下來安裝java8
$ yum install -y java-1.8.0-openjdk.x86_64
然後配置環境變數
用vim開啟 /etc/profile 檔案再最後一行新增以下程式碼
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/jre/ //安裝路徑
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME JRE_HOME CLASSPATH PATH
這裡的安裝路徑根據你實際的安裝路徑來,不知道實際安裝路徑的可以根據我這樣輸入。
最後
source /etc/profile
至此設定完成。
2、下載es
$ 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
有可能出現的錯誤:
1、
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriat
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error=’Cannot allocate memory’ (errno=12)
修改jvm
$ vim config/jvm.options
-Xms4g
-Xmx4g
修改為
-Xms512m
-Xmx512m
2、不能用root使用者啟動es
新建一個使用者
$ groupadd end
$ useradd end -g end
$ passwd end
輸入密碼:
$ su end
3、如果是這個錯誤
只需改變elasticsearch資料夾所有者到當前使用者
$ chown -R end:end /usr/local/elasticsearch-5.5.1/
再次執行,如下圖示,表示一切正常。
如果一切正常,Elastic 就會在預設的9200埠執行。這時,開啟另一個命令列視窗,請求該埠,會得到說明資訊。
$ curl localhost:9200
{
"name" : "oMArTJQ",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "gkon1pwfRFCr6omXIikBBA",
"version" : {
"number" : "5.5.1",
"build_hash" : "19c13d0",
"build_date" : "2017-07-18T20:44:24.823Z",
"build_snapshot" : false,
"lucene_version" : "6.6.0"
},
"tagline" : "You Know, for Search"
}
上面程式碼中,請求9200埠,Elastic 返回一個 JSON 物件,包含當前節點、叢集、版本等資訊。
按下 Ctrl + C,Elastic 就會停止執行。
預設情況下,Elastic 只允許本機訪問,如果需要遠端訪問,可以修改 Elastic 安裝目錄的config/elasticsearch.yml
檔案,去掉network.host
的註釋,將它的值改成0.0.0.0
,然後重新啟動 Elastic。
network.host: 0.0.0.0
上面程式碼中,設成0.0.0.0
讓任何人都可以訪問。線上服務不要這樣設定,要設成具體的 IP。
本作品採用《CC 協議》,轉載必須註明作者和本文連結