大数据离线计算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. 引擎设计跟踪(九.14.2g) 将GNUMake集成到Visual Studio

    最近在做纹理压缩工具, 以及数据包的生成. shader编译已经在vs工程里面了, 使用custom build tool, build命令是调用BladeShaderComplier, 并且每个文件 ...

  2. spring security 构造函数初始化bean思路

    采用有参数的构造方法来解决注入你要的属性例如:public MyInvocationSecurityMetadataSource(RoleService roleService) { this.rol ...

  3. 利用dsniff的tcpkill杀TCP连接

    利用dsniff的tcpkill杀TCP连接 Linux连接久久不能释放的现象不常见,但偶然也会发生.进程虽不复存在,但是客户端的连接咬定青山不放松,死活也不肯吐出连接,导致重启进程时因操作系统判断监 ...

  4. 从CMO到龙泉寺弟子:佛法改变人生

    今天,移动精英开发社为大家请来了佛家弟子孫濟初师兄给大家分享学佛心得.濟初师兄根据自己的亲身经历,讲述了佛法对他人生的影响,以及他所获得的启示.本文系国内ITOM管理平台OneAPM授权转载. 孫濟初 ...

  5. JavaScript基础(一)

    我是一个初学者,但求能学到些许知识!以下是根据韩顺平老师的<轻松搞定网页设计html+css+javascript—javascrip部分>整理而成. 为什么要学习javascript? ...

  6. MongoDB (十一) MongoDB 排序文档

    sort() 方法 要在 MongoDB 中的文档进行排序,需要使用sort()方法. sort() 方法接受一个文档,其中包含的字段列表连同他们的排序顺序.要指定排序顺序1和-1. 1用于升序排列, ...

  7. C和C++中结构体(struct)、联合体(union)、枚举(enum)的区别

    C++对C语言的结构.联合.枚举 这3种数据类型进行了扩展. 1.C++定义的结构名.联合名.枚举名 都是 类型名,可以直接用于变量的声明或定义.即在C++中定义变量时不必在结构名.联合名.枚举名 前 ...

  8. 图解TCP/IP读书笔记(二)

    图解TCP/IP读书笔记(二) 第二章.TCP/IP基础知识 一.TCP/IP出现的背景及其历史 年份 事件 20世纪60年代后半叶 应DoD(美国国防部)要求,美国开始进行通信技术相关的研发 196 ...

  9. iOS 解析手势识别(Gesture Recognizers)

    一.Gesture Recognizers Gesture Recognizers是在iOS3.2引入的,可以用来识别手势.简化定制视图事件处理的对象.Gesture Recognizers的基类为U ...

  10. skip-name-resolv

    skip-name-resolve skip-name-resolve 简单解释 MySQL server received a request from you to allow you to co ...