官网下载
https://www.elastic.co/cn/downloads/elasticsearch
https://www.elastic.co/cn/downloads/kibana
链接:https://pan.baidu.com/s/1uWi-CyvFAdG253plp-SaJA
提取码:ex6y
环境
- VMware(虚拟机)
- centos7 (linux)
- ElasticSearch_7.4(搜索引擎)
- Kibana_7.4(辅助图形化查询数据)
- MobaXterm (命令终端)
ElasticSearch 安装
1.上传ElasticSearch安装包
直接使用MobaXterm工具,拖动文件上传。
2.解压
tar -zxvf elasticsearch-7.4.0-linux-x86_64.tar.gz -C /opt
3.创建普通用户
原因:ElasticSearch不允许root用户直接运行,所以使用普通用户
useradd hikktn # 新增hikktn用户
passwd hikktn # 为hikktn用户设置密码
4.为新用户授权
chown -R hikktn:hikktn /opt/elasticsearch-7.4.0 #文件夹所有者
5. 修改elasticsearch.yml文件
vim /opt/elasticsearch-7.4.0/config/elasticsearch.yml
# ======================== Elasticsearch Configuration =========================
# 配置elasticsearch的集群名称,默认是my-application。
cluster.name: my-application# 节点名,elasticsearch会默认随机指定一个名字,建议指定一个有意义的名称,方便管理
node.name: node-1# 设置为0.0.0.0允许外网访问
network.host: 0.0.0.0# Elasticsearch的http访问端口
http.port: 9200# 初始化新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node-1"]
6.新创建的hikktn用户最大执行线程太小了,需要设置虚拟内存。否则启动ElasticSearch会报错。
下图就是不增加线程,造成报错!!!
# 切换到root用户
su root#1. ===最大可创建文件数太小=======
vim /etc/security/limits.conf
# 在文件末尾中增加下面内容
hikktn soft nofile 65536
hikktn hard nofile 65536
# =====
vim /etc/security/limits.d/20-nproc.conf
# 在文件末尾中增加下面内容
hikktn soft nofile 65536
hikktn hard nofile 65536
* hard nproc 4096
# 注:* 代表Linux所有用户名称#2. ===最大虚拟内存太小=======
vim /etc/sysctl.conf
# 在文件中增加下面内容
vm.max_map_count=655360
# 重新加载,输入下面命令:
sysctl -p
7.检查是否安装jdk,elasticsearch会选择自带的默认jdk,一旦不配对启动elasticsearch就会报错。
下图就是以前安装过jdk,各种问题突发,选择卸载安装好的jdk,使用ES自带的jdk。
# 检查是否还有老版本jdk
rpm -qa | grep -i jdk
# 删除老版本jdk
rpm -e --nodeps 带有jdk文件名
# 验证jdk安装成功与否
java -version
# 修改java环境配置
vi /etc/profile
# java配置,在文件末尾处添加该内容
# 选择ElasticSearch默认使用的jdk
export JAVA_HOME=/opt/elasticsearch-7.4.0/jdk/
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar# 重启服务
source /etc/profile
# 验证jdk安装成功与否
java -version
openjdk version "13" 2019-09-17
OpenJDK Runtime Environment AdoptOpenJDK (build 13+33)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 13+33, mixed mode, sharing)
8.启动elasticsearch ,elasticsearch不允许root用户启动,所以启动创建的用户。
su hikktn # 切换到hikktn用户启动
cd /opt/elasticsearch-7.4.0/bin
./elasticsearch #启动
9.停止elasticsearch
# 查找elasticsearch运行状态
ps aux | grep elasticsearch
# 杀死进程
kill -9 77892
10.访问 elasticsearch
#暂时关闭防火墙
systemctl stop firewalld#永久设置防火墙状态
systemctl enable firewalld.service #打开防火墙永久性生效,重启后不会复原
systemctl disable firewalld.service #关闭防火墙,永久性生效,重启后不会复原访问浏览器
Kibana安装
1.上传ElasticSearch安装包
直接使用MobaXterm工具,拖动文件上传。
2.解压,版本和ES要一致
tar -xzf kibana-7.4.0-linux-x86_64.tar.gz -C /opt
3.修改kibana配置
vim /opt/kibana-7.4.0-linux-x86_64/config/kibana.yml
# http访问端口
server.port: 5601
# ip地址,0.0.0.0表示可远程访问
server.host: "0.0.0.0"# kibana服务名
server.name: "kibana-itcast"# elasticsearch地址
elasticsearch.hosts: ["http://127.0.0.1:9200"]# 请求elasticsearch超时时间,默认为30000,启动不成功
elasticsearch.requestTimeout: 99999
4.启动kibana
kibana不建议使用root用户启动,如果用root启动,需要加--allow-root参数 ,可是普通用户启动会报错。
# 切换到kibana的bin目录
cd /opt/kibana-7.4.0-linux-x86_64/bin
# 启动
./kibana --allow-root
下图代表启动成功,warning是警告的意思,连接Google超时,没有配置log文件,公开许可没有之类。
5.访问kibana
浏览器输入http://192.168.135.143:5601/,如下图:
6.停止kibana
# 查询占用端口
fuser -n tcp 5601
# 杀死进程
kill -9 44320
head安装
1.安装node
1.下载node,webpack需要node来依赖JavaScript包。
wget https://nodejs.org/dist/v10.15.2/node-v10.15.2-linux-x64.tar.xz
2. 解压
tar xvf node-v10.15.2-linux-x64.tar.xz
3.设置软连接
ln -s bin/npm /usr/local/bin/
ln -s bin/node /usr/local/bin/
4.配置环境变量
vi /etc/profile
# node配置
export NODE_HOME=/opt/nodejs/node-v10.15.2-linux-x64
export PATH=$PATH:$NODE_HOME/bin
# 重启服务
source /etc/profile
# 验证node版本
node -v
2.grunt安装
1.下载grunt
npm install -g grunt-cli
2.验证grunt版本
grunt --version
3.head安装
1.下载git
yum -y install git
2.验证git版本
git --version
3.下载head
git clone git://github.com/mobz/elasticsearch-head.git
4.修改elasticsearch.yml配置
vim /opt/elasticsearch-7.4.0/config/elasticsearch.yml
#开启cors跨域访问支持,默认为false
http.cors.enabled: true
#跨域访问允许的域名地址,(允许所有域名)以上使用正则
http.cors.allow-origin: "*"
5.运行head
# 这是node的命令
npm run start
成功启动!
注意:
之前还有一些报错,
需要重启ElasticSearch服务
如果启动head报错,就是webpack中的package.json当中缺少相应的坐标依赖。
自行下载坐标依赖就行
npm install grunt-contrib-copy
npm install grunt-contrib-concat
npm install grunt-contrib-uglify
npm install grunt-contrib-clean
npm install grunt-contrib-watch
npm install grunt-contrib-connect
npm install grunt-contrib-jasmine
访问http://192.168.135.143:9100/