按照惯例首先是几个参考链接
安装1 安装2,启动时候的问题1 启动问题2
防火墙命令
es需要安装jdk8的版本,查看linux上是否有jdk及其版本:java -version
jdk的安装和配置这里就不说了。
可以使用wget从官网上下载tar包进行安装
简要说一下我的步骤:
cd /data
mkdir elastic
cd elastic
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.13.tar.gz
tar -zxvf elasticsearch-5.6.13.tar.gz
以上命令我把es放在了elastic文件夹下。这里先说一下,es是不能用root用户运行的,所以我这里用的都是一个普通的用户,如果没有mkdir等权限的话,使用sudo命令。
以上下载,解压完成。
上面说过了es不能再root用户下运行,所以要先给es改变组和用户。这里不要像参考链接里的那样去创建组(groupadd 组名,useradd 用户名),因为那样之后还要去切换到新建的用户,并且还有密码什么的问题。所以直接使用当前的非root用户来改变es的组名和用户名就好
chown -R 非root用户名:非root组名 elasticsearch-5.6.13
mkdir /data/elastic/data
mkdir /data/elastic/logs
cd /data/elastic
chown -R 非root用户名:非root组名 data
chown -R 非root用户名:非root组名 logs
若要修改es数据和日志的存储路径,也需要对对应文件夹授权
新建这两个目录是为了不把这些重要的文件放在es的安装目录里面,这里只是建立了文件夹,并且改变了用户和组,之后还要在elasticsearch.yml配置文件中修改这个path。
先进入es的安装目录,然后编辑es配置文件。
vi config/elasticsearch.yml
可以改变集群的名字,节点的名字,path.data和path.logs,network.host
cluster.name: my-application
node.name: node-1
path.data: /data/elastic/data
path.logs: /data/elastic/logs
network.host: 该机器的ip
这个ip指定之后其他的机器就可以用这个网址访问了,不改的话只有本机的localhost能访问。
./bin/elasticsearch
或者后台运行
./bin/elasticsearch -d
没有问题的话就可以访问了。
curl ‘http://配置的ip:9200/'
如果没有修改yml文件中的host,就是127.0.0.1访问。
运行正确,会出现es的名称,版本号等信息。还有一句话“You Know, for Search”
两种,前台运行的话,直接ctrl + c就可以了
后台运行的话,找出es的pid,然后杀死进程。
ps -ef | grep elasticsearch
kill -9 pid
这些问题,是在前台启动的时候,es打印在窗口上可以看到的warning
每个进程最大同时打开文件数太小
vi /etc/security/limits.conf
在这个文件末尾添加
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
重新使用xshell连接linux就生效了,即用户退出后重新登录生效。可以使用下面的命令查看
ulimit -Hn
ulimit -Sn
vi /etc/sysctl.conf
增加下面的配置
vm.max_map_count=655360
然后执行以下命令生效
sysctl -p
sysctl -a | grep "vm.max_map_count"命令查看修改是否生效
这个就是当前执行es的用户没有这个文件夹的权限,就是上面说的那句话chown改完就可以了。
最大线程数太少
vi /etc/security/limits.conf
添加以下两行
* soft nproc 4096
* hard nproc 4096
保存并关闭后
可以使用以下命令查看是否更改生效
ulimit -Hu
ulimit -Su
可以在windows里面用kibana来访问。访问的地址需要在刚才的netword.host里面配置ip地址。并且和防火墙可能有关。
# 查看防火墙状态
service iptables status
# 停止防火墙
service iptables stop
# 启动防火墙
service iptables start
# 永久关闭防火墙
chkconfig iptables off
# 永久关闭后重启
chkconfig iptables on