centos 7安装部署 Elasticsearch 6.6.0 三节点集群

centos 7安装部署 Elasticsearch 集群

环境准备

准备三个主机,IP分别为192.168.100.1,192.168.100.2,192.168.100.3
三个主机最好都有一块数据盘(2T)

三个主机安装java环境

  1. 先查看本地是否自带java环境
yum list installed |grep java
  1. 卸载自带的java(注:需要root权限)
yum -y remove java-1.8.0-openjdk* 
yum -y remove tzdata-java*
  1. 下载jdk

这里不能使用wget下载因为:
去Oracle官网下载过jdk的应该都知道,下载之前需要同意Oracle的安装协议,不然不能下载,但是用wget的方式,默认是不同意,虽然能下载下来,但是下载下来的文件会有问题,所以在Linux上解压一直失败。
wget下载后解压会报如下错误。

[root@localhost ~]# tar -xvf jdk-8u171-linux-x64.tar.gz 

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

所以这里需要去官网下载后手动上传到服务器上了。

  1. 安装
mkdir -p /usr/local/java
tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local/java/
  1. 添加环境变量,在/etc/profile文件中添加
export JAVA_HOME=/usr/local/java/jdk1.8.0_171
export JRE_HOME=$JAVA_HOME/jre  
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
  1. 验证
    输入source /etc/profile,使配置立即生效
    检查Java安装和配置情况 输入java -version,然后回车

部署es集群

如果主机有数据盘,先挂载数据盘

# 安装lvm2
yum install lvm2 -y
# 查看当前未挂载的硬盘
fdisk -l

在这里插入图片描述

# 创建pv
pvcreate /dev/sdb
# 创建vg
vgcreate vgdata /dev/sdb
# 创建lv 使用一个即可
# 创建lv 并把vg的2T空间给到lv 
lvcreate -L 2T -n lvdata vgdata
# 创建lv 并把vg的所有空间给到lv
lvcreate -l +100%FREE -n lvdata vgdata
# 格式化lvdata
mkfs -t xfs /dev/vgdata/lvdata
# 创建挂载目录
mkdir /data
#  挂载逻辑卷到挂载目录
mount /dev/vgdata/lvdata /data
# 查UUID: blkid
vi /etc/fstab
# 添加内容:
UUID=XXX           /date                 xfs     defaults        0 0
# 查看结果:df -h
  1. 创建用户 es(es不可以使用root用户启动,我这里使用es用户)
 三个机器都要执行
#使用root用户的操作 添加一个用户,叫做es
	useradd es
# 使用root用户创建目录
	mkdir -p /export/servers/es
	mkdir -p /export/data/es
	mkdir -p /export/logs/es
# 将目录的权限分配给es用户
	chown -R es /export/servers/es
	chown -R es /export/data/es
	chown -R es /export/logs/es
	或者:
	chown es:es /export/servers/es
	chown es:es /export/data/es
	chown es:es /export/logs/es
# 设置下es用户的密码,这里建议使用es作为密码,也就是账户名和密码一样。
	passwd es
	<input es>
# 切换到es用户
	su es
  1. 下载es安装包
切换到es用户下,下载安装包
su es
# 进入Home目录
cd /home/es
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch6.6.0.tar.gz
解压到/export/servers/es/目录
tar -zxvf elasticsearch-6.6.0.tar.gz -C /export/servers/es/
  1. 修改配置文件
vim /export/servers/es/elasticsearch-6.6.0/config/elasticsearch.yml
# 修改以下内容
#集群的名称
cluster.name: elasticsearchs
#节点名称,其余两个节点分别为node-2 和node-3
node.name: node-1
#指定该节点是否有资格被选举成为master节点,默认是true,es是默认集群中的第一台机器为master,如果这台机挂了就会重新选举master
node.master: true
#允许该节点存储数据(默认开启)
node.data: true
#索引数据的存储路径
path.data: /data/es
#日志文件的存储路径
path.logs: /export/logs/es
#设置为true来锁住内存。因为内存交换到磁盘对服务器性能来说是致命的,当jvm开始swapping时es的效率会降低,所以要保证它不swap
bootstrap.memory_lock: true
#绑定的ip地址  (每个节点都配置自己的IP)
network.host: 192.168.100.1
#设置对外服务的http端口,默认为9200
http.port: 9200
# 设置节点间交互的tcp端口,默认是9400
transport.tcp.port: 9400
#Elasticsearch将绑定到可用的环回地址,并将扫描端口9400到9405以尝试连接到运行在同一台服务器上的其他节点。
#这提供了自动集群体验,而无需进行任何配置。数组设置或逗号分隔的设置。每个值的形式应该是host:port或host
#(如果没有设置,port默认设置会transport.profiles.default.port 回落到transport.tcp.port)。
#请注意,IPv6主机必须放在括号内。默认为127.0.0.1, [::1]
discovery.zen.ping.unicast.hosts: ["192.168.100.1:9400", "192.168.100.2:9400", "192.168.100.3:9400"]
#如果没有这种设置,遭受网络故障的集群就有可能将集群分成两个独立的集群 - 分裂的大脑 - 这将导致数据丢失
discovery.zen.minimum_master_nodes: 3
  1. 验证elasticsearch.yml配置
grep '^[a-z]' /export/servers/es/elasticsearch-6.6.0/config/elasticsearch.yml
  1. 调整jvm内存
vim /export/servers/es/elasticsearch-6.6.0/config/jvm.options
#默认是1g官方建议对jvm进行一些修改,不然很容易出现OOM,参考官网改参数配置最好不要超过内存的50%
-Xms1g
-Xmx1g
  1. 修改limits.conf文件
 vim /etc/security/limits.conf 
# 注意:这里的* 代表所有用户
* soft nofile 65536
* hard nofile 65536
* soft nproc 2048
* hard nproc 4096
* soft memlock unlimited
* hard memlock unlimited

  1. 修改sysctl.conf文件
vim /etc/sysctl.conf
vm.max_map_count=655360
fs.file-max=655360

注意:之后需要执行一句命令sysctl -p使系统配置生效(使用root用户)
  1. 修改system.conf文件
vim /etc/systemd/system.conf #添加以下配置
DefaultLimitNOFILE=65536
DefaultLimitNPROC=32000
DefaultLimitMEMLOCK=infinity
# 重启
$ systemctl daemon-reload
  1. 分别启动三台Elasticsearch
注意:请使用es用户启动 su - es
测试启动
/export/servers/es/elasticsearch-6.6.0/bin/elasticsearch
后台启动
/export/servers/es/elasticsearch-6.6.0/bin/elasticsearch -d
  1. 验证Elasticsearch集群
# 查看集群名称等信息
http://192.168.100.1:9200
# 集群相关API
http://192.168.100.1:9200/_cat       
# 查看集群节点
http://192.168.100.1:9200/_cat/nodes?v
# 验证集群磁盘分配情况
http://192.168.100.1:9200/_cat/allocation?v
# 验证集群健康状况
http://192.168.100.1:9200/_cat/health?v 
# 查看集群的索引数
http://192.168.100.1:9200/_cat/indices?v

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值