实验1:配置Linux系统
【实验内容】
本实验基于Cnetos7系统,采用完全分布式集群的搭建方式,通过时钟同步、主机名、防火墙等环境的配置,为后面Hadoop生态系统其他组件的环境搭建做准备。
【实验目的】
1、完成时钟同步配置
2、熟悉主机名的配置方法
3、了解平台初识网络环境
4、掌握防火墙配置
5、掌握hosts列表配置
6、完成JDK安装,验证安装是否成功
7、了解公钥与私钥的原理,正确配置免密登录
【实验步骤】
步骤1 配置时钟同步
步骤2 配置主机名
步骤3 配置网络环境
步骤4 关闭防火墙
步骤5 配置 hosts 列表
步骤6 安装 JDK
步骤7 配置免密登录
步骤1 配置时钟同步
使用date命令检查每个节点的现在时间,保证所有节点一致,Master输出如下图。
date
可选择安装配置NTP服务,保证集群中所有节点时间一致。
在Master节点上配置
(1) 配置手动时钟同步
例如
date -s "2017-03-03 03:03:03"
(2) 网络同步时间
直接运行下面的命令:
yum install ntpdate
ntpdate cn.pool.ntp.org
slave节点同上
步骤2 配置主机名
使用vi编辑器编辑主机名,将各节点的主机名分别改为master,slave1,slave2。
vi /etc/sysconfig/network
配置信息如下。
NETWORKING=yes #启动网络 HOSTNAME=master #主机名
使用如下命令使修改生效。
hostname master
使用如下命令检测主机名是否修改成功。
hostname
其他节点同上。
步骤3 配置网络环境
使用平台初始网络。
步骤4 关闭防火墙
在各个节点中执行下面的命令。
systemctl stop firewalld.service
systemctl disable firewalld.service
步骤5 配置 hosts 列表
进入/etc/hosts,配置主机名和ip的映射,命令如下:
vi /etc/hosts
三台机器的内容统一增加以下host配置:
10.0.111.111 master 10.0.111.112 slave1 10.0.111.113 slave2
每台机器的ip地址,通过ip addr命令查询获取。请根据本机ip自行修改。
步骤6 安装 JDK
在前台下载jdk安装包并解压。
tar -zxvf jdk-8u201-linux-x64.tar.gz
将解压的目录移动到/usr/local目录下
mv /root/jdk1.8.0_201 /usr/local
配置环境变量
vi /etc/profile
内容如下:
export JAVA_HOME=/usr/local/jdk1.8.0_201 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
重新加载/etc/profile,使配置生效
source /etc/profile
查看配置是否生效
java -version
其他节点同上。
步骤7 配置免密登录
SSH为Secure Shell的缩写,是建立在应用层和传输层基础上的安全协议。SSH是目前较可靠、专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH是由客户端和服务端的软件组成,服务端是一个守护进程(daemon),它在后台运行并响应来自客户端的连接请求,客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。
常用的SSH工具包括XShell、Secure CRT、putty等。
之所以要配置SSH,是因为Hadoop的基础是分布式文件系统HDFS,HDFS集群有两类节点以管理者-工作者的模式运行,即一个namenode(管理者)和多个datanode(工作者)。在Hadoop启动以后,namenode通过SSH来启动和停止各个节点上的各种守护进程,Hadoop并没有提供SSH输入密码登录的形式,这就需要在这些节点之间执行指令时采用无需输入密码的认证方式,因此,我们需要将SSH配置成使用无需输入root密码的密钥文件认证方式。如不配置ssh免密码登录,在启动集群时候需要输入每个节点的密码方可启动。
这里用到了RSA公钥密码体制。在基于公钥体系的安全系统中,密钥是成对生成的,每对密钥由一个公钥和一个私钥组成。公共密钥密码体制的原理是加密密钥和解密密钥分离。一个具体用户可以将自己设计的加密密钥和算法公诸于众,而只保密解密密钥。任何人利用这个加密密钥和算法向该用户发送的加密信息,该用户均可以将之还原。公共密钥密码的优点是不需要经安全渠道传递密钥,大大简化了密钥管理。
公钥加密算法中使用最广的是RSA。RSA使用两个密钥,一个公共密钥,一个专用密钥。如用其中一个加密,则可用另一个解密,密钥长度从40到2048bit可变,加密时也把明文分成块,块的大小可变,但不能超过密钥的长度,RSA算法把每一块明文转化为与密钥长度相同的密文块。密钥越长,加密效果越好,但加密解密的开销也大,所以要在安全与性能之间折衷考虑,一般64位是较合适的。RSA的一个比较知名的应用是SSL。
密钥生成
ssh-keygen -t rsa
四个回车
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免密登陆的目标机器上
ssh-copy-id slave1
ssh-copy-id master
ssh-copy-id slave2
以上命令需要在每一台主机上执行,包含自己到自己的免密登录。