elasticsearch 安装并搭建集群(lunix)

291 阅读1分钟

安装jdk:

#rpm -ivh jdk-8u65-linux-x64.rpm

设置java环境变量

#vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_65/jre/bin/java
export PATH=$JAVA_HOME/bin:$PATH

安装es需要java环境,如果没有,请先安装jdk

elasticsearch下载地址

#创建用户群组

[root@localhost ~]# groupadd es

#创建用户并加入群组

[root@localhost ~]# useradd -g es es

#赋权限

[root@localhost ~]# chown -R es:es /home/es/

#设定密码

[root@localhost ~]# passwd es

#切换用户

[root@localhost home]# su - es

#解压包

[es@iZuf6629dthbt3ocu8708vZ ~]$ tar -zxvf elasticsearch-6.5.0.tar.gz

#修改jvm启动内存

[es@iZuf6629dthbt3ocu8708vZ ~]$ vi /home/es/elasticsearch-6.5.0/config/jvm.options -Xms512m -Xmx512m

#root 用户执行,设置内核参数

[root@iZuf6629dthbt3ocu8708vZ ~]$ vi /etc/sysctl.conf

添加如下内容:

fs.file-max=65536 vm.max_map_count=262144

#之后可以使用sysctl –a查看 –p刷新

#设置资源参数

[root@iZuf6629dthbt3ocu8708vZ ~]$ vi /etc/security/limits.conf

#添加如下内容:

  • soft nofile 65536
  • hard nofile 131072
  • soft nproc 2048
  • hard nproc 4096

#我选择锁住swapping因此需要在这个配置⽂文件下再增加两⾏行行代码 es soft memlock unlimited es hard memlock unlimited

#重启机器

[root@iZuf6629dthbt3ocu8708vZ ~]$ shutdown -r

#修改进程数

[root@iZuf6629dthbt3ocu8708vZ ~]$ vi /etc/security/limits.d/20-nproc.conf

#修改( * soft nproc )的值为4096

#修改配置文件

[es@iZuf6629dthbt3ocu8708vZ ~]$ vi /home/es/elasticsearch-6.5.0/config/elasticsearch.yml

#集群的名称

cluster.name: hooks-es

#节点名称,其余两个节点分别为node-2 和node-3

node.name: node-1

#指定该节点是否有资格被选举成为master节点,默认是true,es是默认集群中的第⼀一台机器器为

master,如果这台机挂了了就会重新选举master node.master: true

#允许该节点存储数据(默认开启)

node.data: true

#索引数据的存储路路径

path.data: /home/es/elasticsearch-6.5.0/data

#日志文件的存储路路径

path.logs: /home/es/elasticsearch-6.5.0/logs

#设置为true来锁住内存。因为内存交换到磁盘对服务器器性能来说是致命的,当jvm开始

swapping时es的效率会降低,所以要保证它不swap bootstrap.memory_lock: true

#绑定的ip地址

network.host: 0.0.0.0

#设置对外服务的http端⼝口,默认为9200

http.port: 8200

#设置节点间交互的tcp端⼝口,默认是9300

transport.tcp.port: 8300

#Elasticsearch将绑定到可⽤用的环回地址,并将扫描端⼝口9300到9305以尝试连接到运行在同一

台服务器器上的其他节点。

#这提供了自动集群体验,而无需进行任何配置。数组设置或逗号分隔的设置。每个值的形式应该是host:port或host

#(如果没有设置,port默认设置会transport.profiles.default.port 回落到transport.tcp.port)。

#请注意,IPv6主机必须放在括号内。默认为127.0.0.1, [::1] discovery.zen.ping.unicast.hosts: ["47.103.8.5:8300", "47.103.12.2:8300"]

#从节点数量,如果没有这种设置,遭受网络故障的集群就有可能将集群分成两个独⽴立的集群 - 分裂的大脑 - 这将导致数据丢失

discovery.zen.minimum_master_nodes: 2

#关闭防火墙

[root@iZuf6629dthbt3ocu8708vZ ~]systemctl stop firewalld.service
[root@iZuf6629dthbt3ocu8708vZ ~] systemctl disable firewalld.service

#启动

[es@iZuf6629dthbt3ocu8708vZ ~]$ vi /home/es/elasticsearch-6.5.0/bin/elasticsearch -d