安装Elasticsearch

Elasticsearch下载地址:https://www.elastic.co/cn/downloads/elasticsearch

也可以直接使用wget下载到某目录下, 本文所有下载的包都放在 /home/tools 中, 解压后移到 /home/apps目录下 

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.1.zip

下载unzip工具,如果已经安装过忽略该步骤

yum install -y unzip zip

解压安装包

unzip elasticsearch-6.3.1.zip

将解压后的文件夹移动到 /home/apps 下, 此步骤非必须,但为了后续需要安装的东西太多防止目录混乱所以与安装包分离

 mv elasticsearch-6.3.1 /home/apps/

到 /home/apps 下,elasticsearch 就解压完毕了,但要直接启动会报各种错误,接下来开始配置吧

-----------------------------------  Elasticsearch配置  --------------------------------------

注:文章默认已配置好1.8版本jdk, 如果没配置请先配置一下!

修改elasticsearch.yml

cd /home/apps/elasticsearch-6.3.1/config

vi elasticsearch.yml

修改如下几项(配置集群名称,这里端口默认为9200,如果需要修改可以改http.port)

cluster.name: xxx-es   
network.host: 0.0.0.0 path.logs: /home/apps/elasticsearch-6.3.1/logs path.data: /home/apps/elasticsearch-6.3.1/data #默认没有该目录,需要手动新建 mkdir data 增加以下两个配置(跨域访问)
http.cors.enabled: true

http.cors.allow-origin: "*"

保存修改

新建启动用户 (ES5.0 以后不允许使用root角色启动)

#添加用户
adduser elasticsearch
#设置密码
passwd elasticsearch
#授权
chown -R elasticsearch /elasticsearch-6.3.0
#切换用户
su elasticsearch
#启动
cd elasticsearch-6.3.0/bin
./elasticsearch

启动可能会报如下错误

切换回root角色再为该用户授权一次就可以了, 可能是启动的时候新生成了文件没有权限

su root
chown -R elasticsearch /home/apps/elasticsearch-6.3.1

错误解决方案

再启动一次,发现依旧报错

原因:无法创建本地文件问题,用户最大可创建文件数太小

解决方案:

#切换回root账户
su root #修改limits.conf文件
vi /etc/security/limits.conf

在文件最底部增加如下配置

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

切换回elasticsearch账号,再启动一次ES吧,又报错了

原因:最大虚拟内存太小

解决方案:

#切换至root账户
su root #修改sysctl.conf
vi /etc/sysctl.conf

添加如下配置

vm.max_map_count=655360

执行 sysctl -p 以刷新配置

再次切换回elasticsearch用户,启动ES

启动成功! 我们打开浏览器访问一下吧~

防火墙配置

发现打不开,我们之前已经配置了所有节点可以访问,并且也配置了可跨域,为什么打不开呢?

别忘了还有防火墙在啊。需要把9200的对外访问端口打开

在控制台输入以下命令

#开启9200端口
firewall-cmd --zone=public --add-port=9200/tcp --permanen #刷新配置
firewall-cmd --reload

再次访问http://192.168.193.129:9200/

好~ES的配置到此结束

服务启动与关闭

直接用./elasticsearch启动一旦关闭控制台服务便会停掉,因此需要使用 ./elasticsearch -d 在后台启动

如何关闭服务?

ps -ef|grep elasticsearch

杀掉对应的进程号就可以了

-------------------------------  Elasticsearch-Head 安装及配置  --------------------------

下载及安装

面对这么个提示一定一脸懵逼吧,我要怎么查询数据?怎么知道有什么索引? Head 插件就是为了解决这个问题的,它提供可视化的页面方便用户查看节点信息,查询数据等。

接下来就开始安装Head插件吧

Elasticsearch5.0 以后head不再在plugins中直接安装了,需要独立安装

下载地址: https://pan.baidu.com/s/1kX1cMzlb6jWvHeDr2N5e-g

将下载后的压缩包放到 /home/tools 下

#解压压缩包
unzip elasticsearch-head.zip #将解压后的文件夹移动/home/apps下
mv elasticsearch-head /home/apps

进入head文件目录

cd elasticsearch-head

安装grunt用来启动head

#安装grunt命令行工具grunt-cli
npm install -g grunt-cli #安装grunt及其插件
npm install grunt --save-dev #查看安装版本情况
grunt -version

配置连接信息

vi Gruntfile.js

修改如下配置(ip 和 端口号)

保存后配置防火墙,开放9100端口,在控制台输入

firewall-cmd --zone=public --add-port=9100/tcp --permanent
firewall-cmd --reload

启动head

grunt server

启动成功

在浏览器输入 http://192.168.193.129:9100

安装完成

服务启动与关闭

后台方式启动

nohup grunt server &

关闭head

#查询端口占用
netstat -tunlp |grep 9100

如果netstat没有安装,执行以下命令安装

yum install net-tools

#杀死进程
kill -9 9919

Elasticsearch-head 连接 Elasticsearch-6.0 + 检索问题

