大数据离线计算hadoop2.x

三周(6天)

markdown文本剪辑器

罗振宇--跨年演讲,时间的朋友 http://tech.163.com/16/0101/11/BC87H8DF000915BF.html

勤奋的男人和爱笑的女人运气都不会太差。

1. 什么是Hadoop

2. hadoop生态系统架构功能与原理

3. hadoop核心模块组成

4. hadoop 2.x伪分布式环境搭建与配置、测试

一、前置课程:

Linux:

Java:

应用程开发>系统层开发

数据库:

SQL on Hadoop

hive->sql

spark sql(spark)

http://www.infoq.com/cn/news/2014/06/sql-on-hadoop

二、

cloudera, 简称:CDH版

http://archive.cloudera.com/cdh5/

http://www.aboutyun.com/thread-9219-1-1.html

impala

三、Hadoop版本

2.2.0,2.5.0, 2.7.x

四、大数据特征

1. 大量(海量数据):以PB为临界点,1PB=1024TB

秒级营销

爬虫>网络存储>HDFS

Google三驾马车: GFS,mapreduce,Bigtable

后Hadoop时代的新“三驾马车”——Caffeine、Pregel、Dremel

(1)分》合 map-reduce:分而治之

map:分

reduce:合

(2)HBASE

(3)HDFS 分布式的文件系统

五、Hadoop特性

1、可靠的

2、可拓展的

存储可靠性:

HDFS副本数策略,默认3个。

以块的形式存储,默认块的大小是128MB。

校验码,检测块是否损坏。

计算可靠性:

一个机器损坏并不影响处理数据,因为其他机器也有存储,再开启map即可。

低成本:

运行在普通的廉价的机器上。

六、HDFS分布式文件系统

HADOOP1.X中HDFS工作原理

1、设计理念:一次写入,多次读取

2. 主从架构

  主节点:namenode,存储元数据

  从节点:datanode,存储具体的文件

3. 文件的属性

名称

位置

副本数

权限

存储块

各个块在哪些datanode节点上

......

4. 块block的形式存储

举例:默认块的大小256M

现在有一个文件,大小为500MB

分为链各个存储块,第一个块:256MB,第二个块244MB

5. 文件的属性称为:元数据(命名空间)

6. HDFS读写流程

读取文件:

/user/beifeng/mapreduce/wc.input

写操作流程:

/user/beifeng/mapreduce/wc.input

7. 就近原则

8. 小结

客户端>namenode

客户端>datanode

七、Hadoop YARN框架

1、主从架构

主节点:resourcemanager

从节点:nodemanager

2、YARN如何调度任务

client->job->resourcemanager

wordcount词频统计

Container容器

八、MapReduce

Hadoop学习笔记:MapReduce框架详解

(1)map ->reduce

过程中有一个阶段:shuffle(洗牌,打乱)

Map阶段并行处理输入数据

Reduce阶段对Map结果进行汇总

(2)Shuffle连接Map和Reduce两个阶段

Map Task将数据写到本地磁盘

Reduce Task从每个Map Task上读取一份数据

(3)仅适合离线批处理

具有很好的容错性和拓展性

适合批处理

(4)缺点明显

启动开销大,过多使用磁盘导致效率低下

由于MR磁盘IO消耗较大,就诞生了spark

spark:从磁盘读,将数据写到内存中

九、环境搭建

1.

vi /etc/sysconfig/selinux

#SELINUX=disabled

2. 加sudo权限

vi /etc/sudoers

beifeng ALL=(root)NOPASSWD:ALL

3. 关闭防火墙

chkconfig iptables off

service iptables status

4. 安装jdk

