1.首先必须关闭虚拟机的防火墙(如不关闭防火墙,需要开放端口,目前没测试该情况)
停止防火墙命令:systemctl stop firewalld.service
禁止开机启动防火墙命令:systemctl disable firewalld.service
关闭selinux :进入到/etc/selinux/config文件,vi /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled
2.设置本机地址(centos7下是需要设置静态IP)
vi/etc/sysconfig/network-scripts/ifcfg-eth0
将BOOTPROTO 设置为static,onboot= yes
新增 IPADDR,GATEWAY,NETMASK,DNS 属性
设置完成后,重启network:systemctl restart network
3.安装ifconfig
yuminstall net-tools.x86_64
4. 安装wget
yuminstall wget
5.设置hosts
vi/etc/ hosts
需要将相关节点全部设置
6.安装ES
先安装java环境,这里采用懒人一键安装方式
yum install java*
配置
vim /etc/profile
在尾部加上
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.91.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
保存退出后更新配置
source /etc/profile
这个命令避免对java不熟悉的开发人员的误操作,能够避免学习繁杂的知识点。
下面安装ES
Wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/rpm/elasticsearch/2.3.5/elasticsearch-2.3.5.rpm
rpm
-ivh elasticsearch-2.3.5.rpm
7.启动并查看安装状态
systemctl start elasticsearch
systemctl status elasticsearch
8.本地查看版本信息
curl-XGET "127.0.0.1:9200"
9.查找elasticsearch 安装路径与配置路径,并且配置
whereis elasticsearch
vim/etc/elasticsearch/elasticsearch.yml
修改:
保存退出后重启elasticsearch
systemctl restart elasticsearch
在浏览器访问虚拟机ip:9200
10.重启虚拟机
reboot
11.设置集群
环境
三台centos7的机器,每台机器上都已安装好elasticsearch:
Hostnameip
node1 192.168.1.128
node2 192.168.1.129
node3 192.168.1.130
添加hosts
每个节点,用vim打开/etc/hosts,然后添加以下内容:
192.168.163.128 node1
192.168.163.129 node2
192.168.163.130 node3
其中node1、node2、node3即为集群中三台机器的hostname。
修改配置文件
如ES已经安装完成,我们需要修改Elasticsearch的默认配置项。所有的配置文件位于/etc/elasticsearch/目录下面
由于我们做的是Elasticsearch的集群配置,所以我们要按照集群的方法进行配置。Elasticsearch的配置文件是/etc/elasticsearch/elasticsearch.yml:
# vim /etc/elasticsearch/elasticsearch.yml
我们以node1机器为例:
cluster.name: wooyoo-es
node.name: node1
network.host: node1
discovery.zen.ping.unicast.hosts: ["node1", "node2","node3"]
discovery.zen.minimum_master_nodes: 2
另外,由于我们通过rpm方式安装,所以我们无需配置日志和数据存储的路径,日志默认的路径为/var/log/elasticsearch,数据的默认路径为/var/data/elasticsearch。
配置文件的修改操作,每个节点都要执行一遍。
启动Elasticsearch
由于我们是通过rpm的方式进行安装,所以直接通过启动脚本进行启动即可:
# /etc/init.d/elasticsearch start
如果是停止,或者重启的话,对应的参数就是stop和restart。或者我们用systemctl来启动:
# systemctl start elasticsearch
当每个节点都启动之后,我们来确认一下每个节点的启动状态。启动信息可以通过查看/var/log/elasticsearch/wooyoo-es.log该日志文件。如果某个节点被选为了master,那么日志中就会出现对应的信息,我们查看node2节点的日志:
[2016-12-25T21:27:29,788][INFO ][o.e.c.s.ClusterService ] [node2] new_master{node2}{HYeMegH7QCamfOuvv5rqYQ}{ImIkUQkvRbC2tOxCoSTKdw}{node2}{192.168.163.129:9300},added{{node1}{eGLt364yRZiRDWROmIkVhw}{uKnUR0fBTASgxgMkqRS3OQ}{node1}{192.168.163.128:9300},},reason: zen-disco-elected-as-master ([1] nodesjoined)[{node1}{eGLt364yRZiRDWROmIkVhw}{uKnUR0fBTASgxgMkqRS3OQ}{node1}{192.168.163.128:9300}]
[2016-12-25T21:27:30,350][INFO ][o.e.c.s.ClusterService ] [node2] added{{node3}{Q1QfOueFQR-jKJ6j2QV7jg}{NsTdYP9GRxygcfEgTrcBrg}{node3}{192.168.163.130:9300},},reason:zen-disco-node-join[{node3}{Q1QfOueFQR-jKJ6j2QV7jg}{NsTdYP9GRxygcfEgTrcBrg}{node3}{192.168.163.130:9300}]
通过日志可以看到,new_master表示node2被选为了master节点,added表示有其他slave节点添加进了集群,added一共出现了两次,对应的分别是node1节点和node3节点。
至此,Elasticsearch集群已经搭建成功。