系统: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 &
四、使用
点击左上,默左边的 四横,选择开发工具:
测试ik分词器的使用可用: