二、 部署安裝
環境:
1、jdk環境:
[root@openstack-node7 local]# java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
2、
7.102 es kibana
7.108 es logstash
7.109 es filebast
3、版本均為6.8.9
2.3.安裝es(所有節點操作)
1、選擇版本
官網:https://www.elastic.co/cn/downloads/past-releases#elasticsearch
配置hosts文件
192.168.7.102 master-node
192.168.7.108 data-node1
192.168.7.109 data-node2
2、獲取安裝包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.9.tar.gz
3、解壓並建立軟連接
mkdir /usr/local/elk
tar zxf elasticsearch-6.8.0.tar.gz
ln -sv /usr/local/src/elasticsearch-6.8.9 /usr/local/elk/es
4、新建安裝目錄和並授權elk用戶
useradd elk
chown -R elk.elk /usr/local/elk/es/
5、配置文件描述符和內核參數
vim /etc/security/limits.conf
# End of file
* soft nofile 65536
* hard nofile 131072
* soft nproc 65536
* hard nproc 131072
vim /etc/sysctl.conf
vm.max_map_count = 655360
sysctl -p
設置用戶資源參數
vi /etc/security/limits.d/20-nproc.conf
elk soft nproc 65536
6、修改配置文件
vim /config/elasticsearch.yml
[root@master-node es]# egrep -v "^$|^#" config/elasticsearch.yml
cluster.name: es-linux37
node.name: master-node
path.data: /data/es/data
path.logs: /logs/es/logs
network.host: 192.168.7.102
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.7.108", "192.168.7.109","192.168.7.102"]
discovery.zen.minimum_master_nodes: 3
http.cors.enabled: true #解決跨域無法訪問問題
http.cors.allow-origin: "*"
7、新建文件夾
mkdir /logs/es/logs -pv
mkdir /data/es/data -pv
chown elk.elk /logs/es/ -R
chown elk.elk /data/es/ -R
8、啟動文件(如果log有輸出,即正常啟動成功)
su - elk
cd /usr/local/elk/es
./bin/elasticseach
#這是提示找不到足夠的節點應該是3個節點
其他節點只要修改node.name:和network.host:,都改成自己的IP地址
9、后台執行
#所有節點用elk用戶啟動服務,后台運行,現在就要看日志看看有什么問題了。root用戶啟動會報錯的得非root用戶啟動
./bin/elasticsearch -d
節點啟動后:日志輸出如下為成功啟動
在102查看日志,如沒有報錯即可
9、查看端口
10、瀏覽器訪問測試並查看
#每個節點都可以通過:IP:9200端口查看的,如下圖
#可以看到所有節點的json信息
復制然后通過json.cnz轉義
網址:json.cn
lsof -i :9300 #每個節點都跟其他節點進行着連接
2.2.安裝head插件
ElasticSearch-Head 是一個與Elastic集群(Cluster)相交互的Web前台
ES-Head主要作用
它展現ES集群的拓撲結構,並且可以通過它來進行索引(Index)和節點(Node)級別的操作
它提供一組針對集群的查詢API,並將結果以json和表格形式返回
它提供一些快捷菜單,用以展現集群的各種狀態
安裝npm
由於head插件本質上還是一個nodejs的工程,因此需要安裝node,使用npm來安裝依賴的包
官方網址:https://nodejs.org/en/download/
使用二進制文件節省時間
wget https://nodejs.org/dist/v14.4.0/node-v14.4.0-linux-x64.tar.xz
ln -sv /usr/local/src/node-v14.4.0-linux-x64/bin/node /usr/bin/node
ln -sv /usr/local/src/node-v14.4.0-linux-x64/bin/npm /usr/bin/npm
驗證版本
[root@master-node src]# npm -v
6.14.5
[root@master-node src]# node -v
v14.4.0
安裝Head插件
github網址:https://github.com/mobz/elasticsearch-head
cd /usr/local/elk/es/plugins
yum install git
git clone git://github.com/mobz/elasticsearch-head.git
修改npm鏡像
國外鏡像會很慢 ,所以要修改成國內的
npm congfig get registry #查看鏡像
npm config set registry https://registry.npm.taobao.org #set命令更改阿里鏡像
安裝Head
npm install
npm run start
修改配置文件
mkdir /usr/local/elk/plugin
cp -rf mv elasticsearch-head /usr/local/elk/plugin/head
chown -R elk.elk /usr/local/elk/plugin/head
$ vim /home/elk/plugin/head/Gruntfile.js
connect: {
server: {
options: {
port: 9100,
hostname: '*', #增加此行
base: '.',
keepalive: true
$ vim /head/_site/app.js
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.7.102:9200";
$ cd /home/elk/plugin/head/ #一定要進入此目錄下啟動命令啊
放到后台運行
yum install -y screen
screen -S head #創建一個head窗口,執行上圖啟動命令
ctrl A+D #退出窗口
screen -list
screen -r head #進入head窗口
登陸驗證