Linux系统要求:linux
1、centos6或centos7shell
2、jdk1.8及以上bootstrap
新建一个用户vim
useradd yuankcentos
修改用户密码浏览器
passwd yuank网络
切换到yuank用户jvm
su - yuankelasticsearch
rz 上传安装包elasticsearch-6.2.2.tar.gztcp
解压缩
tar xvf elasticsearch-6.2.2.tar.gz
解压完成后,删除安装包
rm -rf elasticsearch-6.2.2.tar.gz
咱们把目录重命名
mv elasticsearch-6.2.2/ elasticsearch
进入config目录
cd elasticsearch/config/
修改 jvm.options文件(实际开发中通常不用改,由于内存够用,咱们本身电脑玩的话仍是建议改一下,若是是土豪那么请忽略)。
vim jvm.options
咱们看到默认配置是2g
咱们调小一点
修改elasticsearch.yml文件
vi elasticsearch.yml
找到数据目录位置和日志目录位置
修改数据和日志目录:改为咱们新建用户的文件夹下。若是不修改会有自动建立这两个目录。目录在哪自行百度。
接着不要退出,往下看,找到网络
修改成任何网络均可以访问
修改完咱们退出保存
回到elasticsearch目录建立data和logs目录,logs目录默认已经存在能够不用建立
cd ..
建立data目录
mkdir data
进入elasticsearch/bin目录,能够看到下面的执行文件:
cd bin
输入启动命令:
./elasticsearch
这是一个内核太低的错误
使用centos6,其linux内核版本为2.6。而Elasticsearch的插件要求至少3.5以上版本。不过不要紧,咱们禁用这个插件便可。若是使用的是centos7则没有这个报错。
修改elasticsearch.yml文件,在最下面添加之后配置:
bootstrap.system_call_filter: false
修改完再次输入命令启动运行
./elasticsearch
此次一下报了三个错误,咱们逐一分析下
[1] : max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
问题翻译过来就是:yuank用户拥有的可建立文件描述的权限过低,至少须要65536;咱们用的是yuank用户,而不是root,因此文件权限不足。
切换到root用户。
su - root
而后修改配置文件:
vim /etc/security/limits.conf
添加以下内容
#可打开的文件描述符的最大数(软限制) * soft nofile 65536 #可打开的文件描述符的最大数(硬限制) * hard nofile 131072 #单个用户可用的最大进程数量(软限制) * soft nproc 4096 #单个用户可用的最大进程数量(硬限制) * hard nproc 4096
[2] : max number of threads [1024] for user [leyou] is too low, increase to at least [4096]
这是线程数不够。
继续修改配置:
vim /etc/security/limits.d/90-nproc.conf
[3] : max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
问题翻译过来就是:elasticsearch用户拥有的最大虚拟内存过小,至少须要262144;
继续修改配置文件:
vim /etc/sysctl.conf
添加下面内容:
vm.max_map_count=655360
改完退出保存
而后执行命令:
sysctl -p
全部错误修改完毕,必定要重启你的 Xshell终端(或者SecureCRT),不然配置无效。
./elasticsearch
启动成功了
能够看到绑定了两个端口:
- 9300:集群节点间通信接口,接收tcp协议
- 9200:客户端访问接口,接收Http协议
在浏览器中访问:http://192.168.10.128:9200/,若是不能访问,则须要关闭虚拟机防火墙。或者开放9200端口
开放9200端口:
克隆一个会话
vi /etc/sysconfig/iptables
添加9200端口
修改完保存退出
重启防火墙服务
service iptables restart
刷新页面,访问成功
方式二:关闭虚拟机防火墙
CentOS6查看防火墙的状态:
service iptables status
CentOS 6关闭防火墙
servcie iptables stop --临时关闭防火墙
chkconfig iptables off --永久关闭防火墙
CentOS7
查看防火墙:firewall-cmd --state
关闭防火墙:systemctl stop firewalld.service
禁止开机启动防火墙:systemctl disable firewalld.service