Elasticsearch和ElasticsearchHead的安装与配置

版权声明:Arno https://blog.csdn.net/yu342107056/article/details/87938400

ES安装(基于java运行环境)

1获取安装包

云主机和虚拟机的es安装资源 elasticsearch-5.5.2.tar包都在/home/resources

2 tar命令解压安装包

#tar -xf **.tar包直接解压到当前文件,形成一个文件夹保管es的所有内容
在这里插入图片描述

3 添加当前主机的普通账户

#groupadd es
#useradd es -g es -p es
在这里插入图片描述
解释:root为最高权限的管理员用户,es在启动时不允许使用root用户,所以我们创建一个普通账户es,登录密码es来管理elasticsearch的启动和调用,从此处开始#的命令表示root用户执行,$的命令提示表示普通用户

4 root用户个es用户添加操作访问elasticsearch的权限

#chown -R es:es elasticsearch-5.5.2
在这里插入图片描述
用户的切换命令为:

#su[空格]es 从root切换到普通用户es
在这里插入图片描述

$su[空格]root 从普通用户切换到root需要输入密码
注意:这里的密码是忙敲,没有字符提示
在这里插入图片描述

5 修改es启动占用的内存空间(云主机一般不需要)

解释:默认情况下,es启动互检测内存2G,对云主机内存不足的情况有所限制,虚拟机更需要修改,需要修改占用的内存空间,512M已经足够了
修改es根目录下config目录的jvm.options
#vim jvm.options

在这里插入图片描述
在这里插入图片描述

6尝试启动es测试

在es的根目录的bin目录下执行启动文件命令elasticsearch
$elasticsearch
在这里插入图片描述

出现如下内容,es启动成功
在这里插入图片描述

es启动后,提供一个9200的端口进行http协议访问,这里可以调用linux的curl命令测试es程序,但是没有开启对外访问的设置,只能使用localhost访问
#curl localhost:9200
在这里插入图片描述

启动异常:原因是linux版本导致,不影响使用后续解决
unable to install syscall filter:
java.lang.UnsupportedOperationException: seccomp unavailable: CONFIG_SECCOMP not compiled into kernel, CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed
在这里插入图片描述

在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:
42行:bootstrap.memory_lock: false
添加:bootstrap.system_call_filter: false
#vim elasticsearch.yml

在这里插入图片描述
7后台启动和关闭es
关闭
在前面使用的启动过程中,es的启动程序占用了控制台,如果需要关闭直接ctrl+c停止控制台使用即可,默认的启动方式并不方便,占用的控制台一旦关闭会造成es程序停止,所以需要后台启动

后台启动
动态观察日志
#tail -f ***.log
在普通用户执行启动命令时添加-d的选项表示后台运行
$elasticsearch -d
在这里插入图片描述
使用crul测试依然成功表示程序正常运行
#curl localhost:9200

在这里插入图片描述
关闭后台启动的进程
调用java的jps命令查看启动的jvm进程
#jps
在这里插入图片描述
或者直接调用linux查看进程命令
#ps -ef|grep elasticsearch
无论是哪个命令都是为了找到es启动的id号
在这里插入图片描述
确定pid后直接调用kill命令杀掉进程即可关闭es
#kill 17381
在这里插入图片描述

安装启动es到此结束

接下来开始配置ES

配置文件elasticsearch.yml详解
在es根目录下的config目录中有elasticsearch.yml配置文件,es加载使用的yml格式配置

17行:cluster.name: 自定义集群名称(强烈推荐默认名称elasticsearch)
解释:es的运行都是以集群形式启动的,默认情况也会有集群名称elasticsearch
es的discovery模块会自动发现在同一个网络通信区间内下的es节点,如果在同一个网段下有多个集群,可以利用集群名称来区分
在这里插入图片描述

23行:node.name: 自定义节点名称
当前启动的es进程表示一个节点,配置当前节点名称,默认随机名称
在这里插入图片描述

33行:path.data: 索引数据存储位置(保持默认,不要开启注释)
解释:默认是es根目录下的data文件夹,可以设置多个存储路径,用“,”隔开即可,例如:path.data:/path01,/path02
如果开启,必须是ES用户的管理路径内

37行:path.logs: 日志路径(保持默认,不要开启注释)

#ip(用ip未启动成功,换成127.0.0.1如果没问题<说明服务已OK>,在换成如下地址,外网可访问)
55行左右:network.host: 当前es节点绑定的ip地址
解释:默认127.0.0.1,如果需要开放对外访问这个属性必须设置,可以绑定本机对外访问ip
设置成本机的IP地址即可
在这里插入图片描述

59行:http.port: 启动的es对外访问的http端口,默认9200
开放并且设置自定义端口
在这里插入图片描述

按照如上内容vim便捷elasticsearch.yml文件保存退出

