共计 2913 个字符,预计需要花费 8 分钟才能阅读完成。
elasticsearch 简介
ElasticSearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文检索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
实验部署
1、实验所需组件及环境
1)JDK8 以上环境
2)CentOS7.3,IP 地址:192.168.144.112
3)elasticsearch6.3.2
- es 最新软件软件包可在官方网站下载:https://www.elastic.co/downloads/elasticsearch
2、安装 jdk8 以上版本
yum install java -y
java -version 查看 java 版本
3、部署 elasticsearch6.3.2
-
首先在官网当中下载 es 的软件包,本文采用压缩包解压缩安装方式启动服务。
- 值得注意的是,在 es5.0 版本后不支持与 logstash 和 kibana2.x 版本的混用,且安全级别的提升,使得 es 在后续的版本中不允许使用 root 用户启动,因此我们需要创建另外独立账户专供 es 使用。并且需要在 root 权限下将该特定环境准备好。
tar zxvf elasticsearch-6.3.2.tar.gz -C /opt/
- 创建独立用户与组(root 用户下创建设定)
groupadd ela 创建 ela 组
useradd -g ela ela 创建 ela 用户,并且加入 ela 组
passwd ela 为 ela 用户设定登录密码
visudo(或者 vim /etc/sudoers)
- 为了让 ela 用户拥有对 elasticsearch 执行权限,在 root 用户权限下解压后,需要将软件包更改属主属组。
chown -R ela.ela /opt/elasticsearch-6.3.2/
ls -l /opt/elasticsearch-6.3.2/
- 切换到 ela 用户,编辑配置文件,准备启动 es
su ela
[ela@localhost ~]$ cd /opt/elasticsearch-6.3.2/config/
[ela@localhost config]$ sudo vim elasticsearch.yml
# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
#
cluster.name: abner // 打开设定 es 群集名称
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
node.name: node-1 //es 当前节点名称,用于区分不同节点
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
path.data: /data/es-data // 修改数据目录,此目录为自定义,需要在 root 用户下创建,且属主属组更改为 ela
#
# Path to log files:
#
path.logs: /var/log/elasticsearch // 日志目录位置,需自己创建,方式同上
//yum 安装则系统自定义,在软件版本或者系统升级时会被删除,所以建议修改
#
# ----------------------------------- Memory -----------------------------------
#
# Lock the memory on startup:
#
bootstrap.memory_lock: true //elasticsearch 官网建议生产环境需要设置 bootstrap.memory_lock: true
#
# Make sure that the heap size is set to about half the memory available
# on the system and that the owner of the process is allowed to use this
# limit.
#
# Elasticsearch performs poorly when the system is swapping the memory.
#
# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: 0.0.0.0 // 监听访问地址为任意网段
#
# Set a custom port for HTTP:
#
http.port: 9200 // 服务监听端口
#
- 编辑完成配置文件后,数据目录以及日志文件目录需要创建
sudo mkdir -p /data/es-data
sudo mkdir -p /var/log/elasticsearch
sudo chown -R ela.ela /data/
sudo chown -R ela.ela /var/log/elasticsearch
- 准备工作完成,启动 es
[ela@localhost /]$ cd /opt/elasticsearch-6.3.2/bin/
[ela@localhost bin]$ ./elasticsearch 后面可以跟上 - d 后台执行
4、启动发现异常情况以及处理方式
- 当发现如上图无法分配内存错误等,可执行如下操作。(需要在 root 用户权限下)
vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 131072
ela soft memlock unlimited
ela hard memlock unlimited
- 当发现 ERROR: [1] bootstrap checks failed 错误时,解决方式如下 (root 用户状态下)
vim /etc/sysctl.conf
vm.max_map_count = 655360 // 添加
sysctl -p
- 切换到 ela 用户,执行启动程序
[ela@localhost abc]$ cd /opt/elasticsearch-6.3.2/bin/
[ela@localhost bin]$ ./elasticsearch
- 新建终端,以 root 用户查看 9200 端口是否开启
netstat -ntap | grep 9200
tcp6 0 0 :::9200 :::* LISTEN 2095/java
- 打开浏览器访问验证,出现如下界面即安装成功,访问时记得关闭防火墙!!!
: