大数据讲课笔记3.1 Hadoop安装准备
Posted howard2005
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据讲课笔记3.1 Hadoop安装准备相关的知识,希望对你有一定的参考价值。
文章目录
零、学习目标
- 了解虚拟机安装与克隆
- 熟悉Linux系统网络配置
- 熟悉SSH服务配置与免密登录
一、导入新课
- 带领学生回顾项目二(2.1、2.2与2.3)的对大数据和Hadoop相关的知识,要想深入的学习掌握Hadoop相关技术,首先得学会搭建Hadoop集群。因此,本次课将针对构建Hadoop集群的准备工作进行详细讲解。
二、新课讲解
(一)Hadoop集群拓扑
1、集群拓扑
- 一个主节点,两个从节点
2、角色分配
- 完全分布式Hadoop集群搭建需要在集群的每个节点都安装Hadoop,集群角色分配如下表所示。
节点 | 角色 |
---|---|
master | NameNode |
slave1 | DataNode |
slave2 | DataNode |
(二)虚拟机安装
- Hadoop集群的搭建要涉及到多台机器,而在日常学习和个人开发测试过程中,这显然是不可行的,为此,可以使用虚拟机软件(例如VMware Workstation)在同一台电脑上构建多个Linux虚拟机环境,从而进行Hadoop集群的学习和个人测试。
- 参看本博《大数据讲课笔记1.1 安装配置CentOS》
- 安装了虚拟机CentOS 7
- 配置了静态IP地址(192.168.1.100)和主机名(ied)
(三)虚拟机克隆
1、克隆类型
(1)完整克隆
- 完整克隆是对原始虚拟机完全独立的一个拷贝,它不和原始虚拟机共享任何资源,可以脱离原始虚拟机独立使用。
(2)链接克隆
- 链接克隆需要和原始虚拟机共享同一虚拟磁盘文件,不能脱离原始虚拟机独立运行。但是采用共享磁盘文件可以极大缩短创建克隆虚拟机的时间,同时还节省物理磁盘空间。
2、克隆步骤
(1)克隆出master虚拟机
- 关闭
CentOS 7
虚拟机,在VMware工具左侧系统资源库中右键单击CentOS 7
,选择“管理”列表下的“克隆”选项,弹出克隆虚拟机向导。
- 选择克隆源——虚拟机中的当前状态
- 选择克隆类型——创建链接克隆
- 设置新虚拟机名称和位置
- 单击【完成】按钮
- 单击【关闭】,查看master虚拟机
(2)克隆出slave1虚拟机
- 按照克隆master虚拟机的步骤克隆出slave1虚拟机
(3)克隆出slave2虚拟机
- 按照克隆master虚拟机的步骤克隆出slave2虚拟机
(四)虚拟机配置
1、配置master虚拟机
- 启动master虚拟机
(1)设置主机名
- 执行命令:
hostnamectl set-hostname master
- 重启虚拟机,提示符变成
[root@master ~]#
(2)设置静态IP地址
- 查看IP地址可选范围
- 查看网关配置
- 执行命令:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
- 存盘退出,执行命令:
systemctl restart network
- 执行命令:
ip addr
,查看设置的静态IP地址
(3)配置主机名与IP地址映射
- 执行命令:
vim /etc/hosts
,添加三个映射(集群有三个虚拟机)
- 存盘退出,验证配置效果
2、配置slave1虚拟机
- 启动slave1虚拟机
(1)设置主机名
-
执行命令:
hostnamectl set-hostname slave1
-
重启虚拟机,提示符变成
[root@slave1~]#
(2)设置静态IP地址
- 执行命令:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
- 存盘退出,执行命令:
systemctl restart network
- 执行命令:
ip addr
,查看设置的静态IP地址
(3)配置主机名与IP地址映射
- 执行命令:
vim /etc/hosts
,添加三个映射(集群有三个虚拟机)
- 存盘退出,验证配置效果
- slave1虚拟机可以通过主机名来ping通master虚拟机和slave1虚拟机
- master虚拟机可以通过主机名来ping通slave1虚拟机
3、配置slave2虚拟机
- 启动slave2虚拟机
(1)设置主机名
- 执行命令:
hostnamectl set-hostname slave2
- 重启虚拟机,提示符变成
[root@slave2~]#
(2)设置静态IP地址
-
执行命令:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
-
存盘退出,执行命令:
systemctl restart network
-
执行命令:
ip addr
,查看设置的静态IP地址
(3)配置主机名与IP地址映射
- 执行命令:
vim /etc/hosts
,添加三个映射(集群有三个虚拟机)
- 存盘退出,验证配置效果
- slave2虚拟机可以通过主机名来ping通master虚拟机、slave1虚拟机和slave2虚拟机
- master虚拟机可以通过主机名来ping通slave1虚拟机和slave2虚拟机
(五)关闭SeLinux安全机制
- 安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。
- SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。
- SELinux 有三种工作模式,分别是enforcing:强制模式;permissive:宽容模式;disabled:关闭 SELinux。
/etc/sysconfig/selinux
文件里SELINUX=enforcing
,将enforcing
改成disabled
,就可以关闭SeLinux安全机制
1、在master虚拟机上关闭SeLinux安全机制
- 执行命令:
vim /etc/sysconfig/selinux
2、在slave1虚拟机上关闭SeLinux安全机制
- 执行命令:
vim /etc/sysconfig/selinux
3、在slave2虚拟机上关闭SeLinux安全机制
- 执行命令:
vim /etc/sysconfig/selinux
(六)SSH服务配置
1、为何要配置SSH服务
- 实际工作中,服务器被放置在机房中,同时受到地域和管理的限制,开发人员通常不会进入机房操作直接上机操作,而是通过远程连接服务器,进行相关操作。
- 在集群开发中,主节点通常会对集群中各个节点频繁的访问,就需要不断输入目标服务器的用户名和密码,这种操作方式非常麻烦并且还会影响集群服务的连续运行。
- 为了解决上述问题,我们可以通过配置SSH服务来实现远程登录和SSH的免密登录功能。
2、SSH远程登录功能配置
(1)查看系统是否开启了SSH服务
- 查看master虚拟机是否开启了SSH服务
- 可以看到,master虚拟机开启了SSH服务的。如果没有开启
sshd
守护进程,那么执行命令:systemctl start sshd
- 查看slave1虚拟机是否开启了SSH服务
- 查看slave2虚拟机是否开启了SSH服务
(2)利用FinalShell工具创建SSH连接
- 参看本博《大数据讲课笔记1.1 安装配置CentOS》 ——(七)利用FinalShell访问虚拟机
- 访问master、slave1和slave2虚拟机
3、SSH免密登录功能配置
(1)master虚拟机免密登录master
-
执行命令:
ssh-keygen -t rsa
,连续敲三个回车,生成密钥对
-
执行命令:
ssh-copy-id root@master
,将公钥拷贝到master
-
测试master虚拟机是否免密登录master虚拟机
(2)master虚拟机免密登录slave1
- 执行命令:
ssh-copy-id root@slave1
,将公钥拷贝到slave1
- 测试master虚拟机是否能免密登录slave1虚拟机
(3)master虚拟机免密登录slave2
- 执行命令:
ssh-copy-id root@slave2
,将公钥拷贝到slave2
- 测试master虚拟机是否能免密登录slave2虚拟机
三、归纳总结
- 回顾本节课所讲的内容,并通过提问的方式引导学生解答问题并给予指导。
四、上机操作
- 形式:单独完成
- 题目:创建并配置三台虚拟机使之相互免密登录
- 要求:让学生自己动手操作安装虚拟机、克隆虚拟机、配置Linux系统的网络以及SSH服务,以此来巩固本节的学习内容。创建三台虚拟机 - master(192.168.1.101)、slave1(192.168.1.102)、slave2(192.168.1.103);配置SSH:使得master虚拟机可以免密远程登录master虚拟机、slave1虚拟机和slave2虚拟机;使得slave1虚拟机可以免密远程登录master虚拟机、slave1虚拟机和slave2虚拟机;使得slave2虚拟机可以免密远程登录master虚拟机、slave1虚拟机和slave2虚拟机。
以上是关于大数据讲课笔记3.1 Hadoop安装准备的主要内容,如果未能解决你的问题,请参考以下文章