内容简介:Elasticsearch 是目前最流行的搜索引擎,学习 ES 的第一步便是安装部署。本文内容包含以下三部分:一、安装 Elasticsearch 7.x
Elasticsearch 是目前最流行的搜索引擎,学习 ES 的第一步便是安装部署。本文内容包含以下三部分:
-
安装 Elasticsearch 7.x(单节点)
-
安装 Elasticsearch-head
-
附 Elasticsearch-6.x 线上配置
一、安装 Elasticsearch 7.x
为了让大家能够 快 速 使用、进一步熟悉 Elasticsearch,本次我们选择安装 7.1.1 版本的 Elasticsearch,并且是单节点集群模式。(多节点集群其实只要分发一下软件包、修改配置即可)
1、安装包
Elasticsearch 7.1.1 下载地址:
https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-1-1
最新版 本下载可访问:https://www.elastic.co/cn/downloads/elasticsearch。
Elasticsearch 7.0 之前需要先安装 JDK。 Elasticsearch 自 7.0 版本开始默认捆绑了 JDK(安装包里自带JDK),因此我们可以不单独安装 JDK,ES 会默认使用自带 JDK。如果使用自己的 JDK 可以设置 JAVA_HOME 指定。
2、安装
首先使用 root 用户创建 安装目录、数据目录,解压安装包,创建 elasticsearch用户 以及 更改安装目录权限 等操作。
#创建相关目录,并解压安装Elasticsearch
mkdir /{app,data}
tar zxf elasticsearch-7.1.1-linux-x86_64.tar.gz -C /app
#创建elasticsearch用户用于启动、操作Elasticsearch
useradd elasticsearch
passwd elasticsearch
#目录重命名,更改所属用户
cd /app
mv elasticsearch-7.1.1 elasticsearch
chown elasticsearch:elasticsearch -R elasticsearch/
Elasticsearch 不允许使用 root 用户启动。
3、配置
Elasticsearch 有2个关键的配置文件,elasticsearch.yml 与 jvm.options。前者是 elasticsearch 配置文件,后者是 elasticsearch 进程 jvm 配置文件。以下是一些关键的必要配置项。
elasticsearch.yml :
cluster.name: es-cluster
node.name: es-01
path.data: /data
path.logs: /app/elasticsearch/logs
bootstrap.memory_lock: true
bootstrap.system_call_filter: false
http.cors.enabled: true
http.cors.allow-origin: "*"
network.host: 192.168.10.130
http.port: 9200
discovery.seed_hosts: ["192.168.10.130"]
cluster.initial_master_nodes: ["es-01"]
node.master: true
node.data: true
因为我们只有一个节点,所以这里 node.master(default true) 与 node.data(default true)均设为 true。多节点集群时须要根据实际情况决定 master 节点和 data 节点。
jvm.options :
-Xms4g
-Xmx4g
官方建议 jvm 堆大小最多可设为可用物理内存的一半,留有足够的内存供 filesystem cache 使用。
4、启动
Elasticsearch 的启动非常简单,直接运行安装目录 bin 下的 elasticsearch 脚本,如下
./bin/elasticsearch -d
其中 -d 表示进程后台运行,还可以加参数 -p pid 指定进程编号。
验证是否启动成功,可以 curl 命令行或许浏览器访问,curl 命令如下
curl -XGET "192.168.10.130:9200/"
Elasticsearch 不允许使用 root 用户启动。
至此,Elasticsearch 安装完成,我们可以通过官方提供的 API 操作 Elasticsearch 了。
二、安装 Elasticsearch-head
为了更直观的管理 Elasticsearch(集群管理、数据操作等),我们需要安装 elasticsearch-head 进行界面操作,elasticsearch-head 属于管理 ES 常用 的第三方客户端。
1、安装包
从以下地 址下载 Head 的 master 分支即可
https://github.com/mobz/elasticsearch-head
关于 Head 的安装,网上多是通过 npm (nodejs/grunt)方式安装,这种安装方式其实有点复杂。建议通过 tomcat 部署 head 的方式进行安装,只需修改一次配置即可,这里采用此方式。
2、安装
假设已经安装好了 JDK、tomcat,配置好了 JAVA_HOME 环境变量,这些是基础条件。将 elasticsearch-head 的 zip 包 解压部署 到 tomcat 的 webapps 目录完成安装。这里 tomcat 目录为 /app/tomcat-es-head。
unzip -d /app/tomcat-es-head/webapps elasticsearch-head-master.zip
cd /app/tomcat-es-head /webap ps
mv elasticsearch-head-master elasticsearch-head
Head 的安装、启动使用 root 用户即可。
3、配置
如上安装完成后,配置 Head 就变的十分简单了,只需要修改 elasticsearch-head 目录下 _site/app.js 文件即可,这里文件全路径为 /app/tomcat-es-head/webapps/elasticsearch-head/_site/app.js。修改 base_uri 处指定 Elasticsearch HTTP 地址(默认 9200 端口)即可,即如下红框部分
4、启动
启动 tomcat 即可,这里 tomcat 端口设为了 9100,可根据实际端口访问。出现如下界面说明 Head 界面安装成功
至此,elasticsearch-head 界面安装完成,后续的一些基本操作比如索引管理、数据查看等建议通过该界面操作。
三、附 Elasticsearch 6.x 线上配置
这里提供一份 Elasticsearch 6.x 的配置文件(线上版本 6.1.1)。 elasticsearch.yml:
cluster.name: es-prod-cluster
node.name: es-prod-01
path.data: /data01,/data02,/data03
path.logs: ${ES_HOME}/logs
bootstrap.memory_lock: true
bootstrap.system_call_filter: false
http.cors.enabled: true
http.cors.allow-origin: "*"
network.host: ${ IP }
http.port: 9200
discovery.zen.ping.unicast.hosts: ["otc-hadoop-es-01"," ot c -h adoop - es-02"," ot c -h adoop - es-03"," otc -h adoop - es-04"," ot c -h adoop - es-05"," otc -h adoop - es-06"]
discovery.zen.minimum_master_nodes: 3
node.master: true
node.data: true
仅供参考,实际安装时如果遇到其他问题,比如最大文件描述符限制、最大线程数限制、虚拟内存设置等,可以参考报错信息解决,或者先看官网 Bootstrap Checks 章节内容。
# 长按订阅 #
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First Python
Paul Barry / O'Reilly Media / 2010-11-30 / USD 49.99
Are you keen to add Python to your programming skills? Learn quickly and have some fun at the same time with Head First Python. This book takes you beyond typical how-to manuals with engaging images, ......一起来看看 《Head First Python》 这本书的介绍吧!