集群环境准备

一、机器准备

首先需要准备3台机器或者虚拟机,安装好centos7.5版本和JDK1.8。

我们这次准备安装的是Cloudera的CDH 5.14.3 。

TIPS:快速创建机器的技巧是规范好要装的软件,迅速利用镜像功能创建好三台机器出来。

ip地址这里我们设置为192.168.168.81,192.168.168.82,192.168.168.83。

如果是本地的虚拟机,需要自己配置IP地址。

我们以192.168.168.81为例子。

进入网络配置目录
cd /etc/sysconfig/network-scripts

编辑网卡配置文件,这里的ens33根据您实际的网卡名称来。
vi ifcfg-ens33 

这里注意几个参数
BOOTPROTO=static  # 这里需要设置为静态的ip地址
ONBOOT=yes # 启动的时候打开网络,不然不能联网
IPADDR=192.168.168.81 # 你要设置的IP地址,这里最好不要在DHCP范围内,避免IP冲突
GATEWAY=192.168.168.2 # 网关
NETMASK=255.255.255.0 # 网络掩码
DNS1=8.8.8.8  # google的 DNS服务器
DNS2=192.168.168.2  # 网关做DNS服务器

最后重启网络服务。
service network restart

网络模型参考:
https://www.linuxidc.com/Linux/2016-09/135521.htm

二、修改hostname和hosts文件

1.查看hostname

在每台机器上我们可以通过命令
hostname

2. 修改hostname

在192.168.168.81上执行命令,修改主机名称为dev-hd001。
hostnamectl set-hostname dev-hd001

在192.168.168.82上执行命令,修改主机名称为dev-hd002。
hostnamectl set-hostname dev-hd002

在192.168.168.82上执行命令,修改主机名称为dev-hd002。
hostnamectl set-hostname dev-hd003

3.修改hosts文件

在每一台机器的hosts文件中加入如下内容。
vim /etc/hosts
192.168.168.81  dev-hd001  hd1
192.168.168.82  dev-hd002  hd2
192.168.168.83  dev-hd003  hd3

三、关闭防火墙和selinux

1.关闭防火墙

查看默认防火墙状态。
(关闭后显示notrunning,开启后显示running)
firewall-cmd --state 

停止firewall
systemctl stop firewalld.service 

禁止firewall开机启动
systemctl disable firewalld.service 

如果安装了iptables, 我们还需要关闭iptables

查看iptables状态
service iptables status

停止iptables
service iptables stop

启动的时候关闭iptables
chkconfig iptables off

2.关闭selinux

永久关闭selinux,需要通过修改配置文件/etc/selinux/config。
vim /etc/selinux/config

修改SELINUX。参数可选(enforcing、permissive、disabled)
SELINUX=disabled

需要reboot重启生效。

四、安装ssh免密码登录

  1. 免密登录原理
现在我们有A和B两台机器。

1.我们在A上生成一对密钥。
2.将在A上生成的公钥拷贝给B机器,添加到~/.ssh/authorized_keys这个文件中。
3.A向B发送一个连接请求,信息包括用户名,IP等
4.B的到A的信息后,回到authorized_keys中查找,如果有对应的用户名和ip, B会随机生成一个字符串,比如"DMAC"。
5.B使用公钥对字符串"DMAC"进行加密,然后发送给A。
6.A得到B发来的消息后,使用私钥进行解密,然后将解密后的字符串发送给B.
7.B接收到A发过来的字符串后,会跟先前生成的字符串进行对比,如果一致,就允许免密码登录。

2.操作步骤

1.确认有没有~/.ssh目录,没有的话
mkdir ~/.ssh

2.在dev-hd001机下生成公钥和私钥对。
ssh-keygen
这里直接三次回车,会看到在~/.ssh有id_rsa文件和id_rsa.pub文件。

id_rsa.pub文件是公钥文件。
可以通过cat命令查看。
cat id_rsa.pub

3.从dev-hd001机器拷贝公钥到dev-hd002机器。
ssh-copy-id -i root@dev-hd002

ssh-copy-id命令可以把本地主机的公钥复制到远程主机的authorized_keys文件上。
ssh-copy-id命令也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh/authorized_keys设置合适的权限。

4.在dev-hd001上登录到dev-hd002
ssh root@dev-hd002
logout 登出

星空
60 声望14 粉丝

轻量级开发