环境安装:
1. 安装JAVA环境
版本选择:
jdk兼容性:https://www.elastic.co/cn/support/matrix#matrix_jvm
操作系统兼容性:https://www.elastic.co/cn/support/matrix
自身兼容性:https://www.elastic.co/cn/support/matrix#matrix_compatibility
2. 安装ElasticSearch
下载地址:
http://elastic.co/
http://elastic.show/download
(端口号:9084)
上传下载过后的压缩包到自己的服务器目录,此处我上传到了Linux如下目录:
解压:
tar -avxf elasticsearch-7.10.0-linux-x86_64.tar.gz
移动Elasticsearch到 /usr/local/目录之下
mv elasticsearch-7.10.0 /usr/local/
Elasticsearch目录结构:
/usr/local/elasticsearch-7.10.0下创建data文件夹,后面需要使用
mkdir data
进入cofig目录之下
cd config/
修改vim elasticsearch.yml
修改内容为:
修改内容:
cluster.name: elasticsearch
node.name: es-node01
path.data: /usr/local/elasticsearch-7.10.0/data
path.logs: /usr/local/elasticsearch-7.10.0/logs
http.port: 9200
network.host: 0.0.0.0
cluster.initial_master_nodes: ["es-node01"]
然后修改 jvm.options 配置文件
vim jvm.options
因为是在虚拟机进行安装的ES,所以内存不是很大建议修改一下。若是生产环境不用修改也可。
注意:ES启动不能以ROOT用户来进行,所以需要创建一个用户
启动节点服务:
创建用户:
useradd user-es
授权:
chown -R user-es:user-es /usr/local/elasticsearch-7.10.0
切换到user-es 用户进入bin启动elasticsearch
su user-es
cd /usr/local/elasticsearch-7.10.0/bin
./elasticsearch
如果报错:
future versions of Elasticsearch will require Java 11; your Java version from [/usr/java/jdk1.8.0_151/jre] does not meet this requirement
原因:说明这个版本对应的jdk应该是java11。我们环境中的jdk是java8。其实新版的es是自带了jdk的。但是和我们环境变量的冲突了。
解决方案:修改启动文件,添加如下修改
如果出现如下错误信息(最大文件数太小、线程太小、内存太低):
则需要修改相应的环境配置
su 切换到ROOT用户修改/etc/security/limits.conf配置文件
然后修改另一个配置文件
vi /etc/sysctl.conf
修改信息如下:
vm.max_map_count = 655360
保存退出,刷新配置文件
sysctl -p
elasticsearch-7.10.0启动JDK版本警告问题
future versions of Elasticsearch will require Java 11; your Java version from [xx/xxx/xx/jdk1.8.0_221/jre] does not meet this requirement
修改elasticsearch-7.10.0/bin目录下elasticsearch-env文件:
注释掉红框部分即可
验证服务器启动成功:http://localhost:9200
在本机单个项目启动多个节点:
操作系统 | 命令 |
---|---|
Linxu/MacOS | (1)./elsaticsearch -E path.data=data1 -E path.logs=log1 -E node.name=node1 -E cluster.name=msb_teach(2)./elsaticsearch -E path.data=data1 -E path.logs=log2 -E node.name=node2 -E cluster.name=msb_teach |
Windows | (1)./elsaticsearch.bat -E path.data=data1 -E path.logs=log1 -E node.name=node1 -E cluster.name=msb_teach(2)./elsaticsearch.bat -E path.data=data1 -E path.logs=log2 -E node.name=node2 -E cluster.name=msb_teach |
在多个项目启动多个单节点:
操作系统 | 命令 |
---|---|
Linxu/MacOS | (1)open /node1/bin/elsaticsearch(2)open /node2/bin/elsaticsearch(3)open /node3/bin/elsaticsearch |
Windows | (1)start D:\node1\bin\elsaticsearch.bat(2)start D:\node2\bin\elsaticsearch.bat(3)start D:\node3\bin\elsaticsearch.bat |
3. 安装Kibana
下载地址:https://www.elastic.co/cn/downloads/kibana
https://www.elastic.show:9084/download/Kibana/
启动服务:(从版本6.0.0开始,Kibana仅支持64位操作系统)
将安装包上次到服务器,然后解压安装包,例如解压到:/usr/local/
tar –zxvf kibana-7.10.0-linux-x86_64.tar.gz–C /usr/local/
然后到kibana安装目录的config下,编辑kibana.yml配置文件,添加如下配置:
#配置本机ip
server.host: “192.168.229.131”
#配置es集群url
elasticsearch.url: “http://192.168.229.131:9200”
验证服务启动成功:http://localhost:5601
配置elasticsearch服务的地址:
命令关闭kibana:
关闭窗口
ps ef | grep 5601 或者 ps -ef | grep kibana 或者 lsof -i:5601
kill -9 pid
关于“Kibana server is not ready yet”问题的原因及解决办法
- Kibanb和elasticsearch的版本不兼容:解决办法,保持版本一致
- elasticsearch的服务地址和kibana配置的elasticsearch.hosts不同;解决办法,修改kibana.yml中的elasticsearch.hosts配置
- elasticsearch中禁止跨域访问;解决办法:在elasticsearch.yml中允许配置跨域。
- 服务器中开启了防火墙;解决版本:关闭防火墙或者修改服务器的安全策略
- elasticsearch所在磁盘剩余空间不足90%;解决办法:清理磁盘空间,配置监控和报警。
Kibana 核心目录结构
Kibana 核心配置文件
4. 安装ElasticSearch-Head插件
Head插件安装:
1、安装依赖
(1)下载node:
①下载地址:https://nodejs.org/en/download/
②检查是否安装成功:win+R CMD输入“node -v”命令检查,如果输出了版本号,则node安装成功。
(2)安装grunt:
①CMD中执行“npm install -g grunt-cli”命令等待安装完成
②输入:grunt -version命令检查是否安装成功
2、 下载head插件
(1)下载地址:https://github.com/mobz/elasticsearch-head
(2)下载完成后,解压,打开elasticsearch-head-master文件夹,
修改Gruntfile.js文件,添加hostname:’’,如图:
(3)输入cd elasticsearch-head
npm install ES Services
(4)输入npm run start 启动任务
(5)验证:http://localhost:9100/ 安装成功
(6)如果无法发现Es节点,尝试在es配置文件中设置允许跨域
http.cors.enabled:true
http.cors.allow-origin:""