虚拟机数量:3个 (1个master,2个slave:slave01,slave02)
主节点master信息:
-
操作系统:CentOS7.5
-
软件包位置:/home/zkpk/tgz
-
数据包位置:/home/zkpk/experiment
-
已安装软件:无
从节点slave01信息:
-
操作系统:CentOS7.5
-
软件包位置:/home/zkpk/tgz
-
数据包位置:/home/zkpk/experiment
-
已安装软件:无
从节点slave02信息:
-
操作系统:CentOS7.5
-
软件包位置:/home/zkpk/tgz
-
数据包位置:/home/zkpk/experiment
-
已安装软件:无
-
掌握 linux系统基础
-
熟悉hadoop操作指令
-
掌握配置集群节点间免密登录
-
掌握配置JDK
-
掌握配置部署hadoop的步骤和配置相关环境文件
独立完成hadoop的安装部署。
在若干节点中,安装部署hadoop分布式集群,并会启动集群以及使用 Web
UI查看集群是否成功启动;在搭建好的hadoop分布式集群中运行PI实例检查集群是否成功;
1 登录大数据实验平台,进入实验,(界面显示为master、slave01、slave02)
2 确保各台虚拟机能ping通外网(上图界面中master、slave01、slave02,分别对应一个虚拟机,随后简称为“界面各虚拟机”)
2.1 在桌面空白处右击鼠标,打开一个终端(下图根据centos7所使用的桌面系统不同会稍有区别,一般使用gnome或xfce)
2.2ping一个外网网址,确保能够ping通,ctrl+c结束ping命令的执行(大数据实验室提供的虚拟机默认已可ping通外网)
3 配置主机名(“界面各虚拟机”分别操作此步骤,主机名分别设置为master, slave01,slave02)
说明:此处以界面虚拟机master的操作为例(默认已经配置好主机名称)
3.1 以下操作需要root权限,所以先切换成root用户
3.2 使用gedit编辑主机名(或使用vim)
3.2.1 编辑主机名文件
3.2.2 将原来内容替换为master
3.2.3 保存并退出
3.2.4 临时设置主机名为master:
3.2.5 检测主机名是否修改成功:
说明:bash命令让上一步操作生效
4 配置时钟同步(使用root权限;“界面各虚拟机”分别操作此步骤;若已配置过,请忽略此步骤)
说明:此处以master节点的操作为例
4.1 配置自动时钟同步
4.1.1使用Linux命令配置
4.1.2 按”i ”键,进入插入模式;输入下面的内容(星号之间和前后都有空格)
4.1.3 按Esc退出插入模式,然后按”: ”键,输入wq保存退出
4.2 手动同步时间,直接在Terminal运行下面的命令:
5 关闭防火墙(使用root权限;“界面各虚拟机”分别操作此步骤;若已配置过,请忽略此步骤)
5.1 查看防火墙状态(默认已经关闭防火墙)
5.2 在终端中执行下面命令:
说明:两条命令分别是临时关闭防火墙和禁止开机启动防火墙
6 配置hosts列表(使用root权限;“界面各虚拟机”分别操作此步骤;默认已经配置)
6.1 先分别在各虚拟机中运行ifconfig命令,获得当前节点的ip地址,如下图是master的ip地址
6.2 编辑主机名列表文件:
6.3 将下面三行添加到/etc/hosts文件中,保存退出:
注意:
这里master节点对应IP地址是10.42.0.93,slave01对应的IP是10.42.0.94,slave02对应的IP是10.42.0.95,而自己在做配置时,需要将IP地址改成自己的master、slave01和slave02对应的IP地址。
6.4 Ping主机名
注意:参数-c 3表示之返回三行响应就中止。
6.5 如果出现下图的信息表示配置成功:
7 免密钥登录配置(注意:使用zkpk用户)
7.1 master节点上
7.1.1 先从root用户,退回到普通用户zkpk
7.1.2 在终端生成密钥,命令如下(一路按回车完成密钥生成)
7.1.3 生成的密钥在用户根目录中的.ssh子目录中,进入.ssh目录,如下图操作:
7.1.4 进行复制公钥文件
7.1.5 执行ls -l命令后会看到下图的文件列表:
7.1.6 修改authorized_keys文件的权限,命令如下:
7.1.7 将专用密钥添加到 ssh-agent 的高速缓存中
7.1.8 将authorized_keys文件复制到slave01、slave02节点zkpk用户的根目录,命令如下:
说明:如果提示输入yes/no的时候,输入yes,回车。密码是:zkpk
7.2 slave01节点
7.2.1 先从root用户,退回到普通用户zkpk,
然后在终端生成密钥,命令如下(一路点击回车生成密钥)
7.2.2 将authorized_keys文件移动到.ssh目录
7.3 slave02节点
7.3.1 在终端生成密钥,命令如下(一路点击回车生成密钥)
7.3.2 将authorized_keys文件移动到.ssh目录
7.4 验证免密钥登陆
7.4.1 在master机器上远程登录slave01:
7.4.2 如果出现下图的内容表示免密钥配置成功:
7.4.3 退出slave01远程登录
7.4.4 在master机器上远程登录slave02:
7.4.5 如果出现下图的内容表示免密钥配置成功:
8 安装JDK
注意:在三台节点master,slave01,slave02上分别操作此步骤
8.1 删除系统自带的jdk(如若出现下图效果,说明系统自带java,需要先卸载)
8.1.1 查看系统自带jdk
在slave01上执行:
在slave02上执行:
8.1.2 切换root用户
在slave01上执行:
在slave02上执行:
8.1.3 移除系统自带的jdk
在slave01上执行:
在slave02上执行:
8.1.4 创建存放jdk文件目录
在slave01上执行:
在slave02上执行:
8.2 将/home/zkpk/tgz下的JDK压缩包解压到/usr/java目录下
在slave01上执行:
在slave02上执行:
8.2.1 退出root用户
在slave01上执行:
在slave02上执行:
8.3 配置zkpk用户环境变量
8.3.1 使用gedit修改“.bash_profile”
8.3.2 复制粘贴以下内容添加到到上面gedit打开的文件中:
在slave01上执行:
复制粘贴以下内容添加到到上面gedit打开的文件中:
在slave02上执行:
复制粘贴以下内容添加到到上面gedit打开的文件中:
8.4 使环境变量生效:
在slave01上执行:
在slave02上执行:
8.5 查看java是否配置成功:
9 安装部署Hadoop集群(zkpk用户)
说明:每个节点上的Hadoop配置基本相同,在master节点操作,然后复制到slave01、slave02两个节点。
9.1 将/home/zkpk/tgz/hadoop目录下的Hadoop压缩包解压到/home/zkpk目录下
9.2 配置hadoop-env.sh文件
9.2.1 使用gedit命令修改hadoop-env.sh文件
9.2.2 修改JAVA_HOME环境变量
9.3 配置yarn-env.sh文件
9.3.1 使用gedit命令修改yarn-env.sh文件
9.3.2 修改JAVA_HOME环境变量
9.4 配置core-site.xml 文件
9.4.1 使用gedit命令修改core-site.xml文件
9.4.2 用下面的代码替换core-site.xml中的内容:
9.5 配置hdfs-site.xml文件
9.5.1 使用gedit命令修改hdfs-site.xml文件
9.5.2 用下面的代码替换hdfs-site.xml中的内容:
9.6 配置yarn-site.xml文件
9.6.1 使用gedit命令修改yarn-site.xml文件
9.6.2 用下面的代码替换yarn-site.xml中的内容:
9.7 配置mapred-site.xml文件
9.7.1 复制mapred-site-template.xml文件:
9.7.2 使用gedit编辑mapred-site.xml文件:
9.7.3 用下面的代码替换mapred-site.xml中的内容
9.8 配置slaves文件
9.8.1 使用gedit编辑slaves文件:
9.8.2 将slaves文件中的内容用如下代码替换
9.9 创建Hadoop数据目录
9.10 将配置好的hadoop文件夹复制到从节点
9.10.1 使用scp命令将文件夹复制到slave01、slave02上:
说明:因为之前已经配置了免密钥登录,这里可以直接免密钥远程复制。
复制完成后,可以在slave01和slave02上检验是否复制成功。
10 配置Hadoop环境变量
注意:在三台节点分别操作此步骤,使用zkpk用户权限
10.1 以master节点为例
10.2 在.bash_profile末尾添加如下内容:
10.3 使环境变量生效:
11 格式化Hadoop文件目录(在master上执行)
11.1 格式化命令如下
12 启动Hadoop集群(在master上执行)
12.1 运行start-all.sh命令
说明:格式化后首次执行此命令,提示输入yes/no时,输入yes。
12.2 查看进程是否启动
12.2.1 在master的终端执行jps命令,出现下图效果
注意:前面那些数字可能因为自己的实验环境不同而不同。