大数据离线计算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. byte和hexstring,int,string等的转换类

    public class HexConversion { /** * 16进制数的字符串转字节数组(16进制转字节数组) * * @param hexString * 16进制字符串 * @retur ...

  2. 最全的dedeCMS标签调用技巧和大全

    1. 页面php方法获取字段  $refObj->Fields['id']; 2. 在页面上使用PHP连接数据库查询 {dede:php} $db = new DedeSql(false); $ ...

  3. HTML页面加载和解析流程详细介绍

    浏览器加载和渲染html的顺序 1. IE下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染是同时进行的. 2. 在渲染到页面的某一部分时,其上面的所有部分都已经下载完成(并不是说所有相关联的元 ...

  4. 去“IOE”

    所谓去“IOE”,是对去“IBM.Oracle.EMC”的简称,三者均为海外IT巨头,其中IBM代表硬件以及整体解决方案服务商,Oracle代表数据库,EMC代表数据存储.去“IOE”策略更广泛的理解 ...

  5. POJ 2724

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

  6. 高质量图形库:pixellib

    点这里 pixellib 是高质量 2D 图形库: 高质量抗锯齿,矢量图形绘制 多种图像格式: RGB, BGR, ARGB, ABGR, RGBA, BGRA 8 / 15 / 16 / 24 / ...

  7. sql server 2008 修改sa密码

    问题: 当我们用windows本身验证之后需要修改sa密码,出现这样的错误. 解决方案:

  8. Codeigniter 利用加密Key(密钥)的对象注入漏洞

    http://drops.wooyun.org/papers/1449 原文链接:http://www.mehmetince.net/codeigniter-object-injection-vuln ...

  9. 简明Vim练级攻略(转)

    前言今天看到这篇文章,共鸣点非常多.它把Vim使用分为4个级别,目前我自己是熟练运用前面三级的命令,在培养习惯使用第四级.完全就是我这一年来坚持使用Vim的过程.所以不管怎么我要转载这篇文章.翻译自& ...

  10. SQL Server 2008管理工具出现 远程过程调用失败0x800706be解决方法

    解决方法 出现此问题是因为在安装 Visual Studio 2012(VS2012) 时,会自动安装 "Microsoft SQL Server 2012 Express LocalDB& ...