admin管理员组文章数量:1558078
文章目录
- 1.简介
- 1.1ES与Solr的区别
- 1.2Rest简介
- 1.3ES内置的REST接口
- 1.4ES与关系型数据库对比
- 2.安装JDK
- Java (JVM) Version
- 3.安装Elasticsearch
- 3.1下载解压
- 3.2配置elastic
- 4.启动elastic
- 4.1关闭防火墙
- 4.1.1CentOS6关闭防火墙
- 4.1.2CentOS7关闭防火墙
- 4.2配置环境变量
- 4.3后台启动
CentOS6系统服务器安装elasticsearch6.6.2版本
1.简介
Elasticsearch是一种基于Lucene,针对海量数据提供快速复杂查询的索引工具。大约在2012年出现,它天生支持分布式存储与查询,基于restful接口。
1.1ES与Solr的区别
ES | Solr | |
---|---|---|
接口 | 提供rest风格 | 提供类似webservice |
分布式 | 天生支持分布式 | 4.X以后支持分布式 |
数据格式 | json | xml和json |
1.2Rest简介
全称:Representational State Transfer
一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
Rest操作分为以下五种
对象 | 描述 |
---|---|
GET | 获取当前对象状态 |
PUT | 改变对象状态 |
POST | 创建对象 |
DELETE | 删除对象 |
HEAD | 获取头信息 |
1.3ES内置的REST接口
URL | 说明 |
---|---|
/index/_search | 搜索指定索引下的数据 |
/_aliases | 获取或操作索引的别名 |
/index/ | 查询指定索引的详细信息 |
/index/type | 创建或操作类型 |
/index/_mapping | 创建或操作mapping |
/index/_settings | 创建或操作设置(number_of_shards是不可更改的) |
/index/_open | 打开指定被关闭的索引 |
/index/_close | 关闭指定索引 |
/index/_refresh | 刷新索引(使新加内容对搜索可见,不保证数据被写入磁盘) |
/index/_flush | 刷新索引(会触发lucene提交) |
1.4ES与关系型数据库对比
ES | 数据库 |
---|---|
index(索引库) | database(数据库) |
type(类型) | table(表) |
document(文档) | row(行) |
field(字段) | column(列) |
2.安装JDK
参见Set Up Elasticsearch,安装Elasticsearch6.6.2版本至少需要jdk1.8版本
Java (JVM) Version
Elasticsearch is built using Java, and requires at least Java 8 in order to run. Only Oracle’s Java and the OpenJDK are supported. The same JVM version should be used on all Elasticsearch nodes and clients.
We recommend installing Java version 1.8.0_131 or a later version in the Java 8 release series. We recommend using a supported LTS version of Java. Elasticsearch will refuse to start if a known-bad version of Java is used.
The version of Java that Elasticsearch will use can be configured by setting the
JAVA_HOME
environment variable.
参见Linux下安装JDK
3.安装Elasticsearch
3.1下载解压
进入Elastic Past Releases,产品选择Elasticsearch,选择对应的版本,此处选择6.6.2
下载后上传到Linux服务器上
或者直接在Linux服务器上下载
[solang@solang ~]$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.2.tar.gz
解压到用户主目录app文件夹下
[solang@solang ~]$ tar -zxvf elasticsearch-6.6.2.tar.gz -C ~/app
3.2配置elastic
[solang@solang ~]$ cd app/elasticsearch-6.6.2/conf/
[solang@solang ~]$ vi elasticsearch.yml
network.host: 192.168.86.206
#
# Set a custom port for HTTP:
#
http.port: 9200
将network.host和http.port前面的注释去掉,host改成服务器IP,这样可以让其它客户端机器连接
4.启动elastic
注:elasticsearch不能以root用户启动。
[solang@solang ~]$ cd app/elasticsearch-6.6.2/bin/
[solang@solang bin]$ sh elasticsearch
[2019-06-15T14:17:24,732][INFO ][o.e.b.BootstrapChecks ] [mXYTvku] bound or publishing to a non-loopback address, enforcing bootstrap checks
ERROR: [4] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max number of threads [1024] for user [solang] is too low, increase to at least [4096]
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[4]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
启动时出现4个错误,一个个解决
①[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
修改/etc/security/limits.conf文件,添加或修改如下行:
[root@solang ~]# vi /etc/security/limits.conf
* hard nofile 65536
* soft nofile 65536
②[2]: max number of threads [1024] for user [solang] is too low, increase to at least [4096]
先看Linux操作系统内核版本,通过uname -a查看内核版本,因为2.6版本的内核默认在/etc/security/limits.d/90-nproc.conf,其里面的配置会覆盖/etc/security/limits.conf的配置。
或者直接修改/etc/security/limits.d/90-nproc.conf文件将1024修改为4096。
注:以下修改重启服务器才能生效。
[root@solang ~]# uname -a
Linux solang 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
## 注释掉 * soft nproc 1024
[root@solang bin]# vi /etc/security/limits.d/90-nproc.conf
#* soft nproc 1024
## 修改limits.conf,新增配置
[root@solang bin]# vi /etc/security/limits.conf
* soft nproc 4096
不重启服务器修改,直接在当前操作用户下
[solang@solang bin]$ ulimit -u
1024
[solang@solang bin]$ ulimit -u 4096
[solang@solang bin]$ ulimit -u
4096
③[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
临时设置:sudo sysctl -w vm.max_map_count=262144
永久设置:
修改/etc/sysctl.conf 文件,添加"vm.max_map_count = 262144"设置,执行sysctl -p /etc/sysctl.conf
使配置立即生效。
[root@solang ~]# vi /etc/sysctl.conf
vm.max_map_count = 262144
[root@solang ~]# sysctl -p /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
vm.max_map_count = 262144
④[4]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
这是因为Centos6不支持SecComp,而ES默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。
在elasticsearch.yml中配置bootstrap.system_call_filter为false
[solang@solang bin]$ vi ../config/elasticsearch.yml
bootstrap.system_call_filter: false
再次启动elasticsearch,启动无错误
[solang@solang bin]$ sh elasticsearch
[2019-06-15T14:51:50,936][INFO ][o.e.x.m.p.l.CppLogMessageHandler] [mXYTvku] [controller/6344] [Main@109] controller (64 bit): Version 6.6.2 (Build 62531230b275d3) Copyright (c) 2019 Elasticsearch BV
[2019-06-15T14:51:52,048][DEBUG][o.e.a.ActionModule ] [mXYTvku] Using REST wrapper from plugin org.elasticsearch.xpack.security.Security
[2019-06-15T14:51:52,637][INFO ][o.e.d.DiscoveryModule ] [mXYTvku] using discovery type [zen] and host providers [settings]
[2019-06-15T14:51:54,532][INFO ][o.e.n.Node ] [mXYTvku] initialized
[2019-06-15T14:51:54,532][INFO ][o.e.n.Node ] [mXYTvku] starting ...
[2019-06-15T14:51:54,983][INFO ][o.e.t.TransportService ] [mXYTvku] publish_address {192.168.86.206:9300}, bound_addresses {192.168.86.206:9300}
[2019-06-15T14:51:55,039][INFO ][o.e.b.BootstrapChecks ] [mXYTvku] bound or publishing to a non-loopback address, enforcing bootstrap checks
[2019-06-15T14:51:58,224][INFO ][o.e.c.s.MasterService ] [mXYTvku] zen-disco-elected-as-master ([0] nodes joined), reason: new_master {mXYTvku}{mXYTvkurQXCkTfnqLTkbww}{drrnpojgR4elnPdSA3Bu5g}{192.168.86.206}{192.168.86.206:9300}{ml.machine_memory=1028517888, xpack.installed=true, ml.max_open_jobs=20, ml.enabled=true}
[2019-06-15T14:51:58,243][INFO ][o.e.c.s.ClusterApplierService] [mXYTvku] new_master {mXYTvku}{mXYTvkurQXCkTfnqLTkbww}{drrnpojgR4elnPdSA3Bu5g}{192.168.86.206}{192.168.86.206:9300}{ml.machine_memory=1028517888, xpack.installed=true, ml.max_open_jobs=20, ml.enabled=true}, reason: apply cluster state (from master [master {mXYTvku}{mXYTvkurQXCkTfnqLTkbww}{drrnpojgR4elnPdSA3Bu5g}{192.168.86.206}{192.168.86.206:9300}{ml.machine_memory=1028517888, xpack.installed=true, ml.max_open_jobs=20, ml.enabled=true} committed version [1] source [zen-disco-elected-as-master ([0] nodes joined)]])
[2019-06-15T14:51:58,356][INFO ][o.e.h.n.Netty4HttpServerTransport] [mXYTvku] publish_address {192.168.86.206:9200}, bound_addresses {192.168.86.206:9200}
[2019-06-15T14:51:58,357][INFO ][o.e.n.Node ] [mXYTvku] started
[2019-06-15T14:51:58,840][WARN ][o.e.x.s.a.s.m.NativeRoleMappingStore] [mXYTvku] Failed to clear cache for realms [[]]
[2019-06-15T14:51:58,934][INFO ][o.e.l.LicenseService ] [mXYTvku] license [6f1ac498-7333-46ef-8c75-099e908a7470] mode [basic] - valid
[2019-06-15T14:51:58,956][INFO ][o.e.g.GatewayService ] [mXYTvku] recovered [0] indices into cluster_state
浏览器访问http://192.168.86.206:9200/
4.1关闭防火墙
如果在本机浏览器上打不开链接,需要关闭服务器防火墙。
4.1.1CentOS6关闭防火墙
查看防火墙状态
service iptables status
关闭防火墙
service iptables stop
关闭防火墙开机启动
chkconfig iptables off
4.1.2CentOS7关闭防火墙
CentOS7默认使用的是firewall作为防火墙。
查看防火墙状态
firewall-cmd --state
停止firewall
systemctl stop firewalld.service
禁止firewall开机启动
systemctl disable firewalld.service
4.2配置环境变量
[solang@solang ~]$ vi .bash_profile
ES_HOME=/home/solang/app/elasticsearch-6.6.2
PATH=.:$PATH:$ES_HOME/bin
export ES_HOME
export PATH
[solang@solang ~]$ source .bash_profile
4.3后台启动
[solang@solang bin]$ sh elasticsearch -d
[solang@solang bin]$ jps
6289 Elasticsearch
6679 Jps
[solang@solang bin]$ ps -ef|grep elasticsearch
本文参考:
linux下nproc的作用
https://www.jianshu/p/89f8099a6d09
Elasticsearch笔记一之简介与安装
Set Up Elasticsearch
Elastic Past Releases
CentOS7查看和关闭防火墙
版权声明:本文标题:Linux安装elasticsearch6.6.2版本 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1727366278a1111062.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论