1.检查jdk版本:
es使用java编写,安装es之前,需要先检查jdk环境,一般要求在1.7以上,如果没有安装jdk,建议直接安装1.8版本
[root@hadoop105 ~]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
2.下载elasticsearch安装包,解压
自己已经下载并解压了
[root@hadoop105 module]# ll
total 0
drwxr-xr-x. 8 root root 143 Jan 24 2019 elasticsearch-6.6.0
drwxr-xr-x. 13 root root 238 Feb 17 06:01 kibana-6.6.0-linux-x86_64
3、启动elasticsearch
启动错误:
[root@hadoop105 module]# cd elasticsearch-6.6.0/bin/
[root@hadoop105 bin]# ./elasticsearch
//查看当前用户
[root@hadoop105 config]# whoami
root
原因:由于Elasticsearch可以输入且执行脚本,为了系统安全,不允许使用root启动;我们看看有没有可用的用户
[root@hadoop105 config]# cat /etc/passwd
自己切换为普通用户
//使用su和sudo是有区别的,使用su切换用户需要输入所切换到的用户的密码,而使用sudo则是当前用户的密码
[root@hadoop105 bin]# su MrZhou
[MrZhou@hadoop105 bin]$
再次启动。
记住:后面修改文件时有时需要切到root用户,但是启动时记得切回来,不要在root下启动!
[MrZhou@hadoop105 bin]$ ./elasticsearch
//给MrZhour用户赋予elasticsearch下所有文件的权限(root方式)
[root@hadoop105 bin]# chown -R MrZhou:MrZhou /usr/workProject/elasticsearch
//启动
[MrZhou@hadoop105 bin]$ ./elasticsearch
启动成功后,通过启动信息,我们可以知道默认的端口在9200,但是信息中有两个warn级别的日志,我们先去浏览器访问的试试
发现还是无法访问
原因:默认访问地址是localhost,我们要外网访问,需要去修改下配置文件,elasticsearch-6.6.0/config下的elasticsearch.yml
[root@hadoop105 config]# vim elasticsearch.yml
//修改参数
network.host: 0.0.0.0
http.port: 9200
再次尝试启动
[MrZhou@hadoop105 bin]$ ./elasticsearch
发现错误:
解决错误
这里其实是两个错误,就是前面的一个warn信息
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
原因:max_map_count这个参数就是允许一个进程在VMAs(虚拟内存区域)拥有最大数量,VMA是一个连续的虚拟地址空间,当进程创建一个内存映像文件时VMA的地址空间就会增加,当达到max_map_count了就是返回out
of memory errors。 出现这个问题,我们需要切换到root用户下
解决方案:
//切换到root用户
[MrZhou@hadoop105 bin]$ su root
Password:
[root@hadoop105 bin]#
[root@hadoop105 bin]# vim /etc/sysctl.conf
//添加以下配置
vm.max_map_count=655360
添加完后保存,然后执行
[root@hadoop105 bin]# sysctl -p
vm.max_map_count = 655360
[root@hadoop105 bin]#
接着,由于最大文件打开数量太小,容易出现此错误,所以我们需要修改修改limits.conf配置参数
[root@hadoop105 bin]# vim /etc/security/limits.conf
// * 号也要加
* soft nofile 65536
* hard nofile 65536
切回原来用户,再次重启es,检查ES是否启动成功
[root@hadoop105 bin]# su MrZhou
[MrZhou@hadoop105 bin]$ ./elasticsearch
启动成功后提示,如图所示:
web页面访问
http://hadoop105:9200
至此,Elasticsearch安装完毕。
这种启动方式:后台启动Elasticsearch
关闭命令行或者退出,应用就会关闭
[MrZhou@hadoop105 bin]$ ./elasticsearch
所以,我们需要在后台启动,这样当我们退出时,应用仍在后台运行
[MrZhou@hadoop105 bin]$ ./bin/elasticsearch -d
前台启动,直接ctrl+c退出即可,后台启动,停止时可以直接杀掉进程
//查看进程
[root@hadoop105 config]# jps
8995 Jps
8878 Elasticsearch
//杀Elasticsearch的进程
[root@hadoop105 config]# kill -9 8878
搭建kibana 环境
(1)下载 kibana安装包,解压
自己已经解压了
[root@hadoop105 module]# ll
total 0
drwxr-xr-x. 9 MrZhou MrZhou 155 Feb 17 23:36 elasticsearch-6.6.0
drwxr-xr-x. 13 MrZhou MrZhou 238 Feb 17 06:01 kibana-6.6.0-linux-x86_64
(2)启动
[root@hadoop105 bin]# ./kibana
发现日志错误
访问:
http://hadoop105:5601
kibana外网无法访问
在config/kibana.yml中,有如下配置,意思是默认是localhost,外网是无法访问的,如果外网想访问,那需要修改一下server.host
[root@hadoop105 bin]# cd ../config/
[root@hadoop105 config]# vim kibana.yml
//需改参数
#端口号
server.port: 5601
#服务ip
server.host: "hadoop105"
#服务名
server.name: "kibana"
#ES地址
elasticsearch.hosts: ["http://hadoop105:9200"]
xpack.reporting.encryptionKey: "a_random_string"
xpack.security.encryptionKey: "something_at_least_32_characters"
保存退出后
启动
[MrZhou@hadoop105 bin]$ ./kibana