大数据学习之Hadoop

一、基础概念

Hadoop包含HDFS和MapReduce,HDFS实现分布式存储,MapReduce实现数据分布式计算。
HDFS:

HDFS是由Namenode和Datanode组成。Namenode负责管理文件系统的namespace和客户端对文件的访问。Datanode负责管理节点上的存储。在内部,一个文件其实分成一个或多个block,这些block存储在Datanode集合里。Namenode执行文件系统的namespace操作,例如打开、关闭、重命名文件和目录,同时决定block到具体Datanode节点的映射。Datanode在Namenode的指挥下进行block的创建、删除和复制。

yarn

NameNode Active
NameNode Standby
datanode
NodeManager
ResourceManager
JournalNode
QuorumPeerMain:zookeeper进程
FailoverController:NameNode故障转移

二、安装配置

  • 下载安装包解压到:/usr/local/hadoop
  • 环境变量:vim /etc/profile
export HADOOP_HOME=/usr/local/hadoop
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
  • 编辑配置文件
  1. core-site.xml
  • 配置Service的URL地址、Hadoop集群临时目录等信息
  • 使用 fs.default.name 还是 使用 fs.defaultFS ,要首先判断是否开启了 NN 的HA (namenode 的 highavaliable),如果开启了nn ha,那么就用fs.defaultFS,在单一namenode的情况下,就用 fs.default.name
<configuration>

        <!-- 配置HDFS的老大(namenode)的地址 -->
        <property>
                <name>fs.default.name</name>
                <value>hdfs://cluster1</value>
        </property>

        <!-- 配置hadoop运行时产生的文件的目录 -->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/local/hadoop/tempdata</value>
        </property>

        <!-- 指定Zookeeper地址 -->
        <property>
                <name>ha.zookeeper.quorum</name>
                <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
        </property>

</configuration>
  1. hdfs-site.xml

配置Hadoop集群的HDFS别名、通信地址、端口等信息。

<configuration>
<property>
  <name>dfs.replication</name>
  <value>3</value>
</property>

<!-- namenode节点数据(即元数据)的存放位置,可以指定多个目录实现容错,多个目录用逗号分隔 -->
<property>
  <name>dfs.namenode.name.dir</name>
  <value>/usr/local/hadoop/hadoopdata/namenode</value>
</property>

<!-- datanode节点数据(即数据块)的存放位置 -->
<property>
  <name>dfs.datanode.data.dir</name>
  <value>/usr/local/hadoop/hadoopdata/datanode</value>
</property>

<!-- JournalNode的元数据在JournalNode上的存放位置 -->
<property>
  <name>dfs.journalnode.edits.dir</name>
  <value>/usr/local/hadoop/hadoopdata/journalnode</value>
</property>
          
<!-- 指定HDFS的NameService为cluster1,需要和core-site.xml中保持一致 -->
<property>
  <name>dfs.nameservices</name>
  <value>cluster1</value>
</property> 

<!--cluster1中有两个NameNode,分别是hadoop01节点和hadoop02节点--> 
<property>
  <name>dfs.ha.namenodes.cluster1</name>
  <value>hadoop01,hadoop02</value>
</property> 
    
<!--hadoop01节点的RPC通讯地址-->
<property>
  <name>dfs.namenode.rpc-address.cluster1.hadoop01</name>
  <value>hadoop01:9000</value> 
</property>
<!--hadoop02节点的RPC通讯地址-->
<property>
  <name>dfs.namenode.rpc-address.cluster1.hadoop02</name>
  <value>hadoop02:9000</value>
</property>

<!--hadoop01的http地址-->
<property>
  <name>dfs.namenode.http-address.cluster1.hadoop01</name>
  <value>hadoop01:50070</value>
</property>
<!--hadoop02的http地址-->
<property>
  <name>dfs.namenode.http-address.cluster1.hadoop02</name>
  <value>hadoop02:50070</value>
</property>

<!-- 指定NameNode的元数据在JournalNode上的共享存储存放位置-->
<property>
  <name>dfs.namenode.shared.edits.dir</name>
  <value>qjournal://hadoop03:8485;hadoop04:8485;hadoop05:8485/cluster1</value>
</property>

<!-- 指定 cluster1 出故障时,哪个实现类负责执行故障切换-->
<property>
  <name>dfs.client.failover.proxy.provider.cluster1</name>
  <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>

<!-- 配置隔离机制,确保在任何给定时间只有一个NameNode处于活动状态 -->
<property>
  <name>dfs.ha.fencing.methods</name>
  <value>sshfence</value>
</property>
<!-- 使用sshfence机制时需要ssh免密登录 -->
<property>
 <name>dfs.ha.fencing.ssh.private-key-files</name>
 <value>/home/hadoop/.ssh/id_rsa</value>
</property>
<!-- 开启高可用,故障自动转移 -->
<name>dfs.ha.automatic-failover.enabled</name>
  <value>true</value>
</property>

<!-- 指定可以通过web访问HDFS目录-->
<property>
  <name>dfs.webhdfs.enabled</name>
  <value>true</value>
</property>
<!-- 保证数据恢复,通过0.0.0.0来保证内网地址和外网地址都可以访问-->
<property>
  <name>dfs.journalnode.http-address</name>
  <value>0.0.0.0:8480</value>
</property>
<property>
  <name>dfs.journalnode.rpc-address</name>
  <value>0.0.0.0:8480</value>
</property>

<!-- 通过ZKFailoverController来实现自动故障切换-->
<property>
  <name>ha.zookeeper.quorum</name>
  <value>hadoop03:2181,hadoop04:2181,hadoop05:2181</value>
</property>

</configuration>                                  
  1. map-site.xml

计算框架资源管理名称、历史任务访问地址等信息。

<configuration>
<!--计算任务托管的资源框架名称-->
<property>
  <name>mapreduce.framework.name</name>    
  <value>yarn</value>
</property>
<!--配置 MapReduce JobHistory Server 地址,默认端口 1002000-->
<property>
  <name>mapreduce.jobhistory.address</name>    
  <value>0.0.0.0:10020</value>  
</property>
<!--配置 MapReduce JobHistory Server Web 地址,默认端仁 19888 -->
<property>
  <name>mapreduce.jobhistory.webapp.address</name>      
  <value>0.0.0.0:19888</value>      
</property>
</configuration>
  1. yarn-site.xml

配置yarn-site.xml,Hadoop 资源管理通过 YARN 来完成资源相关分配 作业的调度与监控及数据的共
享等。


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,192评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,858评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,517评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,148评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,162评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,905评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,537评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,439评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,956评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,083评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,218评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,899评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,565评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,093评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,201评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,539评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,215评论 2 358

推荐阅读更多精彩内容