Hadoop概论
Posted Jinandawang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop概论相关的知识,希望对你有一定的参考价值。
一、概述
- 广义:Hadoop生态圈;
- 狭义:Apache基金会开发的分布式系统开源框架,核心组件包括:
- HDFS-分布式文件系统
- MAPREDUCE-分布式运算编程框架
- YARN-作业调度和集群资源管理框架
- 优点 & 特性
- 扩容能力
- 成本低
- 高效率
- 可靠性
- 大数据的“5V”特征:Volume(大容量)、Velocity(高速率)、Variety(多样性)、Veracity(真实性)、Value(价值密度低)
二、Hadoop集群的三种模式
- 本地模式
- 完全分布式模式
三、Hadoop集群搭建(文件配置-略)
- 虚拟机准备
- 虚拟机的三种网络模式
VMware Workstation安装好之后,可以在宿主机的网络配置中看到多出来的两个网络连接,分别是VMnet1和VMnet8,其中VMnet1用于仅主机模式,VMnet8用于Nat模式。(还有一个VMnet0,用于桥接模式,可以在VMware Workstation 的虚拟网络编辑器virtual network editor中看到)
这两个模式默认提供DHCP服务(VMnet0默认不提供)。DHCP服务即动态主机设置协议,是局域网中的一种协议,能够快速地自动为我们的PC分配网络IP地址,以及为设备配置正确的子网掩码、默认网关和DNS服务器信息,为我们节省网络配置的时间,防止外来PC上网,同时避免IP重复等错误。- 仅主机模式(Host-Only)-VMnet1
* 宿主机和所有的虚拟机共同组成一个“私人的局域网络”,彼此之间可以相互访问,但与外网是相互独立的,无法访问外网。 - 网络地址转换模式(NAT)-VMnet8
* 重点在于虚拟系统通过宿主机的网络访问公网,宿主机同时参与现有的网络和新建的内部虚拟局域网,虚拟系统借助于NAT的功能,使用宿主机的IP地址访问外网,从外网的角度,只能察觉到宿主机,是完全看不到虚拟网络系统的。 - 桥接模式(Bridged)-VMnet0
* 此模式下,VMware虚拟出来的操作系统就像是局域网中一台独立的主机(需要手工配置IP、子网掩码等),相当于宿主机和虚拟机共享了同一个交换机(这个交换机当然也是虚拟出来的)
- 仅主机模式(Host-Only)-VMnet1
- 网络配置
- 在虚拟机的/etc/sysconfig/network-scripts/ifcfg-ethxx文件中修改网络配置参数
DEVICE是网卡名称 BOOTPROTO是获取的ip地址类型,static和none为静态地址,dhcp为动态获取ip地址 HWADDR是MAC地址 MTU是最大传输单位 NM_CONTROLLED是否启用NetworkManager图形界面配置工具 ONBOOT设置网卡是否在Linux系统启动时激活,这一项一般都要设为yes IPADDR是本机ip地址 NETMASK是子网掩码 GATEWAY是设置网关的 DNS1是首选DNS服务器 DNS2时辅助DNS服务器 还有一些几个参数一般情况下不用配置: BROADCAST是广播地址 原文链接:https://blog.csdn.net/huapenguag/article/details/78283249
- 在虚拟机的/etc/sysconfig/network-scripts/ifcfg-ethxx文件中修改网络配置参数
- 虚拟机的三种网络模式
- xsync分发脚本编写
#!/bin/bash #1. 判断参数个数 if [ $# -lt 1 ] then echo Not Enough Arguement! exit; fi #2. 遍历集群所有机器 for host in Hadoop101 Hadoop102 Hadoop103 do echo ==================== $host ==================== #3. 遍历所有目录,挨个发送,$@ 表示把参数以$1、$2、$3、$4...形式输出,并可以当作数组使用 for file in $@ do #4. 判断文件是否存在 if [ -e $file ] then #5. 获取父目录 pdir=$(cd -P $(dirname $file); pwd) #6. 获取当前文件的名称 fname=$(basename $file) ssh $host "mkdir -p $pdir" rsync -av $pdir/$fname $host:$pdir else echo $file does not exists! fi done done
- xcall ssh指令跳转脚本编写
#!/bin/sh pcount=$# if((pcount==0));then echo no args...; exit; fi for((host=101; host<=103; host++)); do echo ==================Hadoop$host================== ssh Hadoop$host $@ done
- 无密登录配置
- 历史服务器配置
- 日志聚集配置
- 常用端口说明
* 如:hadoop101:9870端口名称
Hadoop2.x
Hadoop3.x
NameNode内部通信端口
8020 / 9000
8020 / 9000/9820
NameNode HTTP UI
50070
9870
MapReduce查看执行任务端口
8088
8088
历史服务器通信端口
19888
19888
- 时间同步
- ......
四、Hadoop集群指令&API使用
- 启动关闭
- 上传下载
- 见文章《关于HDFS》
以上是关于Hadoop概论的主要内容,如果未能解决你的问题,请参考以下文章
尚硅谷大数据技术Hadoop教程-笔记06Hadoop-生产调优手册