VMware安装Hadoop
实验环境
Windows10
Centos7
VMware Workstation15.5 pro
实验步骤
1、查看ssh版本号,如若没有ssh,将其安装。
执行ssh -V命令进行查看,结果有ssh如下图:
2、配置ssh免秘钥登录
<1>先在各节点中生成创建好ssh文件如下图:
其他俩台下图所示:
<2>授权文件中加入**:
把centos02和centos03上**文件copy至centos01节点的同目录,将centos02和centos03节点的**信息加入centos01授权文件中,如图:
Copy授权文件到各节点:
2、验证三台机器的免秘钥登录配置成功
在centos02创建文件名为20170248012smz,在centos01进行查看并删除,结果证实可以免**登录centos02和centos03如图,可以免**登录:
经检验均可以互相无**登录
2、回答NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeManager分别是什么。
NameNode(主节点)
NameNode 是一个通常在 HDFS 实例中的单独机器上运行的软件。
它负责管理文件系统名称空间和控制外部客户机的访问。NameNode 决定是否将文件映射到 DataNode 上的复制块上。对于最常见的 3 个复制块,第一个复制块存储在同一机架的不同节点上,最后一个复制块存储在不同机架的某个节点上。NameNode本身不可避免地具有SPOF(Single Point Of Failure)单点失效的风险,主备模式并不能解决这个问题,通过Hadoop Non-stop namenode才能实现100% uptime可用时间。
DataNode(数据节点)
DataNode 也是一个通常在 HDFS实例中的单独机器上运行的软件。
DataNode 通常以机架的形式组织,机架通过一个交换机将所有系统连接起来。Hadoop 的一个假设是:机架内部节点之间的传输速度快于机架间节点的传输速度。
NameNode(主节点)与DataNode(数据节点)关系
DataNode 响应来自 HDFS 客户机的读写请求,还响应来自 NameNode 的创建、删除和复制块的命令。
NameNode 依赖来自每个 DataNode 的定期心跳(heartbeat)消息。
每条消息都包含一个块报告,NameNode 可以根据这个报告验证块映射和其他文件系统元数据。
如果 DataNode 不能发送心跳消息,NameNode 将采取修复措施,重新复制在该节点上丢失的块。
SecondaryNameNode:
SecondaryNameNode就是来帮助解决上述问题的,它的职责是合并NameNode的edit logs到fsimage文件中。
ResourceManager:
当应用程序对集群资源需求时,ResourceManager是Yarn集群主控节点,负责协调和管理整个集群(所有NodeManager)的资源。
NodeManager:
NodeManager是运行在单个节点上的代理,它管理Hadoop集群中单个计算节点,功能包括与ResourceManager保持通信,管理Container的生命周期、监控每个Container的资源使用(内存、CPU等)情况、追踪节点健康状况、管理日志和不同应用程序用到的附属服务等。
NodeManager是YARN中单个节点的代理,它需要与应用程序的ApplicationMaster和集群管理者ResourceManager交互;它从ApplicationMaster上接收有关Container的命令并执行(比如启动、停止Contaner);向ResourceManager汇报各个Container运行状态和节点健康状况,并领取有关Container的命令(比如清理Container)。
上传Hadoop至/opt/softwares,并解压至/opt/modules
<1>通过Xftp6将hadoop-2.8.2.tar.gz上传到/opt/softwares/目录下
<2>将hadoop-2.8.2.tar.gz解压到/opt/modules下,查看
配置hadoop环境变量
分别在
文件内添加export JAVA_HOME=/opt/modules/jdk1.8.0_101
配置HDFS
修改配置文件core-site.xml
修改配置文件hdfs-site.xml最后在slaves中添加
centos01
centos02
centos03
配置Yarn
先复制mapred-site.xml.template为mapred-site.xml然后进行配置
拷贝Hadoop安装文件到其他主机
配置Hadoop环境变量
修改文件/etc/profile内容,如图:
刷新profile文件,使得修改生效:
启动Hadoop
首先将namenode格式化执行命令行:hadoop namedode -format
如图:
格式化后,执行start-all.sh,启动hadoop集群