centos 7安装部署 Elasticsearch 集群
环境准备
复制代码
1
2
3准备三个主机,IP分别为192.168.100.1,192.168.100.2,192.168.100.3 三个主机最好都有一块数据盘(2T)
三个主机安装java环境
- 先查看本地是否自带java环境
复制代码
1
2yum list installed |grep java
- 卸载自带的java(注:需要root权限)
复制代码
1
2
3yum -y remove java-1.8.0-openjdk* yum -y remove tzdata-java*
- 下载jdk
这里不能使用wget下载因为:
去Oracle官网下载过jdk的应该都知道,下载之前需要同意Oracle的安装协议,不然不能下载,但是用wget的方式,默认是不同意,虽然能下载下来,但是下载下来的文件会有问题,所以在Linux上解压一直失败。
wget下载后解压会报如下错误。
复制代码
1
2
3
4
5
6[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
2
3mkdir -p /usr/local/java tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local/java/
- 添加环境变量,在/etc/profile文件中添加
复制代码
1
2
3
4
5export 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
- 验证
输入source /etc/profile,使配置立即生效
检查Java安装和配置情况 输入java -version,然后回车
部署es集群
如果主机有数据盘,先挂载数据盘
复制代码
1
2
3
4
5# 安装lvm2 yum install lvm2 -y # 查看当前未挂载的硬盘 fdisk -l
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21# 创建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
- 创建用户 es(es不可以使用root用户启动,我这里使用es用户)
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21三个机器都要执行 #使用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
- 下载es安装包
复制代码
1
2
3
4
5
6
7
8切换到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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30vim /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
- 验证elasticsearch.yml配置
复制代码
1
2grep '^[a-z]' /export/servers/es/elasticsearch-6.6.0/config/elasticsearch.yml
- 调整jvm内存
复制代码
1
2
3
4
5vim /export/servers/es/elasticsearch-6.6.0/config/jvm.options #默认是1g官方建议对jvm进行一些修改,不然很容易出现OOM,参考官网改参数配置最好不要超过内存的50% -Xms1g -Xmx1g
- 修改limits.conf文件
复制代码
1
2
3
4
5
6
7
8
9
10vim /etc/security/limits.conf # 注意:这里的* 代表所有用户 * soft nofile 65536 * hard nofile 65536 * soft nproc 2048 * hard nproc 4096 * soft memlock unlimited * hard memlock unlimited
- 修改sysctl.conf文件
复制代码
1
2
3
4
5
6vim /etc/sysctl.conf vm.max_map_count=655360 fs.file-max=655360 注意:之后需要执行一句命令sysctl -p使系统配置生效(使用root用户)。
- 修改system.conf文件
复制代码
1
2
3
4
5
6
7vim /etc/systemd/system.conf #添加以下配置 DefaultLimitNOFILE=65536 DefaultLimitNPROC=32000 DefaultLimitMEMLOCK=infinity # 重启 $ systemctl daemon-reload
- 分别启动三台Elasticsearch
复制代码
1
2
3
4
5
6注意:请使用es用户启动 su - es 测试启动 /export/servers/es/elasticsearch-6.6.0/bin/elasticsearch 后台启动 /export/servers/es/elasticsearch-6.6.0/bin/elasticsearch -d
- 验证Elasticsearch集群
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14# 查看集群名称等信息 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
最后
以上就是苗条跳跳糖最近收集整理的关于centos 7安装部署 Elasticsearch 6.6.0 三节点集群的全部内容,更多相关centos内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复