启动es的环境问题
由于linux版本不一致,环境配置不一致,可能在启动时出现如下问题
在这里插入图片描述

[1]: max number of threads [1024] for user [es] is too low, increase to at least [2048]
原因:默认的最大可创建线程数是1024,不满足es程序的要求,设置为2048即可
#vim[空格]/etc/security/limits.d/90-nproc.conf
在这里插入图片描述

[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
原因:最大虚拟内存太小
#vim[空格]/etc/sysctl.conf
文件中添加如下内容
vm.max_map_count=655360
在这里插入图片描述
保存退出执行命令
#sysctl[空格]-p

ES配置结束

开始安装ElasticsearchHead

ElasticsearchHead是一个HTML5编写的集群操作和管理工具,可以对集群进行傻瓜式操作,Head插件中可以显示集群的拓扑结构,执行索引和节点级别等操作,同时也可以输入RESTful命令和Elasticsearch交互,总结就是一个可视化的可以发起restful请求的支持http协议的es工具,实现简化的es操作

安装步骤

1 配置node环境

需要运行node.js环境,首先安装node.js
在这里插入图片描述
上传解压node包
#tar[空格]-xf[空格]node****.**.tar.gz
在这里插入图片描述
进入根目录下的bin目录,执行npm命令
#npm[空格]install[空格]-g[空格]grunt-cli
在这里插入图片描述
验证安装版本是否成功
#node[空格]-v
#npm[空格]-v
#grunt[空格]-version
在这里插入图片描述

2 安装head插件

在这里插入图片描述
注意:这是一个zip包,所以不能用tar解压,需要zip解压,测试当前系统是否安装zip命令包
#unzip
在这里插入图片描述
返回当前命令无法找到,需要安装zip和unzip
#yum[空格]-y[空格]install[空格]unzip[空格]zip
在这里插入图片描述
上传head包解压
#unzip[空格]elasticsearch-head-master.zip
在这里插入图片描述

3 修改es文件elasticsearch.yml,添加如下内容

http.cors.enabled:[空格]true
http.cors.allow-origin:[空格]"*"
#vim[]elasticsearch.yml
在这里插入图片描述
在最后添加如上内容即可
在这里插入图片描述
编辑如上两个内容的意思是:开启http对外服务,让head插件能够访问es集群,修改完成后重启es

4 修改head插件配置文件(云主机,虚拟机只需要这一步操作)

head插件需要对接es节点(如果是集群es需要对接master节点)
所以找到根目录下的Gruntfile.js文件,找到connect属性,修改hostname为当前es节点的ip地址
在这里插入图片描述
在这里插入图片描述

如果启动head插件之后无法从页面链接到es,说明es没有开启http插件访问支持;在elasticsearch.yml,按照第三步添加

5配置node的环境变量,使命令可以在任何位置执行

#vim[空格]/etc/profile
添加如下内容
在这里插入图片描述
使配置生效
#source[]/etc/profile

6启动head插件访问

进入head根目录执行命令
#grunt[空格]server
在这里插入图片描述
在这里插入图片描述

启动就成功了,可以在浏览器访问当前es集群
在这里插入图片描述
总结head安装过程中grunt容易出现的问题:
1 没有本地支持
在这里插入图片描述

提示unable to file local grunt,原因是因为当前工程(head工程中没有grunt的本地文件)
在head插件根目录执行
#npm[空格]instal[空格]-g[空格]grunt (需要下载,2分钟左右)
解释:全局安装grunt
#npm[空格]install[空格]grunt
解释:将grunt安装到当前目录

2 缺少grunt支持部件
在head根目录执行grunt server
在这里插入图片描述
挨个执行
#npm[空格]install[空格]缺少的插件名称
例如
#npm[空格]install[空格]grunt-contrib-connect

其中最后两个module不影响启动和使用可以不装,jasmine耗时较长

ElasticsearchHead安装完成

开始配置ElasticsearchHead

1 修改es文件elasticsearch.yml

添加如下内容
http.cors.enabled:[空格]true
http.cors.allow-origin:[空格]"*"
#vim[空格]elasticsearch.yml
在这里插入图片描述
在最后添加如上内容即可
在这里插入图片描述
编辑如上两个内容的意思是:开启http对外服务,让head插件能够访问es集群,修改完成后重启es,杀掉进程,重新启动即可

2 修改head插件配置文件

head插件需要对接es节点(如果是集群es需要对接master节点)
所以找到根目录下的Gruntfile.js文件,找到connect属性,修改hostname为当前es节点的ip地址

在这里插入图片描述
在这里插入图片描述

如果启动head插件之后无法从页面链接到es,说明es没有开启http插件访问支持;在elasticsearch.yml,按照第三步添加

启动head插件
#grunt server
在根目录直接运行命令

猜你喜欢

转载自blog.csdn.net/yu342107056/article/details/87938400