chown beifeng:beifeng /opt/*

export JAVA_HOME=

export PATH=$PATH:$JAVA_HOME/bin

su -root

souce /etc/profile

十、安装hadoop

安装hadoop

tar -zxvf haddop***.gc -C /opt/modules

df -h

删除无用的文档

cd share/

rm -rf ./doc/

http://hadoop.apache.org/docs/r2.5.2/

http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-common/SingleCluster.html

1. hadoop 模式

(1)本地模式

本地模式下使用的是本地文件系统,仅运行于本机

(2)伪分布式模式

一个节点,使用的是分布式文件系统

(3)分布式模式

hadoop守护进程运行部署在一个集群

2.

native 本地库  /opt/modules/hadoop-2.5.0/lib

脚本 /opt/modules/hadoop-2.5.0/sbin

配置文件 /opt/modules/hadoop-2.5.0/etc

3. 伪分布式配置

(1)配置hadoop-env.sh, yarn-env.sh,mapred-env.sh

修改JAVA_HOME=/opt/modules/jdk1.7.0_67

bin/hadoop查看

(2)

etc/hadoop/core-site.xml:

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

core-site.xml:

hadoop/tmp.dir

/opt/modules/hadoop-2.5.0/data/tmp

配置slaves

指定节点所在的位置

beifeng-hadoop-01

配置hdfs-site.xml,数据副本数,副本数等于所有datanode的总和

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

(3)Format the filesystem:

  $ bin/hdfs namenode -format

sbin/hdfs/hadoop-daemon.sh start namenode
sbin/hdfs/hadoop-daemon.sh start datanode

(4)hdfs文件管理页面
hostname:50070

hostname:50070/explorer.html

HDFS用户主目录
创建目录 bin/hdfs dfs -mkdir -p /user/beifeng

上传 bin/hdfs dfs -mkdir -put etc/hadoop/core-site /user/beifeng
  读取 bin/hdfs dfs -mkdir -cat /user/beifeng/core-site.xml

 查看hdfs常用命令和选项的使用: bin/hdfs hdf
 
(5)yarn配置

etc/hadoop/yarn-site.xml:

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration> 指定mapreduce使用yarn

etc/hadoop/mapred-site.xml:

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

指定resourcemanager主节点所在位置

yarn.resourcemanager.hostname=beifeng-hadoop-01

启动:

sbin/yarn-daemons.sh start resoucemanager

sbin/yarn-daemons.sh start nodemanager

jps

(6)wordcount

bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount

mapreduce输出目录不能存在

查看结果

bin/hdfs dfs -text /user/***/r-r-00000

(6)

logs目录存放日志文件

(7)hdfs-site.xml

设置hdfs用户权限不检测

dfs.permissions.enabled = false

(8)历史服务器

查看已经运行的mapreduce作业记录

sbin/mr-jobhistory-daemon.sh start historyserver

外部访问端口  host:19888

日志聚集功能配置:

直接查看HDFS上的数据,mapreduce运行时产生的日志

yarn-site.xml

是否启用日志聚集功能   yarn.log-aggregation-enable=true

日志保留时间  yarn.log-aggregation.retain-seconds=12324(秒)

(9)

WARN util.NativeCodeLoader 解决方法

bin/hadoop version

十一、 编译Hadoop源码

64位centos 下编译 hadoop 2.6.0 源码

1、必须在Linux上编译

2、编译使用的JDK必须是1.6以上

3、编译使用的maven版本必须是3.0以上

4、需要安装一些工具

Findbugs

CMake

5、重点:必须连接互联网

编译前测试下能否ping通外网

(1)配置jdk

(2)配置Maven

export MAVEN_HOME=/opt/modules/apache-maven-3.0.5

exprort PATH=$PATH:$MAVEN_HOME/bin

source /etc/profile

mvn -version

(3)安装gcc

su -root

yum -y install gcc gcc-c++

(4)安装protocol buffer

