技术干货 | Hadoop3.0稳定版安装攻略来啦!

第一次安装Apache Hadoop3.0.0是不是状况百出?没关系安装攻略来啦!

Apache Hadoop 3.0.0在前一个主要发行版本(hadoop-2.x)中包含了许多重要的增强功能。

这个版本通常是可用的(GA),api稳定性和质量已经到了可以再生成中使用的步骤。

一 概览

1,java8是必须

所有hadoop 的jar都是利用java8的运行时版本进行编译的。依然在使用java7或者更低版本的用户必须升级到Java8.

2,HDFS支持纠删码(Erasure Coding)

与副本相比纠删码是一种更节省空间的数据持久化存储方法。标准编码(比如Reed-Solomon(10,4))会有1.4 倍的空间开销;然而HDFS副本则会有3倍的空间开销。因为纠删码额外开销主要是在重建和执行远程读,它传统用于存储冷数据,即不经常访问的数据。当部署这个新特性时用户应该考虑纠删码的网络和CPU 开销。

3,MapReduce任务级本地优化

MapReduce添加了Map输出collector的本地实现。对于shuffle密集型的作业来说,这将会有30%以上的性能提升。

4,支持多于2个的NameNodes

最初的HDFS NameNode high-availability实现仅仅提供了一个active NameNode和一个Standby NameNode;并且通过将编辑日志复制到三个JournalNodes上,这种架构能够容忍系统中的任何一个节点的失败。然而,一些部署需要更高的容错度。我们可以通过这个新特性来实现,其允许用户运行多个Standby NameNode。比如通过配置三个NameNode和五个JournalNodes,这个系统可以容忍2个节点的故障,而不是仅仅一个节点。HDFS high-availability文档已经对这些信息进行了更新,我们可以阅读这篇文档了解如何配置多于2个NameNodes。,

5,多个服务的默认端口被改变

在此之前,多个Hadoop服务的默认端口都属于Linux的临时端口范围(32768-61000)。这就意味着我们的服务在启动的时候可能因为和其他应用程序产生端口冲突而无法启动。现在这些可能会产生冲突的端口已经不再属于临时端口的范围,这些端口的改变会影响NameNode, Secondary NameNode, DataNode以及KMS。与此同时,官方文档也进行了相应的改变,

6,Intra-datanode均衡器

一个DataNode可以管理多个磁盘,正常写入操作,各磁盘会被均匀填满。然而,当添加或替换磁盘时可能导致此DataNode内部的磁盘存储的数据严重内斜。这种情况现有的HDFS balancer是无法处理的。这种情况是由新intra-DataNode平衡功能来处理,通过hdfs diskbalancer CLI来调用。

7,重写守护进程以及任务的堆内存管理

Hadoop守护进程和MapReduce任务的堆内存管理发生了一系列变化。

HADOOP-10950:介绍了配置守护集成heap大小的新方法。主机内存大小可以自动调整,HADOOP_HEAPSIZE 已弃用。

MAPREDUCE-5785:map和reduce task堆大小的配置方法,所需的堆大小不再需要通过任务配置和Java选项实现。已经指定的现有配置不受此更改影响。

8,HDFS Router-Based Federation

HDFS Router-Based Federation 添加了一个 RPC路由层,提供了多个 HDFS 命名空间的联合视图。与现有 ViewFs 和 HDFS Federation 功能类似,不同之处在于挂载表(mount table)由服务器端(server-side)的路由层维护,而不是客户端。这简化了现有 HDFS客户端 对 federated cluster 的访问。

9,YARN Resource Types

YARN 资源模型(YARN resource model)已被推广为支持用户自定义的可数资源类型(support user-defined countable resource types),不仅仅支持 CPU 和内存。比如集群管理员可以定义诸如 GPUs、软件许可证(software licenses)或本地附加存储器(locally-attached storage)之类的资源。YARN 任务可以根据这些资源的可用性进行调度。

10,基于API来配置 Capacity Scheduler 队列的配置

OrgQueue 扩展了 capacity scheduler ,通过 REST API 提供了以编程的方式来改变队列的配置,This enables automation of queue configuration management by administrators in the queue’s administer_queue ACL.。

