一、ElasticSearch5.6.3下载安装步骤

说明:ElasticSearch的运行不能用root执行,自己用useradd命令新建一个用户如下所示:

useradd chen
passwd chen 然后根据提示输入密码即可

下载地址:​​https://www.elastic.co/downloads/elasticsearch​​ 下载最新的安装包并解压、然后执行、命令如下:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.3.tar.gz

tar -zxvf elasticsearch-5.6.3
cd elasticsearch-5.6.3

执行之前就得修改配置文件:vim config/elasticsearch.yml

vim config/elasticsearch.yml

修改方法参考如下:

cluster.name: elk_test.cluster
node.name: node-01
node.master: true
node.data: true
network.host: 192.168.0.153
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.0.153","192.168.0.154","192.168.0.155"]
#discovery.zen.ping.multicast.enabled: true
discovery.zen.minimum_master_nodes: 2

http.cors.enabled: true
http.cors.allow-origin: "*"

解释说明:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false 一看就知道是关于内用访问的方面的配置

cluster.name 集群名字,同一个集群中使用相同名字,单机就随意
node.name: node-01 节点名字
node.master: 是否为集群的master机器
node.data: true 是否作为数据节点
network.host: 192.168.0.153 这个不用自然是配置ip地址的
http.port: 9200 端口号,不配置的话默认9200
discovery.zen.ping.unicast.hosts: [“192.168.0.153”,”192.168.0.154”,”192.168.0.155”] 这个就是配置集群的时候要用的到了,[]中填上集群中其他集群的ip的地址,如果是master的话请把所有salve的机器地址填上
discovery.zen.minimum_master_nodes: 2 关于这个值配置多少合适的话大家去搜一下,自己权衡一下集群,这里我用了3台机器模拟集群,所以填上2。
http.cors.enabled: true 这个参数的设置和下面一个配置就关于ip的访问策略了,如果你发现其他ip地址访问不了就有可以这参数没有配置
http.cors.allow-origin: “*”

如果你碰到错误不要慌下面有解决方法:
- 1、max file descriptor
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方法,请用root权限修改,修改完记得重启elasticsearch和使用配置参数在环境里面生效(重新登录用户):(如果还有错误请把数字再设置大一点)

vi /etc/security/limits.conf 

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096
  • 2、max number of threads
    max number of threads [1024] for user [user] is too low, increase to at least [2048]
    解决方法: (* 表示对所有用户有效)
vi /etc/security/limits.d/90-nproc.conf 
#修改内容如下
* soft nproc 1024
  • 3、在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:
    bootstrap.memory_lock: false
    bootstrap.system_call_filter: false
  • 4、错误:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    临时设置:sudo sysctl -w vm.max_map_count=262144
    永久修改:
    修改/etc/sysctl.conf 文件,添加 “vm.max_map_count”设置
    并执行:sysctl -p

二、集群安装、
这里使用三台机器模拟ElasticSearch集群,这三台的ip地址是如下:

"192.168.0.153"
"192.168.0.154"
"192.168.0.155"

上面我已近在192.168.0.153机器安装了好了ElasticSearch,剩下的就是分别按照上面的方法在154和155这两台机器上安装好ElasticSearch,然后只需要把配置文件elasticsearch.yml略作修改即可,读者自动对比上面

192.168.0.154的配置

cluster.name: elk_test.cluster
node.name: node-04

node.master: true
node.data: true

network.host: 0.0.0.0
http.port: 9200

discovery.zen.ping.unicast.hosts: ["192.168.0.153"]
#discovery.zen.ping.multicast.enabled: true

http.cors.enabled: true
http.cors.allow-origin: "*"

bootstrap.memory_lock: false
bootstrap.system_call_filter:

192.168.0.155的配置

cluster.name: elk_test.cluster
node.name: node-05

node.master: false
node.data: true

network.host: 0.0.0.0
http.port: 9200

discovery.zen.ping.unicast.hosts: ["192.168.0.153"]
#discovery.zen.ping.multicast.enabled: true

http.cors.enabled: true
http.cors.allow-origin: "*"

bootstrap.memory_lock: false
bootstrap.system_call_filter:

补充:修改的地方大家对比一下就很清楚了,如果配置更多台机器,上面方法照搬即可。

三、head插件的安装

说明:5.6版本好像不能再用/bin/plugin -install mobz/elasticsearch-head安装了,步骤好像有点复杂,不过不打紧,按照下面安装步骤即可:
- 1、下载head插件
在github上 ​​​https://github.com/mobz/elasticsearch-head/archive/master.zip​​下载插件,命令如下:

wget https://github.com/mobz/elasticsearch-head/archive/master.zip
unzip
cd elasticsearch-head-master
curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install -y

源码安装方法如下:

yum -y install gcc make gcc-c++ openssl-devel wget
下载源码及解压:
wget http://nodejs.org/dist/v0.10.26/node-v0.10.26.tar.gz
tar -zvxf node-v0.10.26.tar.gz
编译及安装:
cd node-v0.10.26
make && make install
验证是否安装配置成功:
node -v
  • 3、安装grunt
    grunt是一个很方便的构建工具,可以进行打包压缩、测试、执行等等的工作,5.6里的head插件就是通过grunt启动的。因此需要安装一下grunt:
cd elasticsearch-head-master
npm install -g grunt-cli //执行后会生成node_modules文件夹

5.0以上,elasticsearch-head 不能放在elasticsearch的 plugins、modules 目录下,否则elasticsearch启动会报错

修改vim Gruntfile.js文件:增加hostname属性,设置为*

connect: {
server:9100,
hostname: '*',
base: '.',
keepalive: true
}
}
}

修改 vim _site/app.js 文件:修改head的连接地址:
this.base_uri = this.config.base_uri || this.prefs.get(“app-base_uri”) || “​​​http://localhost:9200​​​“;
修改成ElasticSearch的机器地址
this.base_uri = this.config.base_uri || this.prefs.get(“app-base_uri”) || “​​​http://192.168.0.153:9200​​“;

修改完成你就可以启动head插件了:在 elasticsearch-head-master下启动服务

cd  elasticsearch-head-master
grunt server & #后台启动

访问地址:​​http://192.168.0.153:9100​

如果你在浏览器中访问不了​​http://192.168.0.153:9100/​​请检查防火墙是否关闭。

下面看一我的集群信息:

ElasticSearch5.6.3的安装部署以及集群部署、ElasticSearch-head的安装_elk集群安装