Head 连接Elasticsearch6时其他功能都好使, 但数据浏览模块不能显示数据了,一直显示搜索中,但不返回结果


看一下网络流可知报406 错误

解决办法:

cd elasticsearch-head/_site

vi vendor.js

修改如下

#1. 6886行
contentType: "application/x-www-form-urlencoded
改为
contentType: "application/json;charset=UTF-8"
#2. 7574行
var inspectData = s.contentType === "application/x-www-form-urlencoded" &&
改为
var inspectData = s.contentType === "application/json;charset=UTF-8" &&

重新启动elasticsearch-head就可以正常检索了

Elasticsearch 6.3.1、Head插件 安装及配置的更多相关文章

  1. MyEclipse TestNG插件安装与配置

    MyEclipse TestNG插件安装与配置   by:授客 QQ:1033553122 测试环境 jdk1.8.0_121 myeclipse-10.0-offline-installer-win ...

  2. nodejs安装及npm模块插件安装路径配置

    在学习完js后,我们就要进入nodejs的学习,因此就必须配置nodejs和npm的属性了. 我相信,个别人在安装时会遇到这样那样的问题,看着同学都已装好,难免会焦虑起来.于是就开始上网查找解决方案, ...

  3. elasticsearch及head插件安装与配置

    1. 环境软件版本说明 系统:ubuntu14.04.1 JDK:1.8 elasticsearch:5.5.2 node:9.11.1 elasticsearch:5.X 2. 环境软件下载说明 1 ...

  4. ElasticSearch 5.0及head插件安装

    一.elasticsearch安装配置 1.官网下载源码包 https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0 ...

  5. Elasticsearch集群监控工具bigdesk插件安装

    bigdesk是elasticsearch的一个集群监控工具,可以通过它来查看es集群的各种状态,如:cpu.内存使用情况,索引数据.搜索情况,http连接数等. 项目git地址: https://g ...

  6. ElasticSearch head插件安装与配置

    下载 下载地址:https://github.com/mobz/elasticsearch-head 安装 1. 下载到本地 git clone 2. 安装 grunt npm install -g ...

  7. ElasticSearch学习笔记-01 简介、安装、配置与核心概念

    一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...

  8. eclipse maven plugin 插件 安装 和 配置

      离线插件 点击下载离线安装包:eclipse-maven-plugin.zip ( for eclipse helios or higher ) .解压缩到任意目录(如这里的plugins目录): ...

  9. Oh-My-Zsh及主题、插件安装与配置

    切换zsh Manjaro linux默认安装了zsh,其他可能需要先安装 cat /etc/shells #查看本地有哪几种shell chsh -s /bin/zsh #切换到zsh 默认终端启动 ...

随机推荐

  1. 查询login什么时候过期

    -- Show all logins where the password is over 60 days old --查看60天没改密码的login SELECT name, LOGINPROPER ...

  2. Python 爬虫 获取标签下面的子标签

    thr_msgs = soup.find_all('div',class_=re.compile('msg')) for i in thr_msgs: print(i) first = i.selec ...

  3. java获取中文拼音首字母

    import net.sourceforge.pinyin4j.PinyinHelper; public class PinyinHelperUtil { /** * 得到中文首字母(中国 -> ...

  4. Exchange2016 & Skype for business 集成之三统一联系人存储

    Exchange2016&Skype for business集成之二统一联系人存储 利用统一的联系人存储库,用户可以维护单个联系人列表,然后使这些联系人适用于多个应用程序,包括 Skype ...

  5. BZOJ2761:[JLOI2011]不重复数字(map)

    Description 给出N个数,要求把其中重复的去掉,只保留第一次出现的数. 例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 ...

  6. 多GPU计算

    多GPU计算已经可以说,只要是个成熟的模型,都使用了这一点. 例如: gluoncv:https://github.com/dmlc/gluon-cv/blob/master/scripts/dete ...

  7. POJ3347 Kadj Squares

    嘟嘟嘟 题意:给出一堆正方形的边长,且这些正方形都是\(45 ^ {\circ}\)斜放着并且紧挨着的,求从上往下看能看到几个正方形. 真是一道好题--跟计算几何关系不大. 想一下,如果我们能求出正方 ...

  8. TP框架---Model模型层---做模型对象

    TP框架----Model模型层---------------做模型对象 Model模型层是用来做什么的呢???? 主要是用来做操作数据库访问的. 也就说明TP框架自带了一种访问数据库的方式,使用的是 ...

  9. 7、RabbitMQ-主题模式

    1.模式图 发送到主题交换的消息不能具有任意的 routing_key - 它必须是由点分隔的单词列表. 单词可以是任何内容,但通常它们指定与消息相关的一些功能.一些有效的路由键示例:“ stock. ...

  10. 设计模式之Strategy模式

    策略模式属于对象的行为模式.其用意是针对一组算法,将每一个算法封装到具体的共同接口的独立类中,从而使得他们可以互相替换. 策略模式使得算法可以在不影响客户端的情况下发生变化. all in one “ ...