redhat6.4 elasticsearch1.7.3安装配置

 

 

利用elasticsearch管理集群索引, 今天刚好需要重新调整elasticsearch的最大内存, 所以自己安装了练手

附件: elasticsearch

附件:elasticsearch-head-master

附带head插件完整版(在用):elasticsearch-1.7.3.tar.gz, 密码:5g7o

1.下载后直接解压修改配置文件

tar -zxvf  elasticsearch-1.7.3.tar.gz
我是解压后直接扔到/usr/local下面

然后进入config下,修改elasticsearch.yml

下面是需要修改的内容

cluster.name:  elasticsearch
#这是集群名字,我们 起名为 elasticsearch。es启动后会将具有相同集群名字的节点放到一个集群下。

node.name: "es-node1"
#节点名字。

covery.zen.minimum_master_nodes: 2
#指定集群中的节点中有几个有master资格的节点。对于大集群可以写3个以上。

discovery.zen.ping.timeout: 40s

#默认是3s,这是设置集群中自动发现其它节点时ping连接超时时间,为避免因为网络差而导致启动报错,我设成了40s。

discovery.zen.ping.multicast.enabled: false
#设置是否打开多播发现节点,默认是true。

network.bind_host: 192.168.137.100
#设置绑定的ip地址,这是我的master虚拟机的IP。

network.publish_host: 192.168.137.100
#设置其它节点和该节点交互的ip地址。

network.host: 192.168.137.100
#同时设置bind_host和publish_host上面两个参数。

transport.tcp.port: 9300

# Enable compression for all communication between nodes (disabled by default):
#
#transport.tcp.compress: true

# Set a custom port to listen for HTTP traffic:
#
http.port: 9200

discovery.zen.ping.unicast.hosts: ["192.168.137.100",  "192.168.137.101","192.168.137.100:9301"]
#discovery.zen.ping.unicast.hosts:["节点1的 ip","节点2 的ip","节点3的ip"]

  

2.运行&关闭

跑到elasticsearch 的bin里面

前台运行
./elasticsearch -Xms512m -Xmx512m

后台运行
./elasticsearch -d -Xms512m -Xmx512m

Xms与Xmx有什么区别呢
Xms启动栈大小
Xmx程序使用的最大内存



关闭的话
前台肯定就是CTRL+C
后台就kill pid吧

3.访问

ip+port

前提是要iptables放开9200端口通行
我一般用下面这句
iptables -I INPUT -p tcp --dport 9200 -j ACCEPT	
然后保存规则
service iptables save
重启防火墙
service iptables restart

然后浏览器访问:

  

4.安装插下面演示在线安装与离线安装在线安装:跑到elasticsearch的bin下面

(1)安装head插件
./plugin -install mobz/elasticsearch-head

(2)安装bigdesk
./plugin -install lukas-vlcek/bigdesk

安装完成后会在elasticsearch目录下生成plugins这么一个文件夹



离线安装:
自己下载head插件, 就是上面的elasticsearch-head-master.zip, 然后在elasticsearch目录下建一个plugins/head文件夹, 把下载好的插件解压扔进plugins/head里面, ok!
再访问一下

连接地址:http://192.168.158.128:9200/_plugin/head/

 下面介绍一下集群环境

 

这是一个Elasticsearch集群, 下面的是在一台机器上部署了两个Elasticsearch, 如果需要实现在一台机器上部署多个Elasticsearch, 只需要把配置文件中的bootstrap.mlockall: true注释掉即可, 如果开放这个属性在一对多的情况下会启动失败, 具体原因不详, 可能跟jdk有啥冲突之类的。

然后就是端口与防火墙的问题,下面是我使用的详情

192.168.158.128   9200 9300

192.168.158.131   9200 9300

192.168.158.131_2 9201 9301

防火墙的话记得添加规则,由于我这里使用的是redhat跟fedord, 一个是iptables和firewall

iptables: 

iptables -I INPUT -p tcp --dport 9300 -j ACCEPT

iptables -I INPUT -p tcp --dport 9200 -j ACCEPT

firewall: 

firewall-cmd --permanent --zone=public --add-port=9201/tcp

firewall-cmd --permanent --zone=public --add-port=9301/tcp

端口自行更改。还有就是udp的问题, 如需放开udp则

firewall-cmd --permanent --zone=public --add-port=9201/udp

或者直接干掉防火墙(不推荐)。

service iptables stop

systemctl stop firewalld.service

部署好后全部启动, 然后Elasticsearch会自动寻找同一网段的es节点。

在某种情况下, 比如现在的master是node_131, 当他挂掉后, Elasticsearch会自动竞选出最佳master节点

当之前的node_131恢复后,没有跳回, 防止脑裂!

 

posted @ 2017-08-24 11:15  扶苏公子x  阅读(372)  评论(0编辑  收藏  举报