138 lines
3.8 KiB
Markdown
138 lines
3.8 KiB
Markdown
---
|
||
title: "CentOS7 安装 elasticsearch 集群"
|
||
date: 2019-10-30T01:19:09+08:00
|
||
lastmod: 2019-10-30T01:19:09+08:00
|
||
keywords: []
|
||
tags: ["elasticsearch", "centos"]
|
||
categories: ["database"]
|
||
---
|
||
|
||
# 环境
|
||
|
||
主机名 | IP | 操作系统 | ES 版本
|
||
---- | ---- | ---- | ----
|
||
es227 | 192.168.1.227 | CentOS7.5 | 6.5.4
|
||
es228 | 192.168.1.228 | CentOS7.5 | 6.5.4
|
||
es229 | 192.168.1.229 | CentOS7.5 | 6.5.4
|
||
|
||
- 下载 [elasticsearch-6.5.4.tar.gz](https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.tar.gz)
|
||
|
||
# 各节点初始配置
|
||
|
||
- 关闭 selinux、防火墙
|
||
- 部署 java 运行环境
|
||
- 创建 elastic 用户
|
||
```
|
||
useradd -m elastic
|
||
```
|
||
- 创建数据目录
|
||
```
|
||
cd /var/lib
|
||
mkdir elasticsearch
|
||
chown elastic.elastic elasticsearch
|
||
```
|
||
- 创建日志目录
|
||
```
|
||
cd /var/log
|
||
mkdir -p elasticsearch
|
||
chown elastic.elastic elasticsearch
|
||
```
|
||
- 增加 sysctl.conf 配置,执行 sysctl -p 生效
|
||
```
|
||
vm.max_map_count = 262144
|
||
```
|
||
- 增加 /etc/security/limits.conf 配置
|
||
```
|
||
elastic soft nofile 65536
|
||
elastic hard nofile 65536
|
||
elastic soft memlock unlimited
|
||
elastic hard memlock unlimited
|
||
```
|
||
|
||
# 部署 ELASTICSEARCH
|
||
|
||
- 登陆 es227,下载 elasticsearch,解压至 /opt/ 下
|
||
- 修改 elasticsearch 目录的权限
|
||
```
|
||
chown -R elastic.elastic /opt/elasticsearch
|
||
```
|
||
- 修改 jvm 参数文件 /opt/elasticsearch/config/jvm.options
|
||
- 修改 /opt/elsaticsearch/config/elasticsearch.yml
|
||
```
|
||
cluster.name: TEST_ES_CLUSTER
|
||
node.name: es227
|
||
network.host: 192.168.1.227
|
||
path.data: /var/lib/elasticsearch
|
||
path.logs: /var/log/elasticsearch
|
||
bootstrap.memory_lock: true
|
||
discovery.zen.ping.unicast.hosts: ["192.168.1.227:9300", "192.168.1.228:9300", "192.168.1.229:9300"]
|
||
discovery.zen.minimum_master_nodes: 2
|
||
gateway.recover_after_nodes: 2
|
||
```
|
||
- 打包 elasticsearch 目录,复制到 es228 和 es229 上,并修改 elasticsearch.yml
|
||
```
|
||
# es228
|
||
node.name: es228
|
||
network.host: 192.168.1.228
|
||
# es229
|
||
node.name: es229
|
||
network.host: 192.168.1.229
|
||
```
|
||
|
||
# 启动集群(两种启动方式)
|
||
|
||
- 直接启动二进制
|
||
- 在每个节点上启动 elasticsearch 服务
|
||
```bash
|
||
su - elastic -c '/opt/elasticsearch/bin/elasticsearch -d'
|
||
```
|
||
- systemd 启动
|
||
- 创建文件 /usr/lib/systemd/system/elasticsearch.service,内容如下
|
||
```
|
||
[Unit]
|
||
Description=ElasticSearch
|
||
Requires=network.service
|
||
After=network.service
|
||
[Service]
|
||
User=elastic
|
||
Group=elastic
|
||
LimitNOFILE=65536
|
||
LimitMEMLOCK=infinity
|
||
Environment=JAVA_HOME=/opt/jre
|
||
ExecStart=/opt/elasticsearch/bin/elasticsearch
|
||
SuccessExitStatus=143
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
```
|
||
- 启动 elasticsearch 服务
|
||
```bash
|
||
systemctl daemon-reload
|
||
systemctl start elasticsearch
|
||
```
|
||
|
||
# 查看集群状态
|
||
|
||
- 查看集群节点状态
|
||
```
|
||
# 查看节点状态
|
||
curl http://192.168.1.228:9200/_cat/nodes?pretty
|
||
# 查看集群状态
|
||
curl http://192.168.1.228:9200/_cluster/state?pretty
|
||
```
|
||
|
||
# 安装分词插件
|
||
|
||
- 登陆 es227,下载插件 [elasticsearch-analysis-ik-6.5.4.zip](https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.4/elasticsearch-analysis-ik-6.5.4.zip) 至根目录下
|
||
- 复制该文件至 es228 和 es229 的根目录下
|
||
- 每个节点上安装
|
||
```
|
||
su - elastic
|
||
/opt/elasticsearch/bin/elasticsearch-plugin install file:///elasticsearch-analysis-ik-6.5.4.zip
|
||
```
|
||
- 配置远程扩展字典时,出现 java.net.SocketPermission 拒绝连接,此时需配置 jre 策略
|
||
```
|
||
# vim /opt/jre/lib/security/java.policy,在最后一个 "}" 前追加下面一行
|
||
permission java.net.SocketPermission "*:*","accept,connect,resolve";
|
||
```
|
||
|