1、安装环境:
CenOs7、内存2G、java1.8
2、elasticSearch是基于Lucene的,用java写的,有什么好处?只要有jvm虚拟机在,解压就直接可以跑了,反而之前的fastdfs用c写的复杂更多。
3、现在/opt目录下,创建一个mkdir es目录,上传到linux系统的/opt/es目录下:
4、cd /opt/es
5、给予所有压缩包权限chmod 777 *
6、tar -zxvf elasticsearch-6.3.1.tar.gz解压文件。
并且chmod 777 -R elasticsearch-6.3.1授权所有用户的权限,真实企业当中是不允许这么干的,本来6.0的版本就是为了解决防止黑客获取root权限的,这里测试使用,先777权限,否则下面很多配置不能运行的。
7、配置es使用最大的线程数、最大内存数、访问的最大文件数为开放状态,否则Linux不会授权一个软件这么大的线程和文件数。
在es 7.0版本中的话,则只需配置最大文件数就行了。
8、cd到bin目录下,直接启动,会报权限的错误!不能使用root用户启动!!!需要改成其他用户启动才行。
9、这里新增一个用户es,并切换到es用户:
adduser es
su es
10、使用es用户启动,继续报错:es使用jvm内存太小,嫌弃你的配置太小,拒绝启动
11、修改主配置文件:elasticsearch.yml(集群配置文件) jvm.options(jvm配置文件)
12、现在修改jvm.options配置文件,现在只是测试,没必要设置那么大,这里改成256m
13、配置elasticsearch.yml(集群配置文件)的host文件(配成本机地址,运行访问)
14、es用户去bin目录运行命令./elasticsearch启动es
继续报错(视频讲师里的报错):
来自es报错的鄙视
(1)机器访问的最大文件数为4096太low了,至少要增加到65536
(2)机器的最大线程数为3851太low了,至少要增加到4096
(3)机器的最大内存数为65530太low了,至少要增加到262144
我的报错:
(1)机器访问的最大文件数为4096太low了,至少要增加到65536
(2)机器最大内存数为65530太low了,至少要增加到262144
15、解决方案:
(1)
修改文件vi /etc/security/limits.conf
nofile - 打开文件的最大数目
noproc - 进程的最大数目
soft 指的是当前系统生效的设置值
hard 表明系统中所能设定的最大值
加入以下命令:
* hard nofile 655360
* soft nofile 131072
* hard nproc 4096
* soft nproc 2048
(2)
修改文件vi /etc/sysctl.conf
加入以下命令
vm.max_map_count=655360
fs.file-max=655360
使用命令:sysctl -p让他生效
16、至此单机的es所有的配置文件都配好了,总共配了4处地方:
elasticSearch.yml es的启动host地址
jvm.option 配置es的虚拟机内存
limit.conf 配置linux的线程、内存和文件
Sysctl.conf 配置系统运行的软件运行内存
17、cd到bin目录运行命令./elasticsearch启动es,启动成功:
成功访问: