赞
踩
Hadoop指Apache这款开源框架,它的核心组件有:
目前主流的hadoop框架已经迭代更新到hadoop3.x的版本了,本篇的介绍也是围绕着hadoop3.x展开的
接下来我们根据以下的结构图来了解hadoop框架中各个组成部分的作用:
namenode:主节点
SecondaryNameNode:辅助节点
datanode:从节点
ResourceManager:主节点
AppMaster进程:输入代码级别
nodemanager:从节点
注意:此时已经没有MapReduce集群的概念了。而是代码级别的程序,即:MR计算任务
我们只需要用代码编写MR计算任务,然后又交由Yarn调度执行即可
把所有的服务(namenode, SecondaryNameNode, datanode, ResourceManager, nodemanager)装到1台机器
这里我们创建3台虚拟机:
node1(192.168.88.161),node2(192.168.88.162),node3(192.168.88.163)
具体部署节点如下:
node1: namenode, datanode, ResourceManager, nodemanager
node2: SecondaryNameNode, datanode, nodemanager
node3: datanode nodemanager
在node1中执行 start-all.sh 命令, 即可启动Hadoop集群.
然后在node1中单独运行 mapred --daemon start historyserver 启动历史服务.
然后在三台虚拟机中分别输入 jps 查看服务, 因为我们的主节点都布置在node1中,辅助节点布置在node2中,从节点在node1,node2,node3中都有部署,具体如下:
当我们启动好hadoop集群之后,我们便可以在浏览器中用如下端口号进行访问
如果想在浏览器中直接通过 域名的方式直接访问上述的WebUI界面, 则需要配置下: 域名映射.
具体操作如下:
首先我们需要配置Linux系统中的域名映射:
- # 进入到该文件中
- vim /etc/hosts
-
- # 在上述文件的最后追加如下的内容
- 192.168.88.161 node1 node1.itcast.cn
- 192.168.88.162 node2 node2.itcast.cn
- 192.168.88.163 node3 node3.itcast.cn
-
- # 保存退出, 然后重启Linux系统即可.
然后我们还需要在windows系统 配置域名映射:
- 在 C:\Windows\System32\drivers\etc\hosts 文件中, 追加如下的内容:
-
- # HiveCluster
- 192.168.88.161 node1.itcast.cn node1
- 192.168.88.162 node2.itcast.cn node2
- 192.168.88.163 node3.itcast.cn node3
-
- # 保存, 关闭hosts文件, 然后重启windows系统即可,注意部分电脑不需要重启也可以生效.
以上操作都配置完成后,我们便可以将上面的域名修改为:
- # 进入到测试包中
- cd /export/server/hadoop/share/hadoop/mapreduce
-
- # 执行MR任务:
- # 这里我们执行的是圆周率的计算
- yarn jar hadoop-mapreduce-examples-3.3.0.jar pi 2 50
-
- # 上述格式解释:
- yarn jar 固定格式, 说明要把某个jar包交给yarn调度执行.
- hadoop-mapreduce-examples-3.3.0.jar Hadoop提供的MR任务的测试包
- pi 要执行的任务名
- 2 表示MapTask的任务数, 即: 几个线程来做这个事儿.
- 50 投点数, 越大, 计算结果越精准.
通过以上的介绍,我们已大致了解了hadoop集群框架,现在让我们深入的了解一下构成hadoop框架之一的HDFS集群
HDFS文件系统可存储超大文件,时效性稍差。
HDFS具有硬件故障检测和自动快速恢复功能。
HDFS为数据存储提供很强的扩展能力。
HDFS存储一般为一次写入,多次读取,只支持追加写入,不支持随机修改。
HDFS可在普通廉价的机器上运行。
- # HDFS的Shell命令, 类似于Linux的Shell命令, 格式稍有不同, 具体如下:
- hadoop fs -选项 参数 # 既能操作HDFS文件系统, 还能操作本地文件系统.
- hdfs dfs -选项 参数 # 只能操作HDFS文件系统.
-
- # 细节: 操作HDFS路径的时候, 建议加上前缀 hdfs://node1:8020/
-
- # -ls命令, 查看指定的HDFS路径下所有的内容.
- hadoop fs -ls / # 查看根目录下所有内容(不包括子级)
- hadoop fs -ls -R / # 查看根目录下所有内容(包括子级)
-
- # mkdir命令, 创建目录
- hdfs dfs -mkdir /aa # 创建单级.
- hdfs dfs -mkdir -p /aa/bb/cc/dd # 创建多级目录.
-
- # cat命令, 查看文件内容.
- hadoop fs -cat /input/word.txt
-
- # mv命令, 剪切. 只能是 HDFS路径 => HDFS路径
- hadoop fs -mv /input/word.txt /aa
-
- # cp命令, 拷贝. 只能是 HDFS路径 => HDFS路径
- hadoop fs -cp /input/word.txt /aa
-
- # rm命令, 删除.
- hadoop fs -rm /aa/bb/word.txt
- hadoop fs -rm -r /aa # 递归删除aa文件夹
-
- # put命令, 把Linux系统的文件 上传到 HDFS文件系统中.
- hadoop fs -put 1.txt /input # 1.txt是Linux的文件路径, /input是HDFS的目录路径
-
- # get命令, 把HDFS文件系统的某个文件 下载到 Linux系统的文件中.
- hadoop fs -get /input/1.txt ./ # 1.txt是HDFS的文件路径, ./Linux的路径.
以上内容便是对Hadoop集群架构以及HDFS集群的大致介绍,关于组成Hadoop集群框架的另外两个部分,我们下篇文章再来详细介绍,以上便是我学习大数据过程中的一些总结,谢谢各位的观看和指导。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。