一、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
./bin/elasticsearch
执行之前就得修改配置文件: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
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: false
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: false
补充:修改的地方大家对比一下就很清楚了,如果配置更多台机器,上面方法照搬即可。
三、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 nodejs
源码安装方法如下:
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
cd elasticsearch-head-master
npm install -g grunt-cli //执行后会生成node_modules文件夹
npm install
5.0以上,elasticsearch-head 不能放在elasticsearch的 plugins、modules 目录下,否则elasticsearch启动会报错
修改vim Gruntfile.js文件:增加hostname属性,设置为*
connect: {
server: {
options: {
port: 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/请检查防火墙是否关闭。
下面看一我的集群信息: