Elasticsearch 5.0.0版本部署手冊

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的環境變量

set node environment

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:其餘代替設置】

相關文章
相關標籤/搜索