Elasticsearch 教程(1)安装【CentOS版】

前置条件

我们首先要配置java环境,这个需要Java8或者更新的包。一般执行以下命令时可以看看Java版本是否符合:

yum install java

安装Elasticsearch

首先编辑/etc/yum.repos.d/elasticsearch.repo文件:

将以下内容放入到上面打开的文件中:

[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

:wq保存,然后执行以下安装命令:

yum install elasticsearch

这样安装就完成了。

Elasticsearch命令管理

我们可以使用两种命令方式进行Elasticsearch进行管理

SysV init

设置开机启动:

chkconfig --add elasticsearch
chkconfig elasticsearch on

启动:

service elasticsearch start

关闭:

service elasticsearch stop

systemd

设置开机启动:

systemctl daemon-reload
systemctl enable elasticsearch

启动:

systemctl start elasticsearch

关闭:

systemctl stop elasticsearch

记录的日志

日志消息记录位置是:/var/log/elasticsearch/

检测是否安装成功:

首先我们要执行命令将其启动(如果已经启动了,那就不用执行下面的启动命令了):

service elasticsearch start

然后执行以下命令:

curl -XGET '127.0.0.1:9200/?pretty'

如果返回的数据如下所示,即表示安装成功了:

{
  "name" : "shcGs0R",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "k71Pk416RB6HTvdh9xuBFA",
  "version" : {
    "number" : "5.1.1",
    "build_hash" : "5395e21",
    "build_date" : "2016-12-06T12:36:15.409Z",
    "build_snapshot" : false,
    "lucene_version" : "6.3.0"
  },
  "tagline" : "You Know, for Search"
}

注意:Elasticsearch需要启动一会。如果启动完成立马执行上面的命令,可以会提示拒绝连接,多试几次就好了。

配置 Elasticsearch

Elasticsearch 默认情况下从 /etc/elasticsearch/elasticsearch.yml 文件中加载它的配置。

RPM也又一个系统配置文件(/etc/sysconfig/elasticsearch),它允许你设置以下参数:

参数

解释

ES_USER

运行的用户,默认是elasticsearch

ES_GROUP

运行的组,默认是elasticsearch

JAVA_HOME

设置要使用的自定义Java路径

MAX_OPEN_FILES

打开文件的最大数量,默认65536

MAX_LOCKED_MEMORY

最大锁内存大小。如果你在elasticsearch.yml中使用bootstrap.memory_lock选项,请设置unlimited

MAX_MAP_COUNT

进程可能拥有的内存映射区域的最大值。如果使用 mmapfs 作为索引存储类型,请确认将其设置为较高的值。请检查linux内核文档关于max_map_count的更多信息。这是在elasticsearch启动之前通过sysctl设置的。默认是262144

LOG_DIR

日志目录,默认为:/var/log/elasticsearch

DATA_DIR

数据目录,默认为:/var/lib/elasticsearch

CONF_DIR

配置文件目录(需要包含elasticsearch.yml和log4j2.properties文件),默认路径是:/etc/elasticsearch

ES_JAVA_OPTS

Any additional JVM system properties you may want to apply.

RESTART_ON_UPGRADE

配置软件包升级时将会重新启动,默认是false。这意味着你在安装软件包之后手动重启elasticsearch实例。这样做的原因是为了保障, 在集群中更新时,在高流量网络和减少你集群的响应时间的情况下导致分片的重新分配。

RPM的目录布局

类型

描述

默认路径

设置

home

Elasticsearch家目录或者$ES_HOME

/usr/share/elasticsearch

bin

二进制脚本,包括elasticsearch去启动一个节点和elasticsearch-plugin安装插件

/usr/share/elasticsearch/bin

conf

配置文件,包含elasticsearch.yml

/etc/elasticsearch

path.conf

conf

环境变量,包含 heap 大小,文件描述符。

/etc/sysconfig/elasticsearch

data

在节点上分配的每个索引/分片的数据文件的位置。可以容纳多个位置。

/var/lib/elasticsearch

path.data

logs

日志文件位置。

/var/log/elasticsearch

path.logs

plugins

插件文件位置. 每个插件将包含在一个子目录中.

/usr/share/elasticsearch/plugins

repo

共享文件系统存储库位置。可以容纳多个位置。文件系统存储库可以放置在指定目录中任何子目录中。

Not configured

path.repo

script

脚本文件的位置。

/etc/elasticsearch/scripts

path.scripts

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Spark学习技巧

Java如何优雅获取泛型类型

在 Java 开发中,获取泛型这种操作虽不是很常用,但有时确实必须的,比如 将Json 字符串反序列化成对象的时候。今天就来介绍这个操作。

21710
来自专栏晓月寒·

spring boot整合quartz实现通过页面操作管理定时任务

说起quartz,大家肯定就会想起那些繁杂的配置,复杂的代码。但是如果项目中要用到定时任务的话,除了quartz似乎也想不出来别的框架了,毕竟人家做的确实优秀。

21620
来自专栏微信公众号:Java团长

Springboot + Vue + shiro 实现前后端分离、权限控制

前端从后端剥离,形成一个前端工程,前端只利用Json来和后端进行交互,后端不返回页面,只返回Json数据。前后端之间完全通过public API约定。

1.2K50
来自专栏java一日一条

JVM最多支持多少个线程?

(不要抱怨语法细节,这才刚刚开始)那你当然希望能得到成百上千个运行的线程。但是,创建一个线程的成本是相对较大的,(过多线程)调度的开销会变得突出。能否让这些线程...

16320
来自专栏码匠的流水账

聊聊Elasticsearch RestClient的RequestLogger

本文主要研究一下Elasticsearch RestClient的RequestLogger

12820
来自专栏码匠的流水账

聊聊Elasticsearch的CircuitBreakerService

本文主要研究一下Elasticsearch的CircuitBreakerService

18620
来自专栏java思维导图

jvm分析工具和查看命令

与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。

11210
来自专栏java思维导图

常用Maven插件介绍(收藏大全)

我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-p...

18510
来自专栏码匠的流水账

聊聊Elasticsearch的NodesSniffer

elasticsearch-7.0.1/client/sniffer/src/main/java/org/elasticsearch/client/sniff/...

13210
来自专栏好好学java的技术栈

你真的了解 Java 8 中的 lambda 表达式、方法引用、函数式接口、默认方式、静态方法吗

lambda 表达式在项目中也是用到了,这种新的语法的加入,对于使用 Java 多年的我,我觉得是如虎添翼的感觉哈,这种新的语法,大大的改善了以前的 Java ...

17620

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励