ElasticSearch:centos7安装elasticsearch7,kibana,ik中文分词器,云服务器安装elasticsearch

系统:centos7

elasticsearch: 7.17.16

安装目录:/usr/local

云服务器的安全组:开放 9200 和5601的端口

一、下载安装elasticsearch7.17.16

1、安装

bash 复制代码
#进入安装目录
cd /usr/local

#下载elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.16-linux-x86_64.tar.gz

#解压
tar -zxvf elasticsearch-7.17.16-linux-x86_64.tar.gz

#配置环境变量
vi /etc/profile
#es需要java的jdk,会找环境变量ES_JAVA_HOME,JAVA_HOME,ES_HOME,
export  ES_JAVA_HOME=/usr/local/elasticsearch-7.17.16/jdk
#es的安装目录
export ES_HOME=/usr/local/elasticsearch-7.17.16
#es的bin,就可以在任何位置启动es
export PATH=/usr/local/elasticsearch-7.17.16/bin:$PATH

2、修改es的配置文件

bash 复制代码
vi /usr/local/elasticsearch-7.17.16/config/elasticsearch.yml

#设置当前es的站点名
node.name: node-1
#允许远程访问
network.host: 0.0.0.0
#es服务默认的端口
http.port: 9200
#配置参与集群节点发现过程的主机列表,IP或域名,阿里云服务器的私有IP地址
discovery.seed_hosts: ["172.18.220.41"]
#配置ES集群初始化时参与master选举的节点名称列表,必须与node.name配置的一致
#ES集群首次构建完成后,应该将集群中所有节点的配置文件中的cluster.initial_master_nodes配置项移除
cluster.initial_master_nodes: ["node-1"]

注意:es集群启动后,所有节点的cluster.initial_master_nodes: ["node-1"] 都要注释掉。

3、修改jvm.options

bash 复制代码
vi /usr/local/elasticsearch-7.17.16/config/jvm.options

#云服务器服务器只有2G
-Xms150m
-Xmx150m

可能出现报错

ES常见错误:

1、配置elasticsearch.yml

错误内容: the default discovery settings are unsuitable for production use;at least one of [discovery.seed_hosts,discovery.seed_providers,cluster.initial_master_nodes] must be configured

原因: 缺少默认配置,至少配置一个参数

discovery.seed_hosts:集群主机列表

discovery.seed_providers:基于配置文件配置集群主机列表

cluster.initial_master_nodes:启动时初始化的参与选主的node,生产环境必填

解决方法 :修改es的配置文件

bash 复制代码
discovery.seed_hosts: ['172.18.220.41']
cluster.initial_master_nodes:['node-1']

2、配置linux系统文件

错误内容: max file descriptors [4096] for elasticsearch process is to low ,increase to at least [65536]

原因:ES需要大量的创建索引文件,需要大量打开系统的文件,所以我们需要解除linux系统中打开文件最大数目的限制

解决方法

bash 复制代码
    su root
    vi /etc/security/limits.conf

    #末尾添加如下配置
    * soft nofile 65536
    * hard nofile 65536
    * soft nproc 4096
    * hard nproc 4096

3、配置linux

错误内容:max number of threads[1024] for user is too low,increase to at least[4096]

原因:无法创建本地线程问题,用户最大可创建线程数太少

解决方法

bash 复制代码
 su root
 vi /etc/security/limits.d/20-nproc.conf

 #配置:
* soft nproc 4096

4、配置linux

错误内容:max virtual memory areas vm.max_map_count[65530]is too low,increase to at least[262144]

原因:最大虚拟内存太小,调大系统的虚拟内存

解决方法:

bash 复制代码
vi /etc/sysctl.conf

#追加
vm.max_map_count=262144

#保存退出执行
sysctl -p

启动es服务:

1、使用普通用户启动es

2、把/usr/local下的es的所属用户和所属组,设置成普通用户的

bash 复制代码
chown -R www:www /usr/local/elasticsearch-7.17.16

3、切换www用户,再启动es

bash 复制代码
#后台启动
elasticsearch -d 

#前台启动,就去掉-d

二、安装ik分词器

中文分词器,使用ik分词器

1、下载网址:找到7.17.16版本的ik分词器:

Releases · medcl/elasticsearch-analysis-ik · GitHub

2、解压ik分词器

3、修改名字为:analysis-ik

4、把该文件移动到云服务器

移动到/usr/local/elasticsearch-7.17.16/plugins 目录下

5、重启es服务

bash 复制代码
#查看es的进程
ps -aux | grep elasticsearch
#强制杀死es,假设进程号是3925
kill -9 3925

三、安装kibana,可视化服务

1、下载

bash 复制代码
cd /usr/local
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.17.16-linux-x86_64.tar.gz

2、解压

bash 复制代码
tar -zxvf kibana-7.17.16-linux-x86_64.tar.gz

3、修改所属用户和所属组

bash 复制代码
chown -R www:www kibana-7.17.16-linux-x86_64

4、修改kibana配置文件

bash 复制代码
#服务使用的端口
server.port: 5601
#服务启动的IP
erver.host: "172.18.220.41"
#es的服务的url
elasticsearch.hosts: ["http://172.18.220.41:9200"]
#请求es的timeout时间
elasticsearch.requestTimeout: 90000
#汉化
i18n.locale: "zh-CN"

5、启动kibana,切换到www用户

bash 复制代码
cd /usr/local/kibana-7.17.16-linux-x86_64
nohup bin/kibana &

四、使用

访问:http://阿里云公网IP:5601

点击左上,默左边的 四横,选择开发工具:

测试ik分词器的使用可用:

相关推荐
轩辰~5 分钟前
网络协议入门
linux·服务器·开发语言·网络·arm开发·c++·网络协议
Mitch31122 分钟前
【漏洞复现】CVE-2015-3337 Arbitrary File Reading
elasticsearch·网络安全·docker·漏洞复现
Mitch31127 分钟前
【漏洞复现】CVE-2015-5531 Arbitrary File Reading
web安全·elasticsearch·网络安全·docker·漏洞复现
wanhengidc44 分钟前
短视频运营行业该如何选择服务器?
运维·服务器
s_yellowfish1 小时前
Linux服务器pm2 运行chatgpt-on-wechat,搭建微信群ai机器人
linux·服务器·chatgpt
vvw&1 小时前
如何在 Ubuntu 22.04 上安装 Ansible 教程
linux·运维·服务器·ubuntu·开源·ansible·devops
我一定会有钱1 小时前
【linux】NFS实验
linux·服务器
王铁柱子哟-1 小时前
解决 正在下载VS Code 服务器... 问题
运维·服务器
Ven%1 小时前
如何在防火墙上指定ip访问服务器上任何端口呢
linux·服务器·网络·深度学习·tcp/ip
泰伦闲鱼1 小时前
nestjs:GET REQUEST 缓存问题
服务器·前端·缓存·node.js·nestjs