前言:elasticsearch作為一個基於Lucene的分布式搜索引擎,其搜索功能的強大之處不用多說,而elasticsearch-head作為一個node項目,能夠輕松管理elasticsearch的集群配置
安裝elasticsearch
1、下載資源包並解壓安裝
- wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
- tar -zxvf elasticsearch-6.2.4.tar.gz -C /usr/local/ —C表示指定解壓到的目錄
2、因為es在5版本后不允許root賬號啟動,因此需要創建一個子用戶
useradd es
chown -R es:es /usr/local/elasticsearch-6.2.4 對解壓的目錄賦予指定用戶權限
3、修改es的配置文件
- 修改ip和端口號
- 啟動時可能報錯的解決方案(修改時都要在root用戶下進行)
vim /etc/security/limits.conf
* hard nofile 65536
* soft nofile 65536 //*表示任意用戶,也可以寫為啟動es的用戶
vim /etc/security/limits.d/20-nproc.conf
* soft nproc 4096
* hard nproc 4096
root soft nproc unlimited
root hard nproc unlimited
vim /etc/sysctl.conf文件末尾添加vm.max_map_count=2621441,保存后執行:sysctl -p 使其生效
3、 如果想要在后台啟動,可以使用./elasticsearch –d(當然要在bin目錄下)
4、 Elasticsearch的多節點配置
a) 主節點配置(只有一個節點)
#集群名稱 cluster.name: demon #節點ip network.host: 192.168.184.131 //本機ip或寫成0.0.0.0提供外部訪問
#節點名稱
node.name: elk-1
#存放數據的位置
path.data: /data/es-data
#存放運行日志的位置
path.logs: /var/log/elasticsearch
#啟動時鎖定內存
bootstrap.memory_lock: true
#節點端口
http.port: 9200
#是否支持跨域
http.cors.enabled: true
# *表示支持所有域名
http.cors.allow-origin: "*"
a+) 主節點配置(存在多個節點)
#節點名稱
node.name: master
#是否有主節點資格
node.master: true
#集群名稱
cluster.name: elasticsearch
#節點ip
network.host: 192.168.184.131
#節點名稱
node.name: elk-1
#存放數據的位置
path.data: /data/es-data
#存放運行日志的位置
path.logs: /var/log/elasticsearch
#啟動時鎖定內存
bootstrap.memory_lock: true
#節點端口
http.port: 9200
transport.tcp.port: 9300
#master最少多少個
discovery.zen.minimum_master_nodes: 1
#節點列表 默認端口9300,非9300需要帶上端口號,自動輪詢發現
discovery.zen.ping.unicast.hosts: ["192.168.184.131:9300","192.168.184.131:9301","192.168.184.131:9302"]
#是否支持跨域
http.cors.enabled: true
# *表示支持所有域名
http.cors.allow-origin: "*"
b) 子節點配置,記得拷貝整個elasticsearch文件,需要刪除data目錄下的文件,或者分開手動設置data目錄
新建的目錄或文件要確認所屬用戶組為子用戶,否則運行時會報權限不足的錯誤
安裝elasticsearch-head插件
相關版本:Elasticsearch:6.2.4 node:10.16.0 jdk:1.8
安裝node
1、 下載資源wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.xz
2、 解壓tar -xf node-v10.16.0-linux-x64.tar.xz
3、 改名mv node-v10.16.0-linux-x64 nodejs
4、 建立軟連接
ln -s /usr/local/nodejs/bin/node /usr/local/bin
ln -s /usr/local/nodejs/bin/npm /usr/local/bin
5、 使用node –v查看node版本
安裝elasticsearch-head插件
1、 在git上clone資源:git clone git://github.com/mobz/elasticsearch-head.git
2、 進入elasticsearch-head目錄:cd elasticsearch-head/
3、 使用npm install 進行安裝
a) 安裝過程出現的錯誤與解決辦法
i. 手動安裝phantomjs
-
-
- 在這之前需要安裝bz2,使用yum安裝
- yum search bzip2 //查詢安裝包
- yum -y install bzip2.x86_64
- 解壓:tar -xjvf /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /data
- 建立軟連接:ln -s /data/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/bin
- 使用phantomjs –v查看安裝版本
- 在這之前需要安裝bz2,使用yum安裝
-
ii. 報錯 “error while loading shared libraries: libfontconfig.so.1: cannot open” 解決:yum -y install fontconfig-devel
報錯 “Failed at the phantomjs-prebuilt@2.1.16 install scriptb)” 解決:npm install phantomjs-prebuilt@2.1.14 --ignore-scripts
4、 安裝后出現
則大致表示成功了
5、 修改elasticsearch-head中的配置
修改Gruntfile.js文件
修改_site/app.js
最后使用npm run install 命令啟動,出現以下情況表示啟動成功
最終效果: