1. Hadoop 1.x组成:Common(辅助工具)、HDFS(数据存储)、MapReduce(计算+资源调度)
Hadoop 2.x组成:Common(辅助工具)、HDFS(数据存储)、MapReduce(计算)、Yarn(资源调度)
Hadoop 3.x组成与2.x组成无变化,增加新特性:如配置多个NameNode等
2. Yarn组成:ResourceManager(管理整个集群内存和CPU)、NodeManager(管理单个节点资源)、ApplicationMaster(管理单个任务的运行)、Container(容器,相当于一个独立的服务器,内部封装任务运行所需的资源)
集群上可以运行多个ApplicationMaster。每个NodeManager上可以有多个Container。
3. MapReduce:
Map阶段并行处理输入数据
Reduce阶段对Map结果进行汇总
4. Hadoop运行模式
本地模式:数据存储在linux本地。(测试)
伪分布式:数据存储在HDFS。
完全分布式:数据存储在HDFS,多台服务器工作。
5. 服务器间文件传输操作
1)scp : 安全拷贝,全都复制一份
scp -r sourceDir targetUser@targetHost:targetDir //推数据 scp -r sourceUser@sourceHost:sourceDir targetDir //拉数据
2)rsync:远程同步工具,只对差异文件做更改,速度更快。
rsync -av sourceDir targetUser@targetHost:targetDir //推数据 rsync -av sourceUser@sourceHost:sourceDir targetDir //拉数据
3)编写集群分发脚本xsync,循环复制文件到所有节点相同目录下。编写shell脚本,通过遍历各个节点,并使用ssh和rsync实现文件复制。
6. ssh免密登录
1)进入home目录下
ls -al //获取隐藏文件
2)进入.ssh目录下
ssh-keygen -t rsa //生成公钥和私钥,一直回车
3)将公钥复制到其他节点,便能实现免密登录该节点
ssh-copy-id bigdata3 //将公钥复制到bigdata3节点
4)完成免密登录其他节点
ssh bigdata3 //无需输入密码,退出时使用exit指令
7. NameNode、SecondNameNode、ResourceManager通常位于集群中的不同节点,避免内存竞争。
8. 配置文件
1)core-site.xml
fs.defaultFS hdfs://bigdata2:8020 hadoop.tmp.dir /opt/module/hadoop-3.1.3/data hadoop.http.staticuser.user bigdata
2)hdfs-site.xml
dfs.namenode.http-address bigdata2:9870 dfs.namenode.secondary.http-address bigdata4:9868
3)yarn-site.xml
yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.hostname bigdata3 yarn.nodemanager.env-whitelist JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME
4)mapred-site.xml
mapreduce.framework.name yarn
5)workers(3.x) / slaves (2.x)
bigdata2 bigdata3 bigdata4
9. 常用端口号
hadoop 3.x
HDFS 内部通讯端口:8020/9000/9820
HDFS 对用户查询端口:9870
Yarn 查看任务运行情况:8088
历史服务器:19888
hadoop 2.x
HDFS 内部通讯端口:8020/9000
HDFS 对用户查询端口:50070
Yarn 查看任务运行情况:8088
历史服务器:19888



