下载Elasticsearch
Elasticsearch 属于 elastic 公司,进入该公司的官网 www.elastic.co。在这里可以清楚啊的看到Elastic Stack产品的各个组件和功能
点击Download按钮进入下载界面,这里我选择下载使用的版本为:Elasticsearch 5.6.3的tar包。
也可以使用命令在服务器上直接下载:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.3.tar.gz --no-check-certificate
安装
解压
下载好tar包之后直接解压:
tar zxf elasticsearch-5.6.3.tar.gz
将解压后的目录放到 /usr/local 中:
mv elasticsearch-5.6.3 /usr/local/
添加用户
由于保护机制,不允许root用户执行命令,所以添加一个新的用户:
useradd elastic -p elastic
将解压后的目录属主和组修改为这个新建的普通用户:
chown -R elastic:elastic /usr/local/elasticsearch-5.6.3
切换到这个普通用户:
su - elastic
启动elasticsearch
进入 解压后的目录,然后执行命令运行 elasticsearch:
cd elasticsearch-5.6.3
bin/elasticsearch
这一步会看到很多的日志输出
当看到这有一个started的时候表示已经启动了。
验证
新开一个终端,elasticsearch默认启用9200端口,使用curl命令访问测试:
curl 127.0.0.1:9200
这样就表示启动成功了。
elasticsearch的配置
配置文件
elasticsearch的相关配置文件位于config目录中,其中:
- elasticsearch.yml:主配置文件
- jvm.options:jvm相关参数
- log4j2.properties:日志配置相关参数
jvm.options
这个文件保存的是jvm相关的配置,比较常用的参数如下:
-Xms2g和-Xmx2g
:jvm默认的需要内存2G,如果服务器内存不足2G将导致启动失败,可以修改这里为合适的内存大小。
log4j2.properties
这个是使用了log4j2框架,配置了哪些日志需要输出及输出的级别。
这个配置文件一般很少修改。
elasticsearch.yml
这个文件是elasticsearch的主配置文件,常用的参数如下:
cluster.name
:集群名称,以此作为标准判断是否为同一集群。一个集群的实例要配置一样。
node.name
:实例节点名称,以此作为集群中不同节点的区分条件。不指定将随机分配。
network.host
:对外发布网络地址,默认127.0.0.1
http.port
:对外提供RESTful api的端口
path.data
:数据存储地址
path.logs
:日志存储地址
配置实例
编辑 elasticsearch.yml文件,作出以下修改:
1、配置集群名称为:cluster.name: es-test
2、配置节点名称为:node.name: es-test-node01
3、配置发布的ip为:network.host: 10.10.99.229
,这个是本机的ip
4、配置端口为:http.port: 9200
测试
在配置之前,不能通过浏览器访问本机ip的9200端口,因为没有配置发布ip,配置好后重启elasticsearch,然后现在通过浏览器就可以访问了:
elasticsearch的两种模式
elasticsearch 拥有两种模式:Development(开发模式)和Production(生产环境模式)。
elasticsearch 5.x 的版本在启动之前会进行一系列检查,比如当前系统版本对于特性的支持、磁盘是否充足、内存是否够用等。
当处于Development模式下,当检测出现不合适的时候会以warning的方式进行提示,而处于Production模式下则会以error方式进行提示。
区分Development和Production的方式是判断network.host是否绑定localhost,默认情况下是绑定的localhost,即为Development模式,当修改这个参数为其他的ip地址,如上边的10.10.99.229,这时系统会认为已经处于Production模式。
问题记录
elasticsearch启动报错
现象:启动报错,显示:Failed to load settings from /usr/local/elasticsearch-5.6.3/config/elasticsearch.yml
原因:不能使用root用户进行启动,即使是和root权限一样的普通用户都不行。
解决:创建一个普通用户并修改elasticsearch-5.6.3及以下文件的属主和组为新建的普通用户。