ES安裝
安裝步驟
準備安裝包https://www.elastic.co/downloads/elasticsearch
解壓安裝包tar -xvf elasticsearch-5.5.2.tar.gz
安裝完成
建立一個es使用者(es不能使用root運作)
groupadd es
useradd es -g es -p es
chown -R es:es /home/software/es/elasticsearch-5.5.2/ (是這個使用者擁有es安裝目錄的權限)
切換到es使用者:su es
切換到bin目錄下執行 ./elasticsearch 啟動es
出現started字樣代表啟動成功
啟動可能報的錯及解決方案
-
記憶體不足
修改config下的jvm.option
-Xms512m
-Xmx512m
-
出現異常 unable to install syscall filter
需要在配置檔案中修改 elasticsearch.yml
修改42行 bootstrap.memory_lock: false
添加 bootstrap.system_call_filter: false
-
啟動線程不足的問題
Vi /etc/security/limits.d/90-nproc.conf
修改1024為2048
-
最大虛拟記憶體的大小
Vi /etc/sysctl.conf 添加vm.max_map_count=655360
執行sysctl -p 添加新值
一般修改以上就可以成功啟動es,如果還是啟動失敗可以重新開機機器試試。
安裝視圖插件head
準備:
elasticsearch-head-master.zip
node-v6.11.4-linux-x64.tar.xz(head插件是基于node開發的)
安裝:
安裝node
安裝node:tar -xvf node-v6.11.4-linux-x64.tar.xz
進入根目錄下的bin目錄,執行npm指令
還需要配置一下環境變量
vi /etc/profile
export NODE_HOME=/home/software/node-v6.11.4-linux-x64
Export PATH $NODE_HOME/bin
儲存退出
source /etc/profile 使配置生效
Npm install -g grunt-cli
驗證是否成功:
node -v
npm -v
grunt -version
安裝head插件
yum install -y zip unzip
unzip elasticsearch-head-master.zip
修改es的配置檔案,添加如下内容
http.cors.enabled: true
http.cors.allow-origin: “*” //開啟http對外服務,讓head插件能夠通路es叢集
":"後面要有空格
修改head的配置檔案
找到Gruntfile.js 中的contect屬性,修改hostname為目前節點的ip
進入head目錄,啟動服務
Grunt server
啟動後可以使用ip:9100進行通路,我的是192.168.168.101:9100
ES叢集的搭建
修改配置檔案elasticsearch.yml
17 cluster.name: elasticsearch 叢集内的每台機器一樣
23 node.name: node-1 每個節點名字不一樣
43 bootstrap.memory_lock: false
44 bootstrap.system_call_filter: false
56 network.host: 192.168.168.101 ip每個節點不一樣
60 http.port: 9200
73 discovery.zen.minimum_master_nodes: 1 叢集中最小的master數
69 discovery.zen.ping.unicast.hosts: [" 192.168.168.101", " 192.168.168.102"] 發現節點
90 http.cors.enabled: true
91 http.cors.allow-origin: "*"
另外準備兩台機器,将整個es安裝目錄拷貝過去
修改配置檔案中的node.name,host,即可
分别啟動每一台機器的es,會自動發現
如果是直接複制過來的,需要删除掉es目錄下的logs目錄和data目錄,不然可能起不來
不進步就是退步,加油!!
個人微信公衆号【碼農峰】,每天推送最新行業資訊,每周推送原創技術文章,歡迎關注。