hadoop组件(hadoop组件的核心功能)
本篇文章给大家谈谈hadoop组件,以及hadoop组件的核心功能对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
Hadoop三大组件
hadoop三大组件 mapreduce 分布式运算框架 yarn 任务调度平台 hdfs 分布式文件系统
1.HDFS数据存放策略:分块存储+副扰皮本存放。
2.数据拓扑结构(即数据备份):默认存放3份,可以通过修改配置文件hdfs-site.xml修改备份数量,如果本机在集群中,第一份就会存放到本节点即本机上,如果不在集群中,就通过负载均衡存放到一个相应的随机节点上,第二份存放在同机柜的不同节点上,第三份存放在不同机柜的某个节点上。
3.数据查找:就近原则,现在本节点上查找,再从本机柜上查找,最后再去不同机柜上查找。
4.单点故障:Hadoop1中,一个集群只有NameNode,一旦NameNode宕机,整个集群就无法使用。
5.RPC:(Remote-Procedure-Call远程过程调用)RPC是hadoop构建的基础,一种协议,通过网络从远程计算机程序上请求服务,采用client/sever客户机/服务机模式,客户端发动请求结果返回给客户端而不是服务端。
6.安答迹装模式:NameNode启动时会进入该模式进行检测,检查数据块的完整性,处于该模式下的集群无法对HDFS进行操作,可以手动离开安全模式
hadoop dfsadmin -saftmode leave 推出安全模式(enter进入安全模式)
7.负载均衡:让DataNode处于均很状态,调整数据块,DataNode的工作任务等,例如:现有一个任务要分配给从节点运行,但是有些slave内存比较小,有些内存比较大,又有些slave正在执行别的任务,有些事空闲的,为了让各个slave既要饱和状态又要性能最好,就需要调整;再例如:原本有8个子节点,现在扩充了2个子节点,原先的8个子节点都要数据存储,也有相应的任务需要执行,而后加的2个子节点是空的,此时也需要负载均衡进行重新分配数据的存储和任务的执行。手动启动该机制运行:
$HADOOP_HOME/sbin/start-balancer.sh
8.机架感知:机架之间的交互用机架感知来进行。机架之间的通信是通过一些交换机,路由器,光纤等进行通信的,需要通过机架感知来交互。不同机架之间相互访问网络耗费较大且延迟也较高,所以理想状态下要查找数据刚刚好就在本机上,就不用耗费资源查找了,就需要通过机架感知。大型hadoop集群通过机架形式组织,而且同一机架上不同节点间的网络状况比不同机架之间清李并的更为理想。
9.心跳机制:Hadoop是主从结构,即master/slave结构,master有NameNode,ResourceManager,SecondaryManager;slave有DataNode,NodeManager。master启动时会启动一个ipc服务(Inner-Process-Communication,通信间进程),等待slave连接。slave启动时,会主动连接ipc服务,并且每隔3秒连接一次master,这就是“心跳”。slave通过心跳机制汇报自己的状态,job完成情况等给master,同事master也通过心跳机制向slave下达命令,分配任务。同样的,ResourceManager和NodeManager之间也通过心跳机制进行交互。如果master长时间没有收到slave的心跳,那么master就认为该slave宕机了,如果slave宕机了,master就会把slave的数据通过负载均衡机制分配给其他slave上,正在执行的任务也会被作废,重新分配,重新执行。
10.HA机制:High Availablity高可用性,H2中用于结局NameNode的单点故障问题。通过配置Active/Standby两个NameNode解决热备份问题。active NN对外提供服务,standby NN只做备份,active NN将数据写入共享存储系统(NFS-NetWorkSystem,QJM,BooKeeper等)中而standby NN监听,一旦有新数据写入standby NN会读取这些数据写入自己的内存,保证和active NN保持同步,当active NN发生故障,standby NN可以立即顶替。每个节点上都有一个zookeeper。DN不断向active NN 和standby NN发送心跳,zookeeper会检测2个NN,active NN和standby NN通过共享存储系统保持一致,当zookeeper监测到active NN出现故障时,会立即通过故障转移控制器切换standby NN为激活状态。
注意:SecondaryNameNode不是HA,只是阶段性合并edits和fsimage,用以缩短NN启动的时间,NN失效时SecondaryNN不能立即提供服务,而且也不能保证数据和NN的一致性。
hadoop三大组件不包括
hadoop三大组件不包括所有分布式结构。广义上的Hadoop是指Hadoop的整个技术生态圈但不包括所有分布式。狭义上的Hadoop指的是其核心三大组件,包括HDFS、YARN及MapReduce.Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的宽芦情况下,开发分布式程序。充分利用集群的威力,解决海量数据的存慎宴带储及海祥稿量数据的分析计算问题。
[img]hadoop及其组件安装
操作系统集群配置
搭建3节点完全分布式集群,即1个nameNode,2个dataNode,分别如下:
1、创建虚拟机CentOS7并安装配置JDK,克隆两台
2、修改主机名:master、slave1、slave2
3、设置静态:10.221.101.1、10.221.101.2、10.221.101.3
4、关闭防火墙
5、免密设置
每台皮羡笑节点生成公钥:
master中将公钥id_dsa.pub添加进keys,实现master免密:
将master中公钥分别添加到slave1及slave2的keys中,实现master对slave1及slave2节点免密:
master执行 如下命令,进行验证
6、组件所用版本
安装路径:mkdir /usr/local/hadoop/hadoop-2.7.3/bin/
1、解压hadoop
2、 执行命令检查hadoop是否可用
查看是否显示hadoop版本信息Hadoop 2.7.3 显示即正常
3、创建所需目录
4、设置hadoop环境变量
任意目录输入 hado,然后按Tab,如果自动补全为hadoop,则说明环境变量配正确
同步到其他节点上
5、修改hadoop配置文件
—hadoop-env.sh
—core-site.xml
—hdfs-site.xml
—mapred-site.xml
—yarn-env.sh
—燃含yarn-site.xml
— slaves
将localhost删掉,加入如下内容,即dataNode节点的hostname
6、 以上配置同步到slave1,slave2中
7、启动hadoop
— 首次启动需要先在 master 节点进行 NameNode 的格式化:
— 在master机器上,进入hadoop的sbin目录
8、查看是否启动成功
—jps 查看当前java的进程
输入jps 查看当前java的进程,列出当前java进程的PID和Java主类名,nameNode节点除了JPS,有3个进程
在slave1和slave2节点上分别输入派敏 jps 查看进程如下,说明配置成功
— 查看运行状况
在浏览器访问nameNode节点的8088端口和50070端口可以查看hadoop的运行状况
192.168.1.110:50070
192.168.1.110:8088
zookeeper集群搭建要至少3个节点(master,slave1, slave2),所以三台服务器都要部署zookeeper
1、解压到安装目录
2、添加环境变量
同步到其他节点上
3、 修改配置文件
/usr/local/hadoop/zookeeper-3.4.10/conf
删除原有内容
4 、根据以上配置 创建zookeeper的数据文件和日志存放目录
同步到其它节点
5 、在三台zookeeper的/usr/local/storage/zookeeper/data目录下分别创建并编辑myid
—创建
—编辑
6 、将以上配置同步到其他hadoop节点
7、启动zookeeper
如果zookeeper集群还没有启动的话, 首先把各个zookeeper起来。最好三个节点上同时启动
(1个leader,2个follower)
输入jps,会显示启动进程:QuorumPeerMain
前提安装mysql
1、解压到安装目录
2、 添加环境变量
同步到其他节点上
3 、配置文件修改
—hive-env.sh
—hive-site.xml
4、 hive lib中添加所需jar包
—添加mysql驱动
【以下可不配置】
—从hbase/lib下复制必要jar包
—同步hive和hadoop的jline版本
查看版本
若有低版本则删除
例如:jline 0.9 rm jline-0.9.94.jar
—复制jdk的tools.jar
5 、在配置的mysql中创建hive库
【需外界可连接上】
6 、hdfs创建存储数据的目录
7、 启动hive
hive 远程服务 (端口号10000) 启动方式[metastore和hiveserver2在同一台上启动即可]
hive 命令行模式
或者输入
查看进程为:2个RunJar
注意:可以在任意一台服务器上启动hive,都可以。
8 、查看启动进程
通过命令 jps 可以查看各个节点所启动的进程。正确的话,在 Master 节点上可以看到 NameNode、ResourceManager、SecondrryNameNode进程
Master上:
在 Slave 节点可以看到 DataNode 和 NodeManager 进程
Slave上:
程序启动成功后可以在任意一台启动hive
可以在启动MR-JobHistory服务,
Hadoop2 MR-JobHistory服务介绍
1)MR-JobHistory服务目标
主要是向用户提供历史的mapred Job 查询
详细解释:
a)在运行MR Job时,MR 的 ApplicationMaster会根据mapred-site.xml配置文件中的配置,将MR Job的job history信息保存到指定的hdfs路径(首先保存到临时目录,然后mv到最终目录)
b)如果在yarn-site.xml中,没有配置nodemanage的LogAggregation功能,则historyserver无法提供mr日志明细查询的功能(在提交mr job时,yarn和mapred的配置都是必须的)
c)historyserver向外提供两个接口,web接口可以提供jobhistory和明细日志查询的功能,而restApi只提供jobhistory查询的功能
1、 解压到安装目录
2、添加环境变量
同步到其他节点上
3、配置文件修改
/usr/local/hadoop/hbase-1.3.1/conf
—regionservers 文件
—hbase-env.sh
—hbase-site.xml
4、创建hbase-site.xml配置文件中的hbase目录
同步软件到其他节点
5、同步上述配置到其他节点
6、启动Hbase
—启动
—验证安装成功
—查看进程为:HMaster,HRegionServer
主节点:HMaster,HRegionServer
从节点:HRegionServer
—通过web UI访问hbase状态
关于hadoop组件和hadoop组件的核心功能的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。