ES6.5分布式集群搭建
环境:suse11,无外网环境
前期环境配置
JDK环境
由于系统的整体jdk环境为1.7,而我们没有权限修改全局的环境变量。,所以我改了.bash_profile文件,然后source了一下。
Tips:
- /etc/profile是全局用户的系统环境配置
- ~/.bash_profile 是私人用户的系统环境配置 ,开机时候自动扫描该配置
- ~/,bash_login 如果bash_profile文件没有找到,会去寻找该文件
- ~/.profile 如果没有bash_profile和bash_login文件,会去寻找该文件
系统参数
需要超级管理员调整一下参数
主要调整下面几个参数:
/etc/security/limits.conf
#add following parameters
* soft nofile 65536
* hard nofile 65536
* soft memlock unlimited
* hard memlock unlimited
* soft nporc 2048
* hard nporc 2048
#修改后查看是否生效
ulimit -Hn
ulimit -Sn
/etc/sysctl.conf
vm.map_map_count = 65536
#修改过之后立即生效
sysctl -p
开始搭建
三台机器配置完毕后,修改各自ES的配置文件,主要修改内容如下
#需要注意的点:,冒号后面,value前面需要一个空格
#集群名称保持一致
cluster.name: elk
#节点名称需要修改为各自的节点名
node.name: node1
#path.data和path.logs可以自己指定目录,不然默认在es文件夹下面
path.data: /path/to/data
path.logs: /path/to/logs
#host可以写ip地址,如果配置了域名代理,可以使用域名
network.host: node1
#端口号默认就可以,9200,如有需要可以任意修改
http.port: 9200
#tcp的通讯端口默认是9300
transport.tcp.port: 9300
#es默认用的是自带的系统协调组件,和zk类似
discovery.zen.ping.unicast.hosts: ["node1:9200","node2:9200","node3:9200"]
#为了防止脑裂问题出现,控制选举行为发生的最小集群主节点数目为(n/2)+1,n为主节点数
discovery.zen.minimum_master_nodes: 2
#因为需要跨服务器访问,所以需要允许外部访问
http.cors.enabled: true
http.cors.allow-origin: "*"
#放开进程的内存限制
boostrap.memory_lock: false
这样就配置完成了,启动程序就可以辽、
bin/elasticsearch -d #后台启动运行,日志就在配置文件中写的地方
分布式集群就这样搭建完成了,由于没有root用户1权限,所以导致我搭建的时候有一些坎坷。
网友评论