ElasticSearch在linux上安装部署(转)
一.安装准备工作
安装参考文档:
ELK官网:https://www.elastic.co/
ELK官网文档:https://www.elastic.co/guide/index.html
ELK中文手册:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html
ELK中文社区:https://elasticsearch.cn/
ELK-API :https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/transport-client.html
(1)、规划安装目录
/usr/local
(2)、下载安装包
访问elasticSearch官网地址 https://www.elastic.co/
下载指定版本的安装包:elasticsearch-6.6.0.tar.gz
(3)、上传安装包到指定目录
通过FTP工具上传安装包到指定目录, 或者在服务器目录下直接下载: wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.0.tar.gz
(4)、解压安装包
tar -zxvf elasticsearch-6.6.0.tar.gz -C /export/servers
(5)、重命名安装目录
mv elasticsearch-6.6.0 elasticsearch
(6)、修改配置文件
进入到es安装目录下的config文件夹中,修改elasticsearch.yml 文件
修改的主要内容:
#配置es的集群名称,默认是elasticsearch,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
cluster.name: my-es
#节点名称
node.name: node-1
#设置索引数据的存储路径
path.data: /usr/local/elasticsearch/data
#设置日志的存储路径
path.logs: /usr/local/elasticsearch/logs
#设置当前的ip地址,通过指定相同网段的其他节点会加入该集群中
network.host: 0.0.0.0
#设置对外服务的http端口
http.port: 9200
#设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
discovery.zen.ping.unicast.hosts: ["127.0.0.1","10.10.10.34:9200"]
注:
1、补齐必要的目录
mkdir -p /usr/local/elasticsearch/data
mkdir -p /usr/local/elasticsearch/logs (目录可能已经存在,需先确定清楚)
2、network.host: 0.0.0.0
修改Elasticsearch的配置,使其支持外网访问。在浏览器中,访问http://xxxx:9200/(xxxx是运行elasticsearch的服务器的ip地址)即可。否则这可以在本机使用。
二.解决启动时报错
因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户。
具体操作如下:
useradd testuser
passwd testuser
再输入两次密码(自定义)
为用户赋权限
chown -R testuser:testuser /usr/local/elasticsearch
然后使用es用户启动 :su testuser
cd /usr/local/elasticsearch
启动es命令:bin/elasticsearch
(2)、在testuser用户下启动时报错

为用户赋权限
chown -R testuser:testuser /usr/local/elasticsearch
然后使用es用户启动 :su testuser
cd /usr/local/elasticsearch
启动es命令:bin/elasticsearch
(3)、在testuser用户下启动时报错

原因:Centos6不支持SecComp,而ES默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。
详见 :https://github.com/elastic/elasticsearch/issues/22899
解决方案:
在elasticsearch.yml中新增配置bootstrap.system_call_filter,设为false。
bootstrap.system_call_filter: false

(4)、在testuser用户下启动继续报错

a、原因:无法创建本地文件问题,用户最大可创建文件数太小,解决方案:切换到root用户,编辑limits.conf配置文件, 添加类似如下内容:
vi /etc/security/limits.conf
然后添加如下内容: 注意*不要去掉了
* soft nofile 65536
* hard nofile 131072
注:* 代表Linux所有用户名称(比如 hadoop)
需要保存、退出、重新登录才可生效。
b、原因:最大虚拟内存太小,解决办法切换到root用户修改配置sysctl.conf:
vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
最后记得执行:
sysctl -p
然后,重新启动elasticsearch,即可启动成功。
三.测试
切换到testuser用户执行:

看到这个界面证明已经成功了,可以用浏览器访问ip:9200查看,会下载一个json文件打开如下:

至此Elasticsearch就安装完成了,当然这只是一台机器,如果有需要还可以搭成集群.
三.ES插件安装
1、安装head
elasticsearch-head是一个界面化的集群操作和管理工具,可以对集群进行傻瓜式操作。你可以通过插件把它集成到es(首选方式),也可以安装成一个独立webapp。
es-head主要有三个方面的操作:
a、显示集群的拓扑,并且能够执行索引和节点级别操作
b、搜索接口能够查询集群中原始json或表格格式的检索数据
c、能够快速访问并显示集群的状态
有一个输入窗口,允许任意调用RESTful API。这个接口包含几个选项,可以组合在一起以产生有趣的结果;
请求方法(get、put、post、delete),查询json数据,节点和路径
支持JSON验证器
支持重复请求计时器
支持使用javascript表达式变换结果
收集结果的能力随着时间的推移(使用定时器),或比较的结果,能力图表转换后的结果在一个简单的条形图(包括时间序列)
1), 直接安装
./bin/plugin install mobz/elasticsearch-head
2) ,zip包安装
1. https://github.com/mobz/elasticsearch-head下载zip 解压
2. 建立elasticsearch-2.4.0\plugins\head文件
3. 将解压后的elasticsearch-head-master文件夹下的文件copy到head
4. 运行es
安装验证:

