本人在安裝es5.1.1版本時候整理的一些過程,參照了網上部分過程;其中過程中也出現一些其它問題,出現的問題和解決方案都整理在此文中。
1Elasticsearch5.1.1安裝
到ES官網https://www.elastic.co/downloads下載ES安裝包,Linux系統下載tar格式版本。我們目前使用的ES版本是5.1.1,需要JDK8才能啟動,如沒有JDK8環境
請自行下載配置(ubuntu下配置JDK環境變量: sudo vi ~/.bashrc)。
ES5.1.1需要進行一些環境配置
設置內核參數
vi /etc/sysctl.conf
# 增加下面的內容
fs.file-max=65536
vm.max_map_count=262144
設置資源參數
vi /etc/security/limits.conf
# 修改
* soft nofile 32768
* hard nofile 65536
修改進程數
ulimit -u 2048
修改ES系統配置
vi config/elasticsearch.yml
增加下面內容
- cluster.name: bropen #集群名稱
- node.name: bropen #節點名稱
- network.bind_host: 0.0.0.0 #設置綁定的ip地址
- network.publish_host: 0.0.0.0 #設置其它節點和該節點交互的ip地址
- network.host: 0.0.0.0 #用來同時設置bind_host和publish_host參數
- http.cors.enabled: true #新參數,這樣head插件就可以訪問ES
- http.cors.allow-origin: "*" #新參數,這樣head插件就可以訪問ES
- transport.tcp.port: 9300 端口
和2xx版本比較需要注釋掉的參數,否則ES無法正常啟動
- #script.inline: true
- #script.indexed: true
- #script.ingest: true
ES 5xx版本和2xx版本不同,不需要安裝插件delete by query
2 head插件的安裝
為了方便管理ES可以安裝elasticsearch-head插件,一個瀏覽器管理es的插件,如果出現問題,方便es維護人員通過瀏覽器進行維護,當然開發者也可以不安裝此插件。
和ES 2xx版本不同,ES 5xx版本后的elasticsearch-head插件是獨立運行的。
2.1下載head插件
去github下載elasticsearch-head插件(https://github.com/mobz/elasticsearch-head),如果安裝有git,也可以使用命令 :git clone git://github.com/mobz/elasticsearch-head.git
2.2 安裝node
由於head插件本質上還是一個nodejs的工程,因此需要安裝node,使用npm來安裝依賴的包。(npm可以理解為maven)去官網下載nodejs,https://nodejs.org/en/download/
使用命令tar -xvf node*.tar.xz解壓縮node
如果linux系統不識別xz格式則需要安裝xz。使用命令yum -y install xz
然后執行xz -d node*.tar.xz
tar -xvf node*.tar
Node解壓完成后使用mv命令移到要放置的目錄下
配置環境變量(ubuntu下使用命令: sudo vi ~/.bashrc)
增加下面內容
- export NODE_HOME=/usr/lib/nodejs/node-v6.9.1-linux-x64
- export PATH=$PATH:$NODE_HOME/bin
執行source /etc/profile 重新生效環境變量
此時可以驗證node是否安裝成功
bropen@v230:/$ node -v
v6.9.1
bropen@v230:/$ npm -v
3.10.8
2.3 安裝grunt
grunt是一個很方便的構建工具,可以進行打包壓縮、測試、執行等等的工作,5.0里的head插件就是通過grunt啟動的。因此需要安裝一下grunt。
在head插件目錄下執行命令npm install -g grunt-cli
- 如果報找不到package.json的錯誤,則檢查當前是否在head插件目錄下。
檢查是否安裝成功
bropen@v230:/$ grunt -version
grunt-cli v1.2.0
配置環境變量
- 修改head/Gruntfile.js文件
connect: {
server: {
options: {
port: 9100,
hostname: '*',
base: '.',
keepalive: true
}
}
}
增加hostname: '*'
- 修改head/_site/app.js文件中head的鏈接地址,將localhost轉化成head的服務器地址
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.1168.0.230:9200";
2.4 運行head
在head插件目錄下執行npm install命令,下載所需要的包。
最后啟動head插件,執行grunt server
bropen@v230:~/workspace-ggts/search/elasticsearch-head$ grunt server
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100
與ES 2xx版本的head插件不同,新版本的head插件單獨啟動,且只需要在瀏覽器端輸入
3 IK分詞器的安裝
我們目前使用的ES是 5.1.1版本,所以需要下載對應的5.1.1版本的IK分詞器。
下載地址:https://github.com/medcl/elasticsearch-analysis-ik/releases 找到對應版本的分詞器,點擊zip壓縮包鏈接進行下載。
下載好的壓縮包,直接解壓到ES的plugins目錄下既可使用,重新啟動ES,如果解壓正確,則不會有異常輸出。
注意:
- 最好不要使用clone命令進行下載,否則下載的是源碼,需要自己打包。
- 如果用clone命令下載了源碼,則需要安裝maven進行打包,執行maven package命令。
