1.Hadoop框架国内外应用
-
国外
-
Yahoo雅虎, 节点4.2W+, 超10W核, 总存储350PB+, 每月提交作业 1000W+
-
-
国内
-
阿里巴巴, 节点3000+, 超4W核心, 内存超100TB, 每月提交作业 450W+
-
-
Hadoop的组成
-
HDFS: 分布式存储框架
-
MapReduce: 分布式计算框架
-
Yarn: 任务接收和调度器
-
2. Hadoop的架构图
-
Hadoop1.X = HDFS + MapReduce
-
Hadoop2.X, 3.X = HDFS + MapReduce + Yarn
-
Hadoop集群高可用模式图解
3.Hadoop集群环境初体验
-
搭建方式
-
方式1: Standalone mode 单机模式
把所有的服务(namenode, SecondaryNameNode, datanode, ResourceManager, nodemanager)装到1台机器, 适用于: 学习, 调试.
-
方式2: Cluster mode 集群模式
node1: namenode, datanode, ResourceManager, nodemanager
node2: SecondaryNameNode, datanode, nodemanager
node3: datanode nodemanager
用我已经搭建好的即可, 最后一天我们讲讲怎么搭建.
-
-
使用给的Hadoop集群环境即可.
-
把三台虚拟机都恢复到 07-hive安装完成 这个快照.
-
设置三台虚拟机的硬件, node1的配置可以稍微高一点.
-
启动三台虚拟机, 然后用CRT连接.
ip分别是: 192.168.88.161, 162, 163
账号和密码分别是: root, 123456
-
在node1中执行 start-all.sh 命令, 即可启动Hadoop集群.
-
然后在node1中单独运行 mapred --daemon start historyserver 启动历史服务.
-
然后在三台虚拟机中分别输入 jps 查看服务, 具体如下:
-
之后就可以在浏览器中输入如下的的端口号进行访问了.
HDFS的WebUI界面: 192.168.88.161:9870 细节: 如果是Hadoop2.X, 端口号是: 50070
Yarn的WebUI界面: 192.168.88.161:8088, 只记录本次启动Hadoop集群至关闭, 所有的计算任务.
历史服务的WebUI界面: 192.168.88.161:19888, 记录Hadoop从搭建好至现在, 所有的计算任务.
-
如果想在浏览器中直接通过 域名的方式直接访问上述的WebUI界面, 则需要配置下: 域名映射.
# 域名映射的意思是: 我们只写域名, 底层会被自动解析为对应的IP地址. # 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系统即可. # 问题: 可能你的C盘的hosts文件不让你修改, 提示权限不够, 怎么办? # 答案: 把hosts文件拷贝到桌面, 然后进行修改, 改完之后再拖回来, 选择替换即可.
-
4.Hadoop之MapReduce初体验
-
Hadoop框架提供了MapReduce的测试包, 具体如下
-
如何使用上述的测试包, 计算圆周率.
# 建议cd先进入到Hadoop提供的MR的测试包所在的路径下: cd /export/server/hadoop/share/hadoop/mapreduce # 执行MR包(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 投点数, 越大, 计算结果越精准. # 扩展: MR计算圆周率底层用的是 蒙特卡洛算法.
-
如何使用上述的测试包, 计算: 单词的次数
# 建议cd先进入到Hadoop提供的MR的测试包所在的路径下: cd /export/server/hadoop/share/hadoop/mapreduce # 执行MR包(MR任务的)格式: yarn jar hadoop-mapreduce-examples-3.3.0.jar wordcount 数据源文件路径 目的地目录路径 # 上述格式解释: 数据源文件路径 # 必须是HDFS的文件路径, 即: 要进行单词统计的文件(绝对)路径 目的地目录路径 # 必须是HDFS的目录路径, 且该目录必须不存在, 因为MR结果是 覆盖写入. # 细节: HDFS只支持 绝对路径, 不支持相对路径, 且HDFS的路径和Linux一样, 都是 /开头的. # 示例 yarn jar hadoop-mapreduce-examples-3.3.0.jar wordcount hdfs://node1:8020/input/word.txt hdfs://node1:8020/output # 上述的 hdfs://node1:8020/ 是完整写法, 8020是HDFS的客户端地址, 可以简写为: yarn jar hadoop-mapreduce-examples-3.3.0.jar wordcount /input/word.txt /output