ps:有两种安装方式:

1 所有的操作都在root下进行,最后再对其进行权限修改,因为这个集群要求的是需要用非root用户实现启动

2 直接在非root用户下进行操作,这样造成的结果就是每次操作都需要注意权限问题,需要加sudo,个人觉得第二种方法比较复杂,所以用的第一种方式.

下面以第一种方式为例,进行集群的搭建

1 首先,es启动时需要使用非root用户,所以创建一个bigdata用户(node1 node2 node3下都需要),这些操作都需要在root用户下进行

useradd bigdata
 #为bigdata用户添加密码:
 echo 123456 | passwd --stdin bigdata
 #将bigdata添加到sudoers
 echo “bigdata ALL = (root) NOPASSWD:ALL” | tee /etc/sudoers.d/bigdata
 chmod 0440 /etc/sudoers.d/bigdata
 #ps:如果报错的话,解决sudo: sorry, you must have a tty to run sudo问题,在/etc/sudoers注释掉 Default requiretty 一行sudo sed -i ‘s/Defaults requiretty/Defaults:bigdata !requiretty/’ /etc/sudoers(因为没有遇到这个错误,所以不需要管这个,直接下一步即可)

2 这些都在root下进行

#创建一个bigdata目录(在根目录下创建bigdata和data目录)

mkdir /{bigdata,data}

1.安装jdk(jdk要求1.8.20或1.7.55以上)(以前有的话就不用装了)

2.上传es安装包

将elasticsearch-2.4.4.tar.gz上传到root下(或者上传到你的任意目录下,最好是你经常放这些文件的地方)

3.解压es

tar -zxvf elasticsearch-2.4.4.tar.gz -C /bigdata/

4.elasticsearch-2.4.4目录下创建plugins文件夹并添加权限mkdir plugins

[root@node1 elasticsearch-2.4.4]# mkdir plugins
 [root@node1 elasticsearch-2.4.4]# ll
 drwxr-xr-x 2 root root 4096 Mar 6 18:09 plugins

ps:在这里我们先不添加权限,最后统一修改

5.安装plugin插件

首先需要手动在es根目录下手动创建plugins目录(即第四步)

#远程安装插件

bin/plugin install mobz/elasticsearch-head(我选择的是远程安装插件)

#本地方式安装head插件

$ElasticSearch/bin/plugin install file:///home/bigdata/elasticsearch-head-master.zip

这是安装成功标志:

es集群开启账号密码 es加入集群_es集群开启账号密码

6 修改配置

vi /bigdata/elasticsearch-2.4.4/config/elasticsearch.yml
 #集群名称,通过组播的方式通信,通过名称判断属于哪个集群
cluster.name: es
 #节点名称,要唯一
node.name: es-1
 #数据存放位置
 path.data: /data/es/data
 #日志存放位置
 path.logs: /data/es/logs
 #es绑定的ip地址
 network.host: 127.0.0.1
 #初始化时可进行选举的节点
 discovery.zen.ping.unicast.hosts: [“node01”, “node02”, “node03”]

7.使用scp拷贝到其他节点(注意是在bigdata目录下分发)

scp -r elasticsearch-2.4.4/ node02:es集群开启账号密码 es加入集群_es集群开启账号密码_02PWD

然后在node02和node03下进行以下操作,看看是否跟node01一样了,下面以node02为例查看

8.在其他节点上修改es配置,需要修改的有node.name和network.host

分别修改为node.name:es-2 network.host: 127.0.0.2

node.name:es-3 network.host: 127.0.0.3

9 .然后修改权限为非root用户

因为我刚开始没修改权限,所有的都是在root下搞的,所以在此要修改权限为别的

es集群开启账号密码 es加入集群_root用户_03


此处报错,就是因为没有新建非root用户**,所以第一步很重要**,我们一定记得先在三台机器上新建非root用户,即useradd bigdata

然后修改权限,以node01为例:

修改权限前全部为root类型,修改之后为bigdata类型

es集群开启账号密码 es加入集群_root用户_04


这是修改后:指令为chown -R bigdata:bigdata {bigdata,data}

es集群开启账号密码 es加入集群_es集群开启账号密码_05


然后查看下elasticsearch-2.4.4下的目录类型是否为bigdata(查看指令为:ll),是的话就正确

es集群开启账号密码 es加入集群_上传_06


然后node02和node03都进行这样的操作,查看一下是否将root权限改为bigdata权限了

10.启动es(/bigdata/elasticsearch-2.4.4/bin/elasticsearch -h查看帮助文档)

/bigdata/elasticsearch-2.4.4/bin/elasticsearch -d(这是启动指令)

ps:一定要用非root用户启动,务必,就要保证elasticsearch-2.4.4下的所有权限为bigdata

如果一不下心用root用户启动了,那么用非root用户也无法启动;此时就要找到日志(cd /data/es/logs ll),将root权限的日志删除掉或者改为bigdata权限的.

以node01为例:只要看到Elasticsearch节点就说明正确了(node02,node03都要启动一下)

es集群开启账号密码 es加入集群_es集群开启账号密码_07


11 用浏览器访问es所在机器的9200端口

ps:截止到第10步就算成功了,11步是查看页面展示项目,有页面展示

我也是第一次学习,不足之处大家多多指教!!!