分布式集群环境准备

发布 : 2018-01-05 分类 : 大数据 浏览 :

目录

1
在https://www.virtualbox.org/wiki/Downloads下载Virtualbox
1
Virtualbox虚拟机管理软件比较稳定

在虚拟机中安装CentOS

使用CentOS-7-x86_64-Minimal-1611.iso

创建虚拟机:打开Virtual Box

All text
All text
All text
All text
All text
All text

设置虚拟机网卡

安装虚拟机中的CentOS 7操作系统

重启虚拟机

配置网络/设置静态ip地址

1
2
3
4
因为宿主机ip为:192.168.0.102
所以设置superset主机
ip:192.168.0.180
GATEWAY:192.168.0.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.0.180
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
1
service network restart

配置DNS

检查NetManager的状态

1
systemctl status NetworkManager.service

检查NetManager管理的网络接口

1
nmcli dev status

检查NetManager管理的网络连接

1
nmcli connection show

设置dns

1
nmcli con mod enp0s3 ipv4.dns "114.114.114.114 8.8.8.8"

让dns配置生效

1
nmcli con up enp0s3

设置静态、瞬态或灵活主机名,分别使用–static,–transient或–pretty选项

1
2
3
4
5
6
7
[root@localhost ~]# hostnamectl set-hostname elasticsearch01
[root@localhost ~]# hostnamectl --static
elasticsearch01
[root@localhost ~]# hostnamectl --transient
elasticsearch01
[root@localhost ~]# hostnamectl --pretty
elasticsearch01

重启CentOS 7之后,查看主机名

1
2
[root@elasticsearch01 ~]# hostname
elasticsearch01

配置hosts/配置本机的hostname到ip地址的映射

1
2
3
4
5
[root@elasticsearch01 ~]# vi /etc/hosts
192.168.31.180 elasticsearch01
192.168.31.181 elasticsearch02
192.168.31.182 elasticsearch03
192.168.31.183 elasticsearch04

关闭防火墙

1
2
systemctl stop firewalld.service
systemctl disable firewalld.service

配置yum

1
2
3
yum clean all
yum makecache
yum install wget -y

在每个CentOS中都安装Java

安装JDK

1
[root@elasticsearch01 ~]# rpm -ivh jdk-8u131-linux-x64.rpm

配置jdk相关的环境变量

1
2
3
4
[root@elasticsearch01 ~]# vi .bashrc
export JAVA_HOME=/usr/java/latest
export PATH=$PATH:$JAVA_HOME/bin
[root@elasticsearch01 ~]# source .bashrc

测试jdk安装是否成功

1
[root@elasticsearch01 ~]# java -version

在4个虚拟机中安装CentOS集群

1
2
3
(1).克隆装好的虚拟机elasticsearch01
(2).另外三台机器的hostname分别设置为elasticsearch02,elasticsearch03,elasticsearch04
(3).安装好之后,在每台机器的hosts文件里面,配置好所有的机器的ip地址到hostname的映射关系

All text

All text

elasticsearch02

1
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.31.181
NETMASK=255.255.255.0
GATEWAY=192.168.31.1

设置主机名

1
hostnamectl set-hostname elasticsearch02
1
service network restart

elasticsearch03

1
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.31.182
NETMASK=255.255.255.0
GATEWAY=192.168.31.1
  • 设置主机名
1
hostnamectl set-hostname elasticsearch03
1
service network restart

elasticsearch04

1
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.31.183
NETMASK=255.255.255.0
GATEWAY=192.168.31.1
  • 设置主机名
1
hostnamectl set-hostname elasticsearch04
1
service network restart

配置4台CentOS为ssh免密码互相通信

首先在4台机器上配置对本机的ssh免密码登录

1
2
3
4
5
ssh-keygen -t rsa
生成本机的公钥,过程中不断敲回车即可,ssh-keygen命令默认会将公钥放在/root/.ssh目录下
cd /root/.ssh
cp id_rsa.pub authorized_keys
将公钥复制为authorized_keys文件,此时使用ssh连接本机就不需要输入密码了

配置4台机器互相之间的ssh免密码登录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
使用ssh-copy-id -i hostname命令将本机的公钥拷贝到指定机器的authorized_keys文件中

[root@elasticsearch01 ~]# ssh-copy-id -i elasticsearch02
[root@elasticsearch01 ~]# ssh-copy-id -i elasticsearch03
[root@elasticsearch01 ~]# ssh-copy-id -i elasticsearch04

[root@elasticsearch02 ~]# ssh-copy-id -i elasticsearch01
[root@elasticsearch02 ~]# ssh-copy-id -i elasticsearch03
[root@elasticsearch02 ~]# ssh-copy-id -i elasticsearch04

[root@elasticsearch03 ~]# ssh-copy-id -i elasticsearch01
[root@elasticsearch03 ~]# ssh-copy-id -i elasticsearch02
[root@elasticsearch03 ~]# ssh-copy-id -i elasticsearch04

[root@elasticsearch04 ~]# ssh-copy-id -i elasticsearch01
[root@elasticsearch04 ~]# ssh-copy-id -i elasticsearch02
[root@elasticsearch04 ~]# ssh-copy-id -i elasticsearch03

同步集群时间

使用yum安装ntpdate

1
yum install -y ntpdate

设置定时同步时间

1
2
crontab -e
*/10 * * * * /usr/sbin/ntpdate time.nist.gov
本文作者 : Matrix
原文链接 : https://matrixsparse.github.io/2018/01/05/分布式集群环境准备/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

知识 & 情怀 | 二者兼得

微信扫一扫, 向我投食

微信扫一扫, 向我投食

支付宝扫一扫, 向我投食

支付宝扫一扫, 向我投食

留下足迹