ES6.8安装
ES6.8 安装
sudo apt-get update #更新源
环境:
系统:ubuntu:16server版
sudo apt install openjdk-8-jdk (openjdk version "1.8.0_252") #安装jdk环境
java -version #测试jdk是否安装成功
环境变量:
vim /etc/profile
# java jdk path
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=$JAVA_HOME/jre:$PATH
export PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib:${JRE_HOME}/lib:$CLASSPATH
刷新配置
source ~/.profile
查看 JDK 和 JRE 的安装路径
sudo update-alternatives --config java
sudo update-alternatives --config javac
Jdk文件夹
/usr/lib/jvm
java-1.8.0-openjdk-amd64 java-8-openjdk-amd64
下载ES6.8:wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.9.tar.gz
解压:tar -zxvf elasticsearch-6.8.9.tar.gz 将移动到 /usr/local/下
或者在本地下载,然后安装ssh,传输到远程
配置文件:
此时进入/usr/local下
vim elasticsearch-6.8.9/config/elasticsearch.yml #进入配置输入如下信息
cluster.name: es_cluster #. 同一个集群名字必须一样
node.name: node-1 # 不同节点不同名字
node.master: true # 决定此分支要不要作为主分支
node.data: true # 决定数据要不要存入此分支
network.host: xxxxxx1 #这里换成你服务器ip地址即可
http.port: 9200 # 不同服务器可以一样的端口
transport.tcp.port: 9300 # 集群之前使用的端口discovery.zen.ping.unicast.hosts: ["xxxxxx2:9300"] # 用于连接的其他分支,写一个就行,也可以都写
启动:不要在root用户下面运行
./elasticsearch-6.8.9/bin/elasticsearch -d
#查看日志
vi elasticsearch-6.8.9/logs/es-cluster_1.log
再送两个检查集群状态的
# 查看集群健康状态
http://xxxxxx:9200/_cluster/health
# 查看节点
http://xxxxxx:9200/_cat/nodes?pretty
Kibana安装:
安装在主分支上面,和ES的版本必须对应
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.8.9-linux-x86_64.tar.gz #下载kibana包
sha1sum kibana-6.8.9-linux-x86_64.tar.gz #检测包是否能用
tar -xzf kibana-6.8.9-linux-x86_64.tar.gz #解压
修改配置文件 在安装kibana 的文件夹下面直接,我一般放在/usr/local
vi ./kibana-6.8.9-linux-x86_64/config/kibana.yml #进入配置文件输入如下信息
server.port: 5601 # 对外端口
server.host: "xxxxxx” # ip
elasticsearch.url: "http:/xxxxxx:9201” ES 端口ip
# 在安装的文件夹下面
./kibana-6.8.9/bin/kibana #启动kibana
#若后台运行敲这个命令
chmod +x kibana
nohup kibana >/dev/null 2>&1 &
# 然后启动
nohup ./kibana-6.8.9-liunx-x86-64/bin/kibana &
http://xxxxxx:5601/app/kibana#/dev_tools/console?_g=() #在浏览器访问kibana
head 插件
1、下载node.js
下载地址:https://nodejs.org/dist/v6.9.2/node-v6.9.2-linux-x64.tar.xz,把node.js的安装包下载下来后上传Linux主机上
2、解压node.js安装包
xz -d node-v12.18.0-linux-x64.tar.xz #使用xz命令解压xz包,解压出来的结果是tar包
tar –xvf node-v12.18.0-linux-x64.tar #解压tar包
mv node-v12.18.0-linux-x64 /usr/local/node
3、配置环境变量
vi /etc/profile #打开配置文件
NODE_HOME=/usr/local/node #添加node_home变量
PATH=$PATH:$NODE_HOME/bin #把node_home变量添加到环境变量中
export PATH NOTH_HOME
source /etc/profile #重新加载环境变量配置文件
node -v #验证node.js是否安装成功,如果能查看到版本号说明安装成功
npm -v #验证npm工具是否安装成功,如果能查看到版本号说明安装成功
1、下载elasticsearch-head
下载地址:https://github.com/mobz/elasticsearch-head把源码下载下来,下载的包名为:elasticsearch-head-master.zip,然后上传到Linux主机上。
2、解压elasticsearch-head源码包
unzip elasticsearch-head-master.zip
mv elasticsearch-head-master /usr/local/es-head
3、安装grunt工具
cd /usr/local/es-head #进入elasticsearch-head插件的源码目录
npm install -g grunt --registry=https://registry.npm.taobao.org #安装grunt工具,由于在国内连接国外的镜像速度奇慢无比,所以我们使用了国内taobao的镜像。
如果报错使用root 权限
root@ubuntu:/usr/local/es-head# npm install -g grunt --registry=https://registry.npm.taobao.org
结果:/usr/local/node/bin/grunt -> /usr/local/node/lib/node_modules/grunt/bin/grunt
+ grunt@1.1.0
added 95 packages from 63 contributors in 12.218s
4、编译elasticsearch-head源码
npm install #使用npm编译es-head源码,但是建议大家不要用这个这种方式安装,因为使用npm编译源码会下载很多依赖,这些依赖默认到国外镜像下载,所以速度会很慢,看下面的命令:
npm install -g cnpm --registry=https://registry.npm.taobao.org #安装cnpm,这是链接中国的镜像
cnpm install #使用cnpm代替npm编译es-head源码
编译好后es-head根目录下会出现一个叫node_modules的目录,该目录就是存放源码编译后的可执行文件。
那到现在我们已经把elasticsearch-head插件和它的依赖都安装好了,那接下来我们就要对他的配置进行修改,准备运行。
head配置
1、设置插件管理界面跨主机访问
插件默认是只有本机的IP才能访问的,也就是127.0.0.1,这样我们就无法跨主机访问head 插件的管理界面,所以需要把它改成所有IP地址都能访问。该配置在head插件安装目录根目录下,文件名为Gruntfile.js。
cd /usr/local/es-head
vi Gruntfile.js
在该配置文件中connect-server-options下添加hostname: '0.0.0.0',这个配置,这样就不限制IP地址的访问了
注意:要把主机防火墙9100的端口打开
2、设置连接elasticsearch的地址
head插件默认是连接本机的elasticsearch的,如果你的elasticsearch和head插件是安装在同一台主机上,那么就不需要修改配置,如果不是安装在同一台主机的,就必须修改配置了,配置文件在head插件安装目录的_site目录下,文件名为app.js。
vi app.js #编辑app.js文件
把this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";这行配置中的localhost改成你elasticsearch服务所在IP地址(如果安装在同一台主机就不需要修改)
3、elasticsearch配置允许跨域访问
cd /usr/local/elasticsearch/config #进入elasticsearch存放配置文件的目录
vim elasticsearch.yml #编辑elasticsearch配置文件
在该配置文件中最末尾添加两个属性:http.cors.enabled: true和http.cors.allow-origin: "*" 使head插件可以访问elasticsearch
运行和使用head插件
1、因为我们刚刚修改了elasticsearch的配置,所以首先需要重启elasticsearch
2、运行head插件
cd /usr/local/es-head #先进入到head插件的安装目录根目录
grunt server #使用刚刚安装的grunt工具运行head插件
后台行运grunt server &
如果能打印以下的信息,那就说明head插件安装并运行成功,并且我们通过打印信息看到,它告诉我们可以通过localhost:9100访问web服务,该web服务就是head插件的管理界面,但是这个localhost要改成head插件所在的主机的具体IP地址。接下来我们就可以通过浏览器来访问head插件的管理界面了,在这管理界面中管理我们的elasticsearch服务。
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100
3、访问head插件管理界面
我的head插件所在的IP地址为xxxxxx,所以我在另一台主机的浏览器地址栏输入http://xxxxxx:9100