Linux下部署单机ElasticSearch、IK分词器、ElasticHD

概述

ElasticSearch运行需要JDK支撑 。JDK 1.8部署方式

环境说明

OS Version:CentOS Linux release 8.1.1911 (此为发行版本)

Linux下查看系统版本命令
查看系统发行版本:cat /etc/redhat-release
查看系统内核版本:uname -a

准备内容

Linux文件命令行工具Xshell 4

下载地址
链接:https://pan.baidu.com/s/1cqrgxkJqLK_EOEccMnPxDA
(https://pan.baidu.com/s/1cqrgxkJqLK_EOEccMnPxDA )
提取码:xxyu

Linux版本ElasticSearch 7.6.2

下载地址
链接:https://pan.baidu.com/s/1SnldvT2pbivctB0f5IdVLw
提取码:vu92

部署步骤(部分步骤可忽略)

部署ElasticSearch

  • 通过Xshell工具使用root用户登录到Linux系统(这里使用的是阿里云ECS)。连接Linux
  • 进入/usr目录 (cd /usr)
  • 创建redis目录 (mkdir elasticsearch)
  • 进入redis目录 (cd elasticsearch)
  • 下载ElasticSearch 7.6.2,上传到/usr/elasticsearch目录
    在这里插入图片描述
  • 解压ElasticSearch

// 解压ElasticSearch
tar -zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz在这里插入图片描述

  • 创建 es 用户,ElasticSearch 不能使用 root 启动

// 创建es用户
adduser es
// 设置es用户密码
passwd es
// 授权
chown -R es elasticsearch-7.6.2
在这里插入图片描述

  • 切换到 es 用户,修改 ElasticSearch 配置文件 elasticsearch.yml

// 切换到es用户
su es
// 进入ElasticSearch配置文件目录
cd /usr/elasticsearch/elasticsearch-7.6.2/config
// 编辑配置文件
vim elasticsearch.yml
在这里插入图片描述
简单配置如下项:
// 集群名称
cluster.name: gty-es
// 节点名称
node.name: node-1
// 网络地址(0.0.0.0 允许从任何IP进行访问)
network.host: 0.0.0.0
// 使用端口
http.port: 9200
// 设置初始主节点
cluster.initial_master_nodes: [“node-1”]
在这里插入图片描述

  • 修改limits.confsysctl.conf文件

// 进人security目录
cd /etc/security
// 编辑limits.conf文件
在这里插入图片描述
// 向文件添加如下内容,注意前面的*号
* soft nofile 65536
* hard nofile 65536
// 进入etc目录
cd /etc
// 编辑sysctl.conf文件
vim sysctl.conf
// 向文件添加如下内容
vm.max_map_count=655360
// 保存后执行如下命令
sysctl -p
在这里插入图片描述

  • 测试启动

// 进入ElasticSearch的bin目录
cd /usr/elasticsearch/elasticsearch-7.6.2/bin/
// 启动ES
./elasticsearch
在这里插入图片描述

  • 访问http://IP:9200,测试启动是否成功(注意:ALiYun ECS需要手动开通端口权限)
    在这里插入图片描述

配置IK分词器

  • 下载IK分词器,注:IK分词器与ES有版本对应关系,本文IK分词器可以从准备章节内容中获取
  • 上传到ES的插件路径

// 进入ES的插件路径
cd /usr/elasticsearch/elasticsearch-7.6.2/plugins
// 解压IK分词器(注意解压后文件夹名称
unzip elasticsearch-analysis-ik-7.6.2.zip -d ik-analyze
在这里插入图片描述
// 删除IK压缩包,以防找不到ik-analyzer
rm -rf elasticsearch-analysis-ik-7.6.2.zip

  • 测试启动

// 切换到es用户
su es
// 进入ES的bin目录
cd /usr/elasticsearch/elasticsearch-7.6.2/bin
// 测试启动
./elasticsearch
// 观察IK插件是否正常启动
在这里插入图片描述
// 测试ES是否启动成功
在这里插入图片描述

安装ElasticSearch可视化工具ElasticHD

  • 下载ElasticHD,本文ElasticHD可以从准备章节内容中获取

// 进入usr目录
// 创建elasticHD目录
在这里插入图片描述
// 解压
unzip elasticHD_linux_amd64.zip
// 授权
chmod 777 ./ElasticHD
在这里插入图片描述
// 运行
nohup ./ElasticHD -p 0.0.0.0:9800 > elasticHD.log 2>&1 &

  • 访问http://IP:9800,测试启动是否成功(注意:ALiYun ECS需要手动开通端口权限)
    在这里插入图片描述

常用命令

  • 启动ES: ./elasticsearch
  • 后台启动:./elasticsearch -d
  • 重启ES:sh elasticsearch -d
  • 检查ES节点状态:curl http://{ESIP}:9200
  • 检查ES集群状态:curl http://{ESIP}:9200/_cat/health?v
  • 查询ES中所有已存在索引:curl http://{ESIP}:9200/_cat/indices?v
  • 创建新索引:curl -XPUT http://{ESIP}:9200/索引名?pretty

常用运维

  • 集群YELLOW

所有主分片可用,但不是所有副本分片都可用。
单节点时常见,由于es默认是有1个副本,主分片和副本不能在同一个节点上,所以副本就是未分配unassigned。

处理方式:
查看所有索引的分片:curl -s "http://{ESIP}:9200/_cat/shards"
第一列表示索引名,第二列表示分片编号,第三列p是主分片,r是副本
在这里插入图片描述
过滤查看所有未分配索引的分片:curl -s “http://{ESIP}:9200/_cat/shards” | grep UNASSIGNED
在这里插入图片描述

// 分配分片
curl -XPOST '{ESIP}:9200/_cluster/reroute' -d '{
    "commands" : [ {
          "allocate" : {
              "index" : "eslog1",
              "shard" : 4,
              "node" : "es1",
              "allow_primary" : true
          }
        }
    ]
}'

注意:

  • 分配副本时必须要带参数"allow_primary" : true, 不然会报错
  • 当集群中es版本不同时,如果这个未分配的分片是高版本生成的,不能分配到低版本节点上,反过来低版本的分片可以分配给高版本,如果遇到了,只要升级低版本节点的ES版本即可
  • 升级ES版本详见官方详细文档,我是ubuntu系统apt安装的,直接apt-get install elasticsearch升级的,elasticsearch.yml配置文件没变不用修改,但是/usr/share/elasticsearch/bin/elasticsearch文件中有个内存配置ES_HEAP_SIZE=6G需要再手动加一下&重启es
  • 集群RED

不是所有的主分片都可用。
通常时由于某个索引的主分片为分片unassigned,只要找出这个索引的分片,手工分配即可。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值