解压安装包
[root@Aliyun resource]# tar -xvf elasticsearch-5.5.2.tar.gz
添加当前主机的普通账户
[root@Aliyun resource]# groupadd es
[root@Aliyun resource]# useradd es -g es -p es
解释:root为最高权限的管理员用户,es在启动时不允许使用root用户,所以我们创建一个普通账户es,登录密码es来管理elasticsearch的启动和调用,从此处开始#的命令表示root用户执行,$的命令提示表示普通用户
root用户个es用户添加操作访问elasticsearch的权限
[root@Aliyun resource]# chown -R es:es elasticsearch-5.5.2
[root@Aliyun ~]# su es
修改es启动占用的内存空间(云主机一般不需要)
解释:默认情况下,es启动互检测内存2G,对云主机内存不足的情况有所限制,虚拟机更需要修改,需要修改占用的内存空间,512M已经足够了
修改es根目录下config目录的jvm.options
[root@Aliyun config]# vim jvm.options
修改
尝试启动es测试
在es的根目录的bin目录下执行启动文件命令elasticsearch
[es@Aliyun bin]$ ./elasticsearch
es启动后,提供一个9200的端口进行http协议访问,这里可以调用linux的curl命令测试es程序,
但是没有开启对外访问的设置,只能使用localhost访问
[root@Aliyun ~]# curl localhost:9200
重新启动
启动异常:原因是linux版本导致,不影响使用后续解决
unable to install syscall filter: java.lang.UnsupportedOperationException: seccomp unavailable: CONFIG_SECCOMP not compiled into kernel, CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed
在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:
42行:bootstrap.memory_lock: false
添加:bootstrap.system_call_filter: false
[root@Aliyun config]# vim elasticsearch.yml
后台启动和关闭es
关闭
在前面使用的启动过程中,es的启动程序占用了控制台,如果需要关闭直接ctrl+c停止控制台使用即可,
默认的启动方式并不方便,占用的控制台一旦关闭会造成es程序停止,所以需要后台启动
后台启动
动态观察日志
[root@Aliyun logs]# tail -f ***.log
在普通用户执行启动命令时添加-d的选项表示后台运行
[es@Aliyun bin]$ ./elasticsearch -d
使用crul测试依然成功表示程序正常运行
[es@Aliyun bin]$ curl localhost:9200
关闭后台启动的进程
调用java的jps命令查看启动的jvm进程
[root@Aliyun ~]# jps
或者直接调用linux查看进程命令
[root@Aliyun ~]# ps -ef|grep elasticsearch
无论是哪个命令都是为了找到es启动的id号
确定pid后直接调用kill命令杀掉进程即可关闭es
[root@Aliyun ~]# kill 11423
安装启动es到此结束
尚存的问题
无法对外提供访问和使用
通过内部命令可以访问es进程,但是从外网访问ip+端口访问无效
没有集群提供高可用
单点的es可以完成创建索引,搜索功能,但是高可用集群才是es的使用途径