热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【运维】ElasticSearch部署、查看状态、索引操作

Elasticsearch(后面简称ES)是一个分布式、高扩展、高实时的搜索与数据分析引擎,基于Lucene搜索服务器,它提

Elasticsearch(后面简称ES)是一个分布式、高扩展、高实时的搜索与数据分析引擎,基于Lucene搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口

1.非root账号

也许是处于安全考虑,ElasticSearch默认是禁止使用root启动的,所以我们这里新建一个账户来管理ES

useradd -m elastic # 创建用户
echo elastic:12345 | chpasswd # 设置密码

顺便给它设置免密sudo

echo "elastic ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/elastic
chomd 0440 /etc/sudoers.d/elastic

2.安装软件

下载解压

mkdir /data/softs/
cd /data/softs/
# 下载安装包,也可以直接使用其他方式下载然后弄进来
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.2-linux-x86_64.tar. gz
mkdir /data/server/ -p
tar -xf elasticsearch-7.3.2-linux-x86_64.tar.gz -C /data/server/
cd /data/server/
ln -s elasticsearch-7.3.2/ elasticsearch

配置环境变量

新建 /etc/profile.d/elastic.sh,输入以下代码export ELASTIC_HOME=/data/server/elasticsearch
export PATH=$ELASTIC_HOME/bin:$PATH

使生效

su elastic
source /etc/profile.d/elastic.sh
chmod +x /etc/profile.d/elastic.sh

3.配置ES

打开ES解压包里的配置文件进行如下配置

vim elasticsearch/config/elasticsearch.yml

# 设定elasticsearch集群的名称
cluster.name: elastic.mysite.com
# 设定集群master界面的名称
node.name: master.mysite.com
node.master: true
node.data: true
# 设定elasticsearch的存储目录,包括数据目录和日志目录
path.data: /data/server/elasticsearch/data
path.logs: /data/server/elasticsearch/logs
# 允许所有主机都能访问我们的 elasticsearch
network.host: 192.168.203.151 #这是主服务器的IP
# 设置elasticsearch对外的访问端口
http.port: 9200
# 设定主机发现
discovery.seed_hosts: ["master.mysite.com","node.mysite.com"]
cluster.initial_master_nodes: ["master.mysite.com"]
# 开启跨域访问支持,默认为false
http.cors.enabled: true
# 跨域访问允许的域名地址,(允许所有域名)以上使用正则
http.cors.allow-origin: "*"

以上的主服务器的配置, 从服务器 的其他配置一样,但节点不能跟主服务器一样

node.name: node.mysite.com
node.master: false
network.host: 192.168.203.152 # 从服务器的IP

其他配置

# 修改虚拟内存为262144
echo 'vm.max_map_count=262144' > /etc/sysctl.d/elastic.conf
sysctl -p /etc/sysctl.d/elastic.conf# 因为ES启动的时候对文件描述有限制,所以我们需要设置限制的数量
echo 'elastic - nofile 65536' > /etc/security/limits.d/elastic.conf# 因为我们在ES的配置文件中指定了数据和日志的目录,所以要先建好
mkdir /data/server/elasticsearch/{data,logs} -p# 因为我们要基于elastic用户来启动软件,所以需要提前设置相关属性
chown -R elastic:elastic /data/server/elasticsearch
chown -R elastic:elastic /data/server/elasticsearch-7.3.2/

4.启动ES

我们使用elastic账户启动

elasticsearch

elasticsearch -d # 后台启动

查看是否启动

netstat -tnulp | grep 9200 # 根据端口查看curl 192.168.203.151:9200 # 查看返回值

在这里插入图片描述

5.简单操作


5.1 查看状态和节点

# 查看健康状态
curl 192.168.203.151:9200/_cat/health?v# 查看节点
curl 192.168.203.151:9200/_cat/nodes

5.2 索引操作(创建、查看、删除)

创建和查看索引

# 创建索引
curl -XPUT 192.168.203.151:9200/index_test
# 查看索引
curl 192.168.203.151:9200/_cat/indices
# 格式化显示
curl 192.168.203.151:9200/index_test?pretty

在这里插入图片描述
删除索引

# 删除索引
curl -XDELETE 192.168.203.151:9200/index_test
# 返回 {"acknowledged":true}
# 查看索引
curl 192.168.203.151:9200/_cat/indices

在这里插入图片描述
配置切片属性

curl -X PUT 192.168.203.151:9200/index_test -H 'Content-Type:application/json' -d '{"settings": {"number_of_shards": 3,"number_of_replicas": 1}}'# number_of_shards:切片数,number_of_replicas:副本数# 查看效果
curl 192.168.203.151:9200/_cat/indices
curl 192.168.203.151:9200/index_test?pretty

在这里插入图片描述


推荐阅读
author-avatar
so-sweet天地
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有