Hadoop-02

1、Hadoop HDFS:一个高可靠、高吞吐量的分布式文件系统。Hadoop MapReduce:一个分布式的离线并行计算框架。(分布式和集群,想想)

2、hadoop的apache 和 cloudera公司目录结构

apache目录结构:
	bin : 对集群操作的命令   hdfs dfs和hadoop fs
	sbin: 对集群的启动和关闭的命令 
	etc/hadoop/ : hadoop的配置文件放置目录
	share : 存储hadoop的(测试案例)jar包和本身框架要使用jar包, 帮助文档
	lib\native(空): 存储c和c++的调用接口,是为了对数据的进行压缩和解压缩
cloudera的hadoop目录结构:
	bin : 对集群操作的命令  hdfs dfs和hadoop fs
	sbin: 对集群的启动和关闭的命令 
	etc/hadoop/ : hadoop的配置文件放置目录
	share : 存储hadoop的(测试案例)jar包和本身框架要使用jar包, 帮助文档
	cloudera : 存储 cloudera公司对hadoop的兼容和打的补丁存储目录
	lib\native(有): 存储c 和 c++的调用接口,是为了对数据的进行压缩和解压缩
  在编译的时候,并没有将c程序编译到安装包当中, cloudera使用java的方式来压缩和解压缩,需要对源码进行重新的编译,在编译的时候,将c程序打包到安装包中

3、2.x的Hadoop架构

hdfs:分布式的文件系统
	namenode:hdfs中主节点,可以有多个,最多只能有2个(备用)
	作用:管理hdfs的集群,保存元数据信息,如果namenode只有一个,那么namenode管理hdfs的集群,保存元数据信息,同时有一个secondaryNameNode来辅助管理namenode的元数据信息
	如果namenode有二个,那么namenode管理hdfs的集群会开启journalnode,这个journalnode进行元数据的保存,两个namenode从journalnode获取元数据信息,此时并没有secondaryNameNode
	通过zookeeper对两个namenode进行监控,如果检测某一台服务器出现宕机,马上切换另一台namenode,其也可以实现ResourceManager的高可用
	dataNode:hdfs中从节点,可以有多个,用于保存数据
	
yarn平台:统一的资源调度平台
	resourceManager:yarn平台的主节点,可以有多个,最多只能有2个(备用),接收客户端的提交任务请求,对任务进行资源的分配,来一个任务就会在任意的一个nodeManager上开启applicationMaster线程,由这个applicationMaster进行任务的分配	
	applicationMaster:resourcemanager为每个计算任务启动一个applicationMaster, applicationMaster主要负责资源的申请, 任务的分配
	nodeManager:yarn平台的从节点,可以有多个,接收applicationMaster分配过来的任务,执行对应的任务

4、什么是高可用

	高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。
	假设系统一直能够提供服务,我们说系统的可用性是100%。如果系统每运行100个时间单位,会有1个时间单位无法提供服务,我们说系统的可用性是99%。很多公司的高可用目标是4个9,也就是99.99%,这就意味着,系统的年停机时间为8.76个小时。

5、启动集群

要启动 Hadoop 集群,需要启动 HDFS 和 YARN 两个集群。 
注意:首次启动HDFS时,必须对其进行格式化操作。本质上是一些清理和准备工作,因为此时的 HDFS 在物理上还是不存在的

bin/hdfs namenode  -format或者bin/hadoop namenode –format

启动方式一: 单机节点依次启动

在主节点上使用以下命令启动 HDFS NameNode: 
	hadoop-daemon.sh start namenode 
	hadoop-daemon.sh start secondarynamenode
在每个节点上使用以下命令启动 HDFS DataNode: 
	hadoop-daemon.sh start datanode 
在主节点上使用以下命令启动 YARN ResourceManager: 
	yarn-daemon.sh  start resourcemanager 
在每个节点上使用以下命令启动 YARN nodemanager: 
	yarn-daemon.sh start nodemanager 
	
以上脚本位于$HADOOP_PREFIX/sbin/目录下。如果想要停止某个节点上某个角色,只需要把命令中的start 改为stop 即可。

启动方式二: 脚本一键启动
	如果配置了 etc/hadoop/slaves 和 ssh 免密登录,则可以使用程序脚本启动所有Hadoop 两个集群的相关进程,在主节点所设定的机器上执行。
	
node01节点上执行以下命令:
第一台机器执行以下命令
cd /export/servers/hadoop-2.6.0-cdh5.14.0/
sbin/start-dfs.sh
sbin/start-yarn.sh
sbin/mr-jobhistory-daemon.sh start historyserver

停止集群: 一般没什么问题, 不要停止集群
sbin/stop-dfs.sh
sbin/stop-yarn.sh
sbin/mr-jobhistory-daemon.sh stop historyserver

hdfs集群访问地址
	http://192.168.100.201:50070/dfshealth.html#tab-overview  
yarn集群访问地址
	http://192.168.100.201:8088/cluster
jobhistory访问地址:
	http://192.168.100.201:19888/jobhistory
	按住shift加鼠标左键快速进入windows的powershell^_^^_^

6、hdfs dfs 和 hadoop fs 操作指令(推荐hdfs dsf)

1) 需要在hdfs中创建一个 /a 目录
		hdfs  dfs -mkdir -p /a
2) 将test文件, 上传给  hdfs的a目录下
		hdfs dfs -put /root/test.txt /a

7、MapReduce的jobHistory介绍:我们可以通过hadoop jar的命令来实现我们的程序jar包的运行,关于运行的日志,我们一般都需要通过启动一个服务来进行查看,就是我们的JobHistoryServer,我们可以启动一个进程,专门用于查看我们的任务提交的日志,主要的目的是为了方便查看程序运行的日志信息, 从日志信息得出错误的信息

数据结构:数组、链表、堆、栈、队列这些肯定必须全部熟悉,二叉树这里可以引申很多东西,二叉查找树、平衡二叉树、红黑树这些也要知道,经常会问。

算法:算法这个东西得日积月累、大公司很看重这个;互联网的大公司基本只看重ACM竞赛、线上笔试有很大一部分算法题、建议多刷题,大家都在推荐 leetcode,最好每天都能练几道。剑指offer 那60多道的题,怎么也要能在白纸上写出来衫。

计算机网络:TCP/UDP、OSI的七层,每层做什么,有哪些协议等;三次握手/四次挥手、两次握手会怎么样?为什么需要等待2MSL?TCP如何保证数据的可靠传输的、拥塞控制算法及相关过程、连续ARQ和滑动窗口协议、HTTP和HTTPS、对称/非对称加密、输入url地址到显示主页的过程、长连接和短连接、HTTP常见状态码、HTTP无状态/无连接、HTTP的请求和响应格式,有哪些东西等、HTTP请求方法有哪些等。

操作系统:进程/线程、进程间通信、进程同步、线程间通信、死锁产生原因、怎么避免等、死锁/活锁、进程调度算法、页面置换算法、虚拟内存、什么是临界区?如何解决冲突?分段/分页、计算机的存储结构、虚拟内存/物理内存、虚拟地址/物理地址、进程地址空间、孤儿进程/僵尸进程、mmap和普通文件操作的区别、操作系统创建一个新进程的主要步骤、多线程上下文切换等等。

你可能感兴趣的:(Hadoop)