应用部署
下载必要应用elasticsearch7.6.1
下载:
elasticsearch-7.6.1
elasticsearch-analysis-ik-7.6.1(IK分词器)
kibana-7.6.1-linux-x86_64(kibana可视化运维工具)
elasticsearch-head-master.zip(页面运维)
node-v14.15.0-linux-x64.tar
下载地址:https://pan.baidu.com/s/1PT3jLvCksOhq7kgAKzQm7g
提取码:s824
上传应用
创建目录/data/elas/install。上传文件至此目录。
mkdir /data/elas/install
sz
解压缩所有文件
tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz
unzip elasticsearch-analysis-ik-7.6.1.zip
tar -zxvf kibana-7.6.1-linux-x86_64.tar.gz
unzip elasticsearch-head-master.zip
tar -xvf node-v14.15.0-linux-x64.tar
创建用户
elasticsearch为了安全性,是不能用root用户启动的。 切换其他账号,或者新建账号。
新建账号:
adduser elas
初始化elas的密码:
passwd elas
输入两次密码后添加成功。
用户授权
个人用户的权限只可以在本home下有完整权限,其他目录需要别人授权。如果需要root用户的权限,可以通过修改sudoers文件来赋予权限。
新创建的用户并不能使用sudo命令,需要给他添加授权。
首先查找sudoers文件路径
[ root@master ~]# whereis sudoers
sudoers: /etc/sudoers.d /etc/sudoers /usr/share/man/man5/sudoers.5.gz
查看权限
[root@master ~]# ls -l /etc/sudoers
-r--r-----. 1 root root 4328 10月 30 2018 /etc/sudoers #显示只有读权限
赋予读写权限
[root@master ~]# chmod -v u+w /etc/sudoers
mode of "/etc/sudoers" changed from 0440 (r--r-----) to 0640 (rw-r-----)
修改sudoers文件
vim /etc/sudoers
在root下添加 (elas是用户名)
elas ALL=(ALL) ALL
加了之后 进行保存
wq!
然后使用 su 命令就可以进行登录了
su elas
文件夹授权
切换到root账号,执行以下命令,执行完之后需要在切换到原来的账号
chown -R elas:elas /usr/web/elasticsearch
其中,elas是用户名 后面是elasticsearch文件路径
在开发使用过程中,我们可以限制elasticsearch使用的内存大小
进入elasticsearch的目录下config文件夹
配置
vim jvm.options
注:如果打开是空的,可能是由于没有权限,使用root账号进行修改
elasticsearch 要求至少1g启动内存,所以内存不够,我们可以设置的小一点,修改为256m,如图所示
修改完成之后,wq!保存退出
现在默认我们只能在linux服务器上访问elasticsearch ,如果要使得我们在外网也能访问elasticsearch,需要修改配置文件
进入elasticsearch文件目录下的config文件夹中
vim elasticsearch.yml
默认是
修改成
修改完成之后,wq!保存退出。
开启防火墙
/sbin/iptables -I INPUT -p tcp --dport 9200 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 9300 -j ACCEPT
需要9200和9300两个端口都要开启,9300是web端访问端口,9200是开发程序访问端口。
启动
进入bin目录下,启动项目
cd /data/elas/elasticsearch-7.6.1/bin
./elasticsearch
若出现此错误:
org.elasticsearch.bootstrap.StartupException: BindTransportException[Failed to bind to [9300-9400]]; nested: BindException[无法指定被请求的地址];
将上一步中的elasticsearch.yml 的network.host改成0.0.0.0
若出现此错误:
ERROR: [1] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2020-04-04T17:47:27,880][INFO ][o.e.n.Node ] [5GagyKc] stopping …
[2020-04-04T17:47:27,965][INFO ][o.e.n.Node ] [5GagyKc] stopped
[2020-04-04T17:47:27,965][INFO ][o.e.n.Node ] [5GagyKc] closing …
[2020-04-04T17:47:27,979][INFO ][o.e.n.Node ] [5GagyKc] closed
(1)修改系统配置文件 (切换到root用户)
vim /etc/security/limits.conf
增加以下内容,如图所示
- hard nofile 655360
- soft nofile 131072
- hard nproc 4096
- soft nproc 4096
其中:
nofile - 打开文件的最大数目
noproc - 进程的最大数目
soft 指的是当前系统生效的设置值
hard 表明系统中所能设定的最大值
然后wq!保存退出.
(2)修改系统最大内存数,进入
vim /etc/sysctl.conf
默认是
修改为
如果没有上述内容,直接添加以下内容进去即可
vm.max_map_count=655360
fs.file-max=655360
修改好之后,保存退出
使的我们修改的配置文件生效
sysctl -p
重新启动。切换到普通账号启动elasticsearch,启动成功后,我们可以使用 -d 命令或nohup进行后台启动,进入elasticsearch文件夹目录的bin文件夹
nohup ./elasticsearch &
访问
打开浏览器输入
http://服务器IP:9200/ 出现下图则为正常启动。
安装IK中文分词器
将解压缩后的elasticsearch-analysis-ik-7.6.1改名为analysis-ik,移动到/data/elas/elasticsearch-7.6.1/plugins
mv elasticsearch-analysis-ik-7.6.1 analysis-ik
mv analysis-ik /data/elas/elasticsearch-7.6.1/plugins/
查询elas进程并停止elas。
ps -ef|grep elasticsearch
kill -9 elasticsearch进程
重新启动即可。
nohup ./elasticsearch &
安装head插件
此步设计到安装node.js,以下两个地址供参考:
https://my.oschina.net/shxjinchao/blog/2878083
https://blog.csdn.net/qq_35618489/article/details/87865067
1.安装Node.js
解压压缩包至目标安装目录,配置环境变量/etc/profile
export NODE_HOME=/data/node-v10.15.3-linux-x64
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules
2.将解压后的elasticsearch-head-master 改名为 elasticsearch-head
3.进入elasticsearch-head目录:
cd /data/elasticsearch-head
apt install npm
npm install
执行后目录下会出现node_modules目录
可通过命令grunt -version来查看grunt版本
4.配置相关文件
- 修改elasticsearch.yml,增加跨域的配置(需要重启es才能生效)
vi /etc/elasticsearch/elasticsearch.yml
加入配置:
http.cors.enabled: true
http.cors.allow-origin: "*"
- 修改Gruntfile.js文件,修改服务监听地址(增加hostname属性,将其值设置为’0.0.0.0’)
92行添加:
hostname:'0.0.0.0',
5.重启elasticsearch服务、启动head插件服务
启动head插件服务:
npm run start
出现下面内容则代表服务启动成功
启动成功后,可在浏览器访问插件与ES进行交互
http://服务器IP:9200 为ES服务访问地址
安装时出现的问题整理:
1)服务启动正常,访问一直失败
解决:查看系统防火墙允许访问端口
/sbin/iptables -I INPUT -p tcp --dport 9200-j ACCEPT
2)解压Nodejs需要安装xz命令
解决:
yum search xz
apt-get install xz
apt install xz-utils
xz -d node-v10.15.3-linux-x64.tar.xz
tar -xvf node-v10.15.3-linux-x64.tar
安装完成!