《OD学hadoop》第二周0702的更多相关文章

  1. 《OD学hadoop》第二周0703

    hdfs可视化界面: http://beifeng-hadoop-01:50070/dfshealth.html#tab-overview yarn可视化界面: http://beifeng-hado ...

  2. 《OD学hadoop》第一周0625

    一.实用网站 1. linux内核版本 www.kernel.org 2. 查看网站服务器使用的系统  www.netcraft.com 二.推荐书籍 1. <Hadoop权威指南> 1- ...

  3. 《OD学hadoop》第三周0710

    一.分布式集群安装1. Hadoop模式本地模式.伪分布模式.集群模式datanode 使用的机器上的磁盘,存储空间nodemanager使用的机器上的内存和CPU(计算和分析数据) 2. 搭建环境准 ...

  4. 《OD学hadoop》第三周0709

    一.MapReduce编程模型1. 中心思想: 分而治之2. map(映射)3. 分布式计算模型,处理海量数据4. 一个简单的MR程序需要制定map().reduce().input.output5. ...

  5. 《OD学hadoop》第一周0626

    一.磁盘管理 Linux添加新硬盘.分区.格式化.自动挂载 http://lxsym.blog.51cto.com/1364623/321643 给Linux系统新增加一块硬盘 http://www. ...

  6. 《OD学hadoop》第一周0626 作业二:Linux基础

    一.打包压缩 知识点: tar -zxvf -C PATH tar -jxvf tar -zcvf tar -jcvf tar:打包命令 -z 打包同时gzip压缩 -j 打包同时bzip2 -c 打 ...

  7. 《OD学hadoop》第一周0625 LINUX作业一:Linux系统基本命令(一)

    1. 1) vim /etc/udev/rules.d/-persistent-net.rules vi /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE= ...

  8. 《OD学hadoop》第四周0716

    7.16 一.回顾 二.HDFS Federation(联盟) Hadoop 2.2.0发布新特性 很多的大公司都在使用:BAT HDFS Federation + HDFS HA架构 互相隔开,但是 ...

  9. 《OD学hadoop》20160903某旅游网项目实战

    一.大数据的落地点 1.数据出售 数据商城:以卖数据为公司的核心业务 2. 数据分析 百度统计 友盟 GA IBM analysis 3.搜索引擎 4. 推荐系统 mahout 百分比 5.精准营销 ...

随机推荐

  1. Winform跨线程操作界面的策略

    BeginInvoke(new ThreadStart(() => toolStripButton1.Text = "aaa")); 1.非跨线程操作和部分跨线程get不会引 ...

  2. The Brain vs Deep Learning Part I: Computational Complexity — Or Why the Singularity Is Nowhere Near

    The Brain vs Deep Learning Part I: Computational Complexity — Or Why the Singularity Is Nowhere Near ...

  3. WPF命令参数CommandParameter

    XAML代码如下: <Window x:Class="Demo006.MainWindow" xmlns="http://schemas.microsoft.com ...

  4. 疯狂java讲义——继承

    本文章只是记录我在学习疯狂java讲义里面,对之前java知识查缺补漏进行的总结. 方法重写 方法重写要遵循"两同两小一大"规则."两同"即方法名相同.形参列表 ...

  5. 如何快速查看将C反汇编的代码

    查看反汇编主要的思路在于将 流程,处理,算法 区分开来.1 函数调用:原C代码: int sum(int, int);int main(){ int c = sum(1, 2); printf(&qu ...

  6. javascript 关于函数的返回值

    在javascript中根据调用方式的不同返回的内容也不同 1.  以函数的形式调用 当以函数的形式调用时, 返回值和函数定义时的 ruturn 有关, return的是数字就number类型, re ...

  7. IE6 IE7 IE8(Q) 不支持 JSON 对象

    标准参考 JSON 是一种数据交换格式,RFC 4627 对 JSON 进行了详细描述. 根据 ECMA-262(ECMAScript)第 5 版中描述,JSON 是一个包含了函数 parse 和 s ...

  8. FIN_WAIT1 能持续多久?你知道吗

    FIN_WAIT1 能持续多久?你知道吗 2016-01-12 运维帮 原文:http://blogread.cn/it/article/7215?f=wb&luicode=10000359 ...

  9. ASP.NET母版页与内容页相对路径的问题

    1. 图片问题 图片显示问题:<img runat="server" src="~/images/ad468x60.gif" alt="&quo ...

  10. POJ 2724

    Purifying Machine Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 4014   Accepted: 1127 ...