二 hadoop3.0伪分布式安装部署

1,配置core-site.xml

<property>
               <name>hadoop.tmp.dir</name>
               <value>/opt/modules/hadoop-3.0.0/data/tmp</value>
       </property>
       <property>
               <name>fs.defaultFS</name>
               <value>hdfs://Luffy.OnePiece.com:8020</value>
       </property>

2,配置hdfs-site.xml

<property>
   <name>dfs.replication</name>
<value>1</value>
</property>
<property>
    <name>dfs.permissions</name>
    <value>false</value>
</property>

3,配置yarn-site.xml

<property>
     <name>yarn.nodemanager.aux-services</name>
     <value>mapreduce_shuffle</value>
</property>
<property>  
   <name>yarn.nodemanager.vmem-check-enabled</name>  
   <value>false</value>  
</property>  

4,配置mapred-site.xml

<property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
</property>
<property>
 <name>yarn.app.mapreduce.am.env</name>
 <value>HADOOP_MAPRED_HOME=/opt/modules/hadoop-3.0.0</value>
</property>
<property>
 <name>mapreduce.map.env</name>
 <value>HADOOP_MAPRED_HOME=/opt/modules/hadoop-3.0.0</value>
</property>
<property>
 <name>mapreduce.reduce.env</name>
 <value>HADOOP_MAPRED_HOME=/opt/modules/hadoop-3.0.0</value>
</property>

5,配置/etc/profile

export JAVA_HOME=/opt/modules/jdk1.8.0_121
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/opt/modules/hadoop-3.0.0
export HADOOP_PREFIX=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

6,格式化namenode

hdfs namenode -format

7,启动

可以使用sbin目录下的启动命令,hadoop3.0更推荐如下启动命令

bin/hdfs --daemon start namenode
bin/hdfs --daemon start datanode
bin/yarn --daemon start resourcemanager
bin/yarn --daemon start nodemanager

将start换成stop,即可编程停止命令。启动后jps查看

8,上传如下数据入hdfs

9,运行自带的wordcount命令

bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0.jar wordcount /input /output

原文发布于微信公众号 - 加米谷大数据(DtinoneBD)

原文发表时间:2017-12-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Hadoop实操

CDH内存调拨过度警告分析

Hadoop应用程序或者Yarn的作业随机的出现OutOfMemory(OOM),在Cloudera Manager界面显示如下警告:

1.2K11
来自专栏恰童鞋骚年

Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我...

2181
来自专栏Hadoop实操

CDH5.14和CM5.14的新功能

Fayson在2017年的10月12日介绍了《CDH5.13和CM5.13的新功能》,今天1月26日,Cloudera正式发布了CDH5.14。三个月零几天,2...

1.7K6
来自专栏LuckQI

Java大数据学习~Hadoop初识一了解其架构

903
来自专栏码字搬砖

Impala原理、使用

简介: impala属于Cloudera,基于内存的,可用户实时的交互式查询。Cloudera建议Impala集群内存最少128G,Impalad与Data...

2743
来自专栏LhWorld哥陪你聊算法

【Sqoop篇】----Sqoop从搭建到应用案例

今天开始讲解Sqoo的用法搭建和使用。Sqoop其实功能非常简单。主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进...

1251
来自专栏Hadoop实操

Cloudera Manager管理控制台

Cloudera Manager管理控制台(Cloudera Manager Admin Console)是一个基于Web的用户界面,用于配置,管理和监控CDH...

1.2K11
来自专栏编程坑太多

跟我一起学docker(16)--单节点mesos集群

1693
来自专栏大数据

内存中的 MapReduce 和 Hadoop 生态系统:第 1 章

本文的部分内容摘自《使用 Apache Ignite 进行内存高性能计算 》一书。如果对此感兴趣,请查阅此书的其余部分以获取更多有用的信息。

2885
来自专栏别先生

一脸懵逼学习基于CentOs的Hadoop集群安装与配置(三台机器跑集群)

1:Hadoop分布式计算平台是由Apache软件基金会开发的一个开源分布式计算平台。以Hadoop分布式文件系统(HDFS)和MapReduce(Google...

2625

扫码关注云+社区

领取腾讯云代金券