Centos7安装ElasticSearch(一些踩坑的地方)
centos7如何安装es
下载
从https://www.elastic.co/cn/products/elasticsearch官网下载es,下载最新版本即可,然后用xftp或者其他方法将压缩包上传到服务器上
安装和配置
创建新用户,因为es为了保证安全性无法在root权限下运行
useradd elstic
#设置密码
passwd 123456
#切换用户
su elstic
我们将压缩包上传到/home/elstic下
解压缩,为了方便我们将目录重命名一下
tar -zxvf elasticsearch-7.10.0.tar.gz
#重命名目录
mv elasticsearch-7.10.0/ elasticsearch
此时目录下的文件如下

修改配置
jvm.options
启动的时候默认堆空间设置的是1g,有点大了,我们设置为512m

修改elasticsearch.yml 文件
里面的data文件夹和log文件夹没有的话,去相应的目录里面创建就好
运行和错误解决

出现上述问题的原因是没有给elstic用户赋予相应的权限
解决方法,切换到root,给elasticsearch目录赋予你创建的新用户的权限
chown -R xxx elasticsearch-7.10.0

第一个问题,切换到root用户,修改内核参数即可
vim /etc/sysctl.conf
vm.max_map_count=655360
sysctl -p
完成上述操作之后,重启一下xshell窗口
第二个问题
修改一下elasticsearch.yml配置文件中的有关集群节点启动的配置,使用单节点启动,如下

修改之后,启动成功,访问 http://yourip:9200/

Elasticsearch-head查看数据
由于ES官方没有给ES提供可视化管理工具,仅仅是提供了后台的服务,elasticsearch-head是一个为ES开发的一个页面客户端工具,其源码托管于Github,地址为 传送门
head提供了以下安装方式
- 源码安装,通过npm run start启动(不推荐)
- 通过docker安装(推荐)
- 通过chrome插件安装(推荐)
- 通过ES的plugin方式安装(不推荐)
通过Docker方式安装
#拉取镜像
docker pull mobz/elasticsearch-head:5
#创建容器
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
#启动容器
docker start elasticsearch-head
通过浏览器进行访问:

注意: 由于前后端分离开发,所以会存在跨域问题,需要在服务端做CORS的配置,如下:
vim elasticsearch.yml
http.cors.enabled: true http.cors.allow-origin: "*"
通过chrome插件的方式安装不存在该问题
通过Chrome插件安装
打开chrome的应用商店,即可安装 https://chrome.google.com/webstore/detail/elasticsearch-head/ffmkiejjmecolpfloofpjologoblkegm
问题1
发现elasticsearch-head中查看数据时,是一片空白,用F12查看,发现响应出现406错误,需要修改一下容器内部的js文件
解决方法
1.进入 es-head 安装目录;
2.cd _site/
3.编辑 vendor.js 共有两处
将 6886行 contentType: "application/x-www-form-urlencoded" 修改为 contentType: "application/json;charset=UTF-8"
然后再将 7574行 var inspectData = s.contentType === "application/x-www-form-urlencoded" && 修改为 var inspectData = s.contentType === "application/json;charset=UTF-8" &&
因为我是win10的docker,没有vi和vim,就直接将文件cp出来,修改完再cp回去
docker cp elasticsearch-head:/usr/src/app/_site/vendor.js d:/
docker cp d:/vendor.js elasticsearch-head:/usr/src/app/_site


浙公网安备 33010602011771号