前言
ElasticSearch使用版本7.6.1
一、安装Elasticsearch
1.创建普通用户
ES不能使用root用户来创建,必须使用普通用户来安装启动。
这里我们创建一 个普通用户以及定义一些常规目录用于存放我们的数据文件
以及安装包等。 创建一个es专门的用户(必须)
步骤:使用root用户在服务器执行一下命令
1.创建elasticsearch用户组
groupadd elasticsearch
2.创建用户 yhh 并设置密码
useradd yhh
passwd 123
3.创建es文件夹,并修改owner为yhh用户
mkdir -p /usr/local/es
chown -R yhh /usr/local/es
4.用户yhh 添加到elasticSearch用户组
usermod -G elasticsearch yhh
5.设置sudo权限
visudo
yhh ALL=(ALl) ALL
su yhh
2.上传压缩包解压
ES安装包下载放到服务器 /usr/local/es 路径下,并使用 yhh 用户执行一下操作
su yhh
cd /usr/local/es
tar -zvxf elasticsearch‐7.6.1‐linux‐x86_64.tar.gz ‐C /usr/local/es/
mkdir ‐p /usr/local/es/elasticsearch‐7.6.1/log
mkdir ‐p /usr/local/es/elasticsearch‐7.6.1/data
3.修改配置文件 elasticSearch.yml
cd /usr/local/es/elasticsearch‐7.6.1/config
vim elasticsearch.yml
cluster.name: my‐application
node.name: node‐1
path.data: /usr/local/es/elasticsearch‐7.6.1/data
path.logs: /usr/local/es/elasticsearch‐7.6.1/log
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["服务器IP"]
cluster.initial_master_nodes: ["node‐1"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow‐origin: "*"
4.修改 jvm.option
调整 jvm 堆内存大小 ,使用 yhh 用户执行以下命令
cd /usr/local/es/elasticsearch‐7.6.1/config
vi jvm.options
‐Xms2g
‐Xmx2g
5.修改系统配置,解决启动报错问题
由于使用普通用户安装es服务,但es服务对服务器的资源要求比较多,
包括内存大小,线程数等。所以我们需要给普通用户解开资源的束缚
- 问题错误信息描述: max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
ES因为需要大量的创建索引文件,需要大量的打开系统的文件,所以我们需要解除linux系统当中打开文件最大数目的限制,不然ES启动就会抛错 三台机器使用yhh用户执行以下命令解除打开文件数据的限制
sudo vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
- 普通用户启动线程数限制 问题错误信息描述 max number of threads [1024] for user [es] likely too low, increase to at least [4096]
原因:无法创建本地线程问题,用户最大可创建线程数太小解决 方案:修改90-nproc.conf 配置文件。 三台机器使用yhh用户执行以下命令修改配置文件
Centos6
sudo vi /etc/security/limits.d/90‐nproc.conf
Centos7
sudo vi /etc/security/limits.d/20‐nproc.conf
找到如下内容:
* soft nproc 1024
* soft nproc 4096
- 普通用户调大虚拟内存 错误信息描述:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
调大系统的虚拟内存 原因:最大虚拟内存太小 每次启动机器都手动执行下。 三台机器执行以下命令 ,备注:以上三个问题解决完成之后,重新连接secureCRT或者重新连接xshell生效
vi /etc/sysctl.conf
vm.max_map_count=655360
sysc tl ‐p
- 启动ES服务 三台机器使用yhh用户执行以下命令启动es服务
cd /usr/local/es/elasticsearch-7.6.1/bin/
./elasticsearch -d
启动成功之后jsp即可看到es的服务进程,并且访问页面 http://IP:9200/?pretty 能够看到es启动之后的一些信息
注意:如果哪一台机器服务启动失败,那么就到哪一台机器的 /usr/local/es/elasticsearch-7.6.1/log 这个路径下面去查看错误日志
1 关闭Linux防火墙
2 永久性生效,重启后不会复原
3 开启: chkconfig iptables on
4 关闭: chkconfig iptables off
5 即时生效,重启后复原
6 开启: service iptables start
7 关闭: service iptables stop
8 centos7关闭防火墙 systemctl stop firewalld.service
注意:启动ES的时候出现 Permission denied 原因:当前的用户没有对XX文件或目录的操作权限
二、客户端Kibana安装
1、客户端可以分为图形界面客户端,和代码客户端.
2、ES主流客户端Kibana,开放9200端口与图形界面客户端交互
1)下载Kibana放之/usr/local/es目录中
2)解压文件:tar -zxvf kibana-X.X.X-linux-x86_64.tar.gz
3)进入/usr/local/es/kibana-X.X.X-linux-x86_64/config目录
4)使用vi编辑器:vi kibana.yml
1 server.port: 5601
2 server.host: "服务器IP"
3 elasticsearch.hosts: ["http://IP:9200"] #这里是elasticsearch的访问地址
5)启动Kibana 启动kibana 1 cd /usr/local/es/kibana‐7.6.1‐linux‐x86_64/bin
./kibana 后台启动kibana 1 nohup ./kibana &
6)访问Kibana http://ip:5601/app/kibana
三、安装IK分词器
我们后续也需要使用Elasticsearch来进行中文分词,所以需要单独给 Elasticsearch安装IK分词器插件。以下为具体安装步骤:
1、下载Elasticsearch IK分词器 https://github.com/medcl/elasticsearch-analysis-ik/releases
2、切换到baiqi用户,并在es的安装目录下/plugins创建ik 1 mkdir ‐p /usr/local/es/elasticsearch‐7.6.1/plugins/ik
3、将下载的ik分词器上传并解压到该目录
1 cd /usr/local/es/elasticsearch‐7.6.1/plugins/ik
2 解压 elasticsearch‐analysis‐ik‐7.6.1.zip
3、重启Elasticsearch
4、测试分词效果
|