2, 安装其他插件

$ ${ES_HOME}/bin/plugin --install lukas-vlcek/bigdesk
# 安装完成访问:http://localhost:9200/_plugin/bigdesk/#nodes
$ ${ES_HOME}/bin/plugin -install royrusso/elasticsearch-HQ
# 安装完成访问:http://localhost:9200/_plugin/HQ/
$ ${ES_HOME}/bin/plugin -install lmenezes/elasticsearch-kopf
# 安装完成访问:http://localhost:9200/_plugin/kopf/#!/cluster

ElasticSearch在linux上安装部署(转)的更多相关文章
- Kibana在Linux上安装部署及使用说明
Kibana安装及使用说明 Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索.查看交互存储在Elasticsearch索引中的数据. 官方地址:https://www. ...
- 怎么在linux上安装部署jenkins
怎么在linux上安装部署jenkins 作为一个非科班出身自学的小白,踩过很多的坑,特此留下记录 以下在虚拟机上示例 系统:linux(centos7) 操作方式:xshell连接终端操作 教程之前 ...
- Logstash在Linux上安装部署
Logstash 简介: Logstash 是一个实时数据收集引擎,可收集各类型数据并对其进行分析,过滤和归纳.按照自己条件分析过滤出符合数据导入到可视化界面.它可以实现多样化的数据源数据全量或增量传 ...
- Kafka在Linux上安装部署及样例测试
Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了 ...
- 【mail邮件系统】linux上安装部署sendmail邮件系统
sendmail是linux系统中一个邮箱系统,在系统中配置好sendmail就可以直接使用它来发送邮箱.sendmail的配置文件 /etc/mail/sendmail.cf :Sendmail的主 ...
- linux 上安装部署python
一般在linux中使用python 需要安装pyenv 进行版本控制 因为linux6.9自带的Python是2.6的 同时很多命令都是基于2.6开发的 所以系统环境不能改 我们要开发 只能用pyen ...
- 在Linux上安装Elasticsearch Kibaba.md
在Linux上安装Elasticsearch Kibaba Kibana是一个开源为elasticsearch 引擎提供数据和数据分析 1.下载安装 切换到root账户,按顺序依次执行以下命令 rpm ...
- 在Linux上安装Elasticsearch Head工具.md
在Linux上安装Elasticsearch Head工具 1.修改elasticsearch的参数 编辑elasticsearch的配置文件elasticsearch.yml $ vim /data ...
- Linux上安装ElasticSearch及遇到的问题
在Linux上安装ElasticSearch 1. 安装前环境准备 安装JDK环境,并配置环境变量,这里可以参考我以前写过的博客 https://www.cnblogs.com/ywb-article ...
随机推荐
- QT编译错误:cannot find file: *.pro
编译一个之前同事写的QT程序,结果出现了编译错误:cannot find file: *.pro 解决方法:将程序放在英文路径下 尽管出现一些红色的编译信息部门,但是最终还算是编译成功了~
- linux环境中,ssh登录报错,Permission denied, please try again.
问题描述: 今天早上一个同事反应一个问题,通过ssh登录一台测试机的时候,发现两个账号,都是普通账号,一个账号能够登录, 另外一个账号无法登录.问他之前有做过什么变更吗,提到的就是之前有升级过open ...
- ajax+json+Struts2实现list传递(转载)
一.首先需要下载JSON依赖的jar包.它主要是依赖如下: json-lib-2.2.2-jdk15 ezmorph-1.0.4 commons-logging-1.0.4 c ...
- [OpenCV] Samples 03: kmeans
注意Mat作为kmeans的参数的含义. 扩展:高维向量的聚类. 一.像素聚类 #include "opencv2/highgui.hpp" #include "open ...
- SpringMVC------报错:java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter
详细信息: java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter 严重: E ...
- MySQL------报错Access denied for user 'root'@'localhost' (using password:NO)解决方法
报错:Access denied for user 'root'@'localhost' (using password:NO) 原因:没有给用户“root'@'localhost”赋予数据库权限 解 ...
- Linux下安装中文宋体
1,#cd /usr/share/fonts/default 2,mkdir -p ./truetype/simsun 3,取得simsun.ttc文件:如果网上下载不到则在windows (c:/w ...
- python commands模块在python3.x被subprocess取代
subprocess 可以执行shell命令的相关模块和函数有: os.systemos.spawnos.popen --废弃popen2.* --废弃commands.* --废弃,3.x中被移除 ...
- ubuntu 手动安装mysql
申请了一台云主机,需要手动安装所有环境,今天将mysql安装过程记下. 安装mysqla. 下载不了gcc, 需要先运行apt-get updateb. cmake报错,每次要先删除cmakeCach ...
- jQuery ajax中serialize()方法增加其他参数
表单提交 使用jQuery.ajax()进行表单提交时,需要传递参数,最直接的方法便是使用Form的serializa()将表单序列化,前提只是将Form表单中的name属性与数据库的字段名保持一致便 ...