目录
目录
一、安装es
1.上传压缩包
建议linux里目录跟我一样,后续就可以不用变了
大家可以百度云直接下载压缩包,传送门:
链接:https://pan.baidu.com/s/1QpqmjpVX2Rbe8HS_BxoeGw
提取码:xpxp
2.创建普通用户
注意,es不能用root来启动,必须使用普通用户来启动。这里我们创建一个普通用户以及定义一些常规目录用于存放我们的数据文件以及安装包等。
#创建组
groupadd elasticsearch
#创建用户和密码
useradd xp
passwd xp
#创建文件夹(因为我之前上传文件的时候创建了,这里就不创了)
mkdir -p /usr/local/es
#将用户添加到组
usermod -G elasticsearch xp
#解压es
cd /usr/local/es/
tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz
#给用户添加操作es的权限
chown -R xp /usr/local/es/elasticsearch-7.6.1/
#为了让普通用户有更大权限,给普通用户设置sudo权限,方便操作
visudo
#################################
#在编辑的时候添加
xp ALL=(ALL) ALL
#################################
#切换到普通用户账户
su xp
使用实例:
3.修改配置文件
(1)修改elasticsearch.yml
注意,后面的操作,都是用用户账户,而不是root!
#创建两个文件夹
mkdir -p /usr/local/es/elasticsearch-7.6.1/log
mkdir -p /usr/local/es/elasticsearch-7.6.1/data
#修改elasticsearch.yml配置文件
cd /usr/local/es/elasticsearch-7.6.1/config/
vim elasticsearch.yml
#################################
#具体修改如下:
cluster.name: my-app
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["192,168.210.144"]
cluster.initial_master_nodes: ["node-1"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"
#################################
(2)修改jvm.option
修改jvm.option,调整jvm堆内存大小。我给的是默认的1G,如果你内存很大,可以给个2G。
cd /usr/local/es/elasticsearch-7.6.1/config/
vi jvm.options
4.常见异常的解决方案
因为是普通用户安装es,且es所需的资源比较多,包括内存大小,线程数等,因此有可能会遇到异常。
(1)普通用户打开文件的最大数限制
es因为需要大量的创建索引文件,需要大量的打开系统的文件,所以我们需要解除linux系统中打开文件最大数目的限制,不然es会报错
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
解决方式:
#编辑配置文件limits.conf
sudo vi /etc/security/limits.conf
#然后输入密码后会打开上述配置文件,在最后面输入如下。注:*不要忘了
###################################################
* soft nofile 65536
* hard nofile 65536
###################################################
使用实例:
(2)普通用户启动线程数限制
如果遇到无法创建本地线程的问题,用户最大可创建线程数太小。es启动如果报如下错误:
max number of threads [1024] for user [elasticsearch] is too low, increase to at least [2048]
解决方案如下:
#如果你是Centos6
sudo vi /etc/security/limits.d/90-nproc.conf
#如果你是Centos7
sudo vi /etc/security/limits.d/20-nproc.conf
使用实例:
(3)普通用户调大虚拟内存
如果虚拟内存太小,也会报错:
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方案:
#编辑limits.conf
sudo vi /etc/sysctl.conf
#添加如下内容
#########################
vm.max_map_count=655360
#########################
#保存后执行如下
sysctl -p
5.运行es
运行es之前需要重启一下虚拟机:
#切换回root
su - root
#重启
reboot
#重新登录后启动
su xp
cd /usr/local/es/elasticsearch-7.6.1/bin/
./elasticsearch -d
#如果访问不通,看看防火墙
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
使用实例:
6.权限问题报错
如果你的结果显示如下:
这表示你的权限没有设置成功,切换到root下面,重新执行:
chown -R xp /usr/local/es/elasticsearch-7.6.1/
二、安装Kibana
注意:在用户账户下操作,别在root下操作:
#进入目录,解压
cd /usr/local/es/
tar -zxvf kibana-7.6.1-linux-x86_64.tar.gz
#修改权限
su - root
chmod 770 /usr/local/es/kibana-7.6.1-linux-x86_64
chown -R xp /usr/local/es/kibana-7.6.1-linux-x86_64/
su xp
#编辑kibana.yml
cd /usr/local/es/kibana-7.6.1-linux-x86_64/config/
vi kibana.yml
##################
#编辑内容如下:
server.port: 5601
server.host: "192.168.210.144"
elasticsearch.hosts: ["http://192.168.210.144:9200"]
i18n.locale: "zh-CN"
##################
#进入bin目录
cd /usr/local/es/kibana-7.6.1-linux-x86_64/bin
#启动
#启动方式一:前台启动(不推荐,一会不操作就自动关了)
./kibana
#启动方式二:后台启动(推荐)
nohup ./kibana &
tail -f nohup.out
我们测试是否成功:
http://192.168.210.144:5601/app/kibana
关闭kibana:
netstat -anltp|grep 5601
三、安装ik分词器
https://github.com/medcl/elasticsearch-analysis-ik/releases?after=v7.7.1
1.切换到用户账户,新建一个ik文件夹
su xp
cd /usr/local/es/elasticsearch-7.6.1/plugins/
mkdir -p ik
2.上传ik分词器压缩文件
3.解压压缩文件
#解压ik压缩包
cd /usr/local/es/
unzip -d /usr/local/es/elasticsearch-7.6.1/plugins/ik elasticsearch-analysis-ik-7.6.1.zip
#重启es
cd /usr/local/es/elasticsearch-7.6.1/bin/
./elasticsearch -d
4. 重启es和kibana,做测试
http://192.168.210.144:5601/app/kibana
如果你的ik分词器配置了不生效,记得吧压缩包删除:
四、ES集群环境的搭建
1.先搭建3个单机的es
单机的es我们上面已经讲了,所以先开3个虚拟机,上传es和ik分词器,并把这3个虚拟机都配置成功es
2.修改elasticsearch.yml
3.修改kibana.yml
修改master的kibana.yml:
4.删除nodes
删除data下面的nodes文件夹
5.重启,测试
可以看到我们这边集群已经搭建好了
五、ES-head安装
1.如果没有安装nodejs,需要安装nodejs
#创建文件夹
mkdir -p /usr/local/nodejs/
#将nodejs压缩包放到nodejs下面,并做解压
tar -xvf node-v16.6.0-linux-x64.tar.xz
#重命名文件夹
mv node-v16.6.0-linux-x64 nodejs
#设置软连接
ln -s /usr/local/nodejs/nodejs/bin/npm /usr/local/bin/
ln -s /usr/local/nodejs/nodejs/bin/node /usr/local/bin/
#测试
node -v
npm -v
2.es-head安装
(1)下载
cd /usr/local/es/
mkdir -p elasticsearch-head
cd elasticsearch-head/
wget https://github.com/mobz/elasticsearch-head/archive/master.zip
unzip master.zip
cd elasticsearch-head-master/
#执行完这一步之后,文件夹里面会多出一个node_modules文件夹
npm install [email protected] --ignore-scripts
####################################################################
#如果你执行上一步,提示说什么过期之类的,就把npm更新一下
#设置淘宝源
npm config set registry https://registry.npm.taobao.org
#更新npm
npm install -g npm
####################################################################
(2)修改app.js
cd /usr/local/es/elasticsearch-head/elasticsearch-head-master/_site/
vim app.js
#############################
#输入:set nu会显示行号
#找到4388行,将ip变成自己的ip。或者输入/9200会直接跳到
#############################
(3)编辑Gruntfile.js
cd /usr/local/es/elasticsearch-head/elasticsearch-head-master/
vim Gruntfile.js
##################################
#添加一个host属性,你也可以里面内容给*。注意空格
hostname: '192.168.210.144',
##################################
(4)启动
#前台发布
cd /usr/local/es/elasticsearch-head/elasticsearch-head-master/node_modules/grunt/bin/
./grunt server
#后台发布
cd /usr/local/es/elasticsearch-head/elasticsearch-head-master/node_modules/grunt/bin/
nohup ./grunt server >/dev/null 2>&1 &
3.测试
六、打赏请求
如果本篇博客对您有所帮助,打赏一点呗,谢谢了呢~