1.环境
CentOS7 jdk1.8 elasticsearch 5.4.3
首先在已经装好CentOS7的基础上克隆三台机器,要想克隆后继续克隆需要给机器装备CentOS镜像
2.首先单节点安装ES
- 上传ES安装包
- 创建普通的用户,赋予权限
#es启动时需要使用非root用户,所有创建一个node1用户:
useradd node1
#为node1用户添加密码:
echo 123456| passwd --stdin node1
#将node1添加到sudoers,这是重新创建一个用户组,他有着自己的home/node1目录
echo "node1ALL = (root) NOPASSWD:ALL" | tee /etc/sudoers.d/node1
chmod 0440 /etc/sudoers.d/node1
#修改配置文件sudo vim /etc/sudoers
root ALL=(ALL) ALL
node1 ALL=(ALL) ALL
配置完成以后使用node1用户登陆:
查看防火墙状态: firewall-cmd --state
永久关闭防火墙: systemctl disable firewalld.service
#但是如果普通用户无法访问root 用户下的目录,上传的文件是在这个目录下的,所以更改权限
打开控制台,切换ROOT用户输入su,输入密码,然后输入以下命令:
chmod 777 /root
3.解压文件夹到bigdata目录
tar -zxvf elasticsearch-5.4.3.tar.gz bigdata/
4.修改配置文件config/elasticsearch.yml
network.host: 192.168.203.128 #这个如果不修改它只会绑定在虚拟机上,无妨从外部浏览器访问。
5.修改用户最大可创建文件数
sudo vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
#修改最大虚拟内存
sudo vi /etc/sysctl.conf
vm.max_map_count=262144
6.切换到root用户重启虚拟机, shutdown -r now
7.启动es的时候报错,
这个错误的原因是前用户操作的文件夹不属于当前的用户
所以修改一下
chown -R node1:node1/{bigdata,data}
再次启动:
在第二,三台虚拟机上安装es(当然可以在安装一台es后直接克隆三台,没试过,不知道能不能成功,storm试过可以成功)
三台单节点的机器启动成功,现在需要将他们组成集群
修改虚拟机名字: hostnamectl set-hostname
修改yml文件,vi /bigdata/elasticsearch-5.4.3/config/elasticsearch.yml
#集群名称,通过组播的方式通信,通过名称判断属于哪个集群
cluster.name: my-es
#节点名称,要唯一
node.name: node1
#数据存放位置
path.data: /data/es/data
#日志存放位置(可选)
path.logs: /data/es/logs
#es绑定的ip地址
network.host: 192.168.203.128
#初始化时可进行选举的节点
discovery.zen.ping.unicast.hosts: ["node-1", "node-2", "node-3"]
修改host文件
192.168.203.128 node1
192.168.203.129 node2
129.168.203.130 node3
这样的话可能启动会报错:原因:这个目录处于root的权限下面,访问文件失败从根目录开始的,根目录在root权限下面所以计 就算子目录改了权限,在es启动的时候也访问不到。不要想着去修改原本文件夹目录的权限,比如修改usr文件夹的访问权限
sudo chown -R node1:node1 usr
这样做的后果就是无法再使用sudo的命令,如果不幸你这样做了还好我找到了补救的措施
现在将其恢复,登陆root用户,
chown -R root:root usr/ 将usr文件夹改为root权限
chmod 4755 /usr/bin/sudo
sudo -i
chmod +s /bin/su
依次执行完就可以了,现在有面临es数据日志的存放目录的问题了
在/目录下新建一个data文件,然会赋值为node1的权限即可
然后就是启动集群,加上-d就是后台启动,擦好看集群的健康状态
http://192.168.203.128:9200/_cluster/health?pretty
ok 没有问题,
接下来会教大家如何安装ES的插件,敬请期待。。。。