Elasticsearch 5.0.0版本部署手冊java
1.Elasticsearch5.0.0版本不支持root用戶啓動,以前版本設置-Des.insecure.allow.root=true失效,必須修改es源碼而且從新編譯才能設置root啓動【http://www.peecy.org/run-elasticsearch-5-as-root/】。node
解決方案:linux
groupadd esearchgit
useradd esearch -g esearch -p elasticsearchgithub
2.在非root用戶下啓動Elasticsearch5.0.0報錯java.io.FileNotFoundException,日誌文件Permission Deniedweb
解決方案:npm
chown ${user} -R ${path} 使用chown命令將path路徑下的es目錄的用戶組更改成uservim
3.[Warn] max file descriptors for elasticsearch likely too low,increase to at least [65536]跨域
切換到root用戶下,編輯limits.conf的內容瀏覽器
vi /etc/security/limits.conf
添加以下內容
soft nofile 65536
hard nofile 131072
soft nproc 2048
hard nproc 4096
切換到非root用戶
4.[Warn] max number of threads [1024] for user [esearch] likely too low,increase to at least [2048]
切換到root用戶下,編輯limits.d目錄下的配置內容
vi /etc/security/limits.d/90-nproc.conf
修改 * soft nproc 1024
爲 * soft nproc 2048
切換爲非root用戶
5.[Warn] max virtual memory areas vm.max_map_count [65530] likely to low,increase to at least [262144]
切換到root用戶下,修改sysctl.conf
vi /etc/sysctl.conf
添加配置:vm.max_map_count=655360
執行命令:sysctl -p
從新啓動elasticsearch
6.使用./elasticsearch命令或者./elasticsearch -d命令成功啓動elasticsearch後,web瀏覽器訪問http://IP:9200端口失敗
修改./config/elasticsearch.yml配置文件
network.host: 192.168.76.89
重啓elasticsearch便可
7.elasticsearch沒法使用elasticsearch-plugin命令安裝head插件,咱們須要以standalone server的方式啓動head插件
1.安裝git命令:
yum -y install git
2.從github上下載elasticsearch-head的源碼:
git clone git://github.com/mobz/elasticsearch-head.git
3.修改head目錄權限
chmod -R 777 *
4.node的安裝:head的本質是nodejs工程,所以須要安裝node,使用npm來安裝依賴的包(npm至關於maven)
yum -y install xz 安裝xz命令
xz -d node*.tar.xz 解壓nodejs安裝包
tar -xvf node*.tar
vim /etc/profile
增長Node的環境變量
export NODE_HOME=/usr/elk/node-v6.9.1-linux-x64
export PATH=$PATH:$NODE_HOME/bin
source /etc/profile
echo $NODE_HOME
node -v
npm -v
5.安裝grunt:grunt是一個很方便的構建工具,能夠進行打包壓縮、測試、執行等工做,5.0的head插件就是經過grunt啓動
到elasticsearch-head的目錄下
npm install -g grunt-cli
檢測grunt是否安裝成功
grunt -version
6.修改head插件源碼
vim /elasticsearch-head/Gruntfile.js
connect: { server: { options: { port: 9100, hostname: '*', base: '.', keepalive: true } } }
增長hostname屬性,設置爲*
vim /elasticsearch-head/_site/app.js
修改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.168.76.89:9200";
7.運行head
在head的根目錄下,安裝head依賴
npm install
啓動nodejs
grunt server
8.安裝head插件後,訪問9100沒法正常連接elasticsearch
在elasticsearch.yml中增長跨域支持,重啓es和head插件
http.cors.enabled: true
http.cors.allow-origin: "*"
9.啓動elasticsearch報錯java.lang.IllegalStateException: failed to obtain node locks
刪除elasticsearch/data目錄下的nodes目錄
10.logstash啓動報錯:Could not find or load main class org.jruby.Main
檢查logstash的目錄下是否存在Gemfile和Gemfile.jruby-1.9.lock文件
若無,從新下載logstash.zip文件
11.logstash配置文件
elasticsearch5.x版本不支持_ttl的設置,所以要去除logstash模板文件中的ttl屬性
logstash中不支持worker的設定【TODO:其餘代替設置】