文档章节

2014-11-07---Hadoop的基础学习(一)---Hadoop2的入门与其伪分式的搭建

查封炉台
 查封炉台
发布于 2014/11/07 23:32
字数 2139
阅读 602
收藏 18
点赞 1
评论 0

1.Hadoop生态体系图

1. 这一切是如何开始的—Web上庞大的数据!
2. 使用Nutch抓取Web数据
3. 要保存Web上庞大的数据——HDFS应运而生
4. 如何使用这些庞大的数据?
5. 采用Java或任何的流/管道语言构建MapReduce框架用于编码并进行分析
6. 如何获取Web日志,点击流,Apache日志,服务器日志等非结构化数据——fuse,webdav, chukwa, flume, Scribe
7. Hiho和sqoop将数据加载到HDFS中,关系型数据库也能够加入到Hadoop队伍中
8. MapReduce编程需要的高级接口——Pig, Hive, Jaql.
9. 具有先进的UI报表功能的BI工具- Intellicus
10. Map-Reduce处理过程使用的工作流工具及高级语言
11. 监控、管理hadoop,运行jobs/hive,查看HDFS的高级视图—Hue,karmasphere,eclipse plugin,cacti,ganglia
12. 支持框架—Avro (进行序列化), Zookeeper (用于协同)
13. 更多高级接口——Mahout, Elastic map Reduce
14. 同样可以进行OLTP——Hbase

2.Hadoop的简介

Hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。
实际场景:海量日志如何处理,海量网页数据如何处理
hdfs  解决了海量数据的分布式存储,高可靠,易扩展,高吞吐量
mapreduce   解决了海量数据的分析处理,通用性强,易开发,健壮性

                             

Common:一组分布式文件系统和通用I/O的组件与接口(序列化、Java RPC和持久化数据结构)。
MapReduce:分布式数据处理模型和执行环境,运行于大型商用机集群。
HDFS:分布式文件系统,运行于大型商用机集群。
Zookeeper:一个分布式、可用性高的协调服务,提供分布式锁之类的基本服务用于构建分布式应用。
HBase:一个分布式、按列存储数据库,使用HDFS作为底层存储,同时支持MapReduce的批量式计算和点查询(随机读取)。
Pig:一种数据流语言和运行环境,用以检索非常大的数据集,运行在MapReduce和HDFS的集群上。
Hive:一个分布式、按列存储的数据仓库,管理HDFS中存储的数据,并提供基于SQL的查询语言(由运行时引起翻译成MapReduce作业)用以查询数据。
Mahout:一个在Hadoop上运行的可扩展的机器学习和数据挖掘类库(例如分类和聚类算法)。
Avro:一种支持高效、跨语言的RPC以及永久存储数据的序列化系统。
Sqoop:在数据库和HDFS之间高效传输数据的工具。

最底层平台 hdfs   yarn  mapreduce  spark
应用层     hbase  hive pig  sparkSQL  nutch 
工具类     zookeeper  flume

3.集中存储和运算的瓶颈

4.云计算中的虚拟化和Hadoop技术上的区别

5.如何解决海量存储----HDFS的简单概念

    普通的NFS和HDFS的区别以及其各自的特点

1. 优点:透明性,编程方便,容易,只须open,close,fread一些库的操作。
2. 缺点:无数据冗余性,所有数据在一台机器上,数据复制时,可能有带宽限制。
   HDFS就是为克服NFS的缺点,进行设计.存储可靠,读取方便,且与mapreduce整合到一起.可伸缩性强,高度可配置(一堆的配置文件).支持web接口:http://namenode-name:50070/流量文件系统.同时支持shell界面操作.

HDFS的整体架构图:详解见以后博客

   

       HDFS在官方文档中的架构

6.搭建Hadoop伪分布式集群

      什么是伪分布式集群:

环境准备: 虚拟机:VMware 10
         操作系统:CentOS 6
         JDK:1.7
         Hadoop:2.4
         客户端访问工具:secureCRT
         用户名:hadoop

6.1 前期网络环境准备
    在vmware中更改了虚拟机的网络类型,--->NAT方式,(虚拟交换机的ip可以从vmvare的edit-->vertual network editor看到)
    根据这个交换机(网关)的地址,来设置我们的客户端windown7的ip(Vmnet8这块网卡)
    启动linux主机,修改linux系统的ip地址(通过图形界面修改),修改完成之后在terminal(命令行终端)中切换到root用户执行命令重启网络服务来让ip生效
    修改主机名: 在root身份下,用命令修改  vi /etc/sysconfig/network   把hostname改为  yun-10-1
    添加主机名和ip的映射  在root身份下 vi /etc/hosts  添加一行 192.168.2.100	yun-10-1
    讲hadoop这个用户添加到sudoers里面去  在root身份下 vi /etc/sudoers,在文件中找到 root  ALL=ALL ALL ,下面加一行hadoop的
    停止防火墙服务   在root身份下 service iptables stop
    关闭防火墙的自动启动   在root身份下   chkconfig iptables off
    reboot命令重启机器
    用ping命令检测一下windows主机和linux服务器之间的网络连通性
    进入linux修改图形界面启动配置,不要再启动图形界面了,在root身份下,  vi /etc/inittab  将其改为id:3:initdefault:
    再次reboot,将不会启动到图形界面了 
(当以后你想启动图形界面的时候可以在命令行下敲startx (init 5) ,在图形界面下你想关闭图形界面,敲命令init 3)

6.2 安装JDK
    用终端连接linux服务器进行软件的安装(用secureCRT来连接ALT+P)
    安装jdk
	--用filezilla工具上传jdk的压缩包
	--解压jdk的压缩包到一个专门的安装目录下  /home/hadoop/app
	--在hadoop的主目录下敲命令 tar -zxvf jdk-7u65-linux-i586.tar.gz -C ./app
	--配置java的环境变量 sudo vi /etc/profile
          在文件的最后添加:
		export JAVA_HOME=/home/hadoop/app/jdk1.7.0_65
	        export PATH=$PATH:$JAVA_HOME/bin
         --让配置生效,  source /etc/profile
         --Javac,Java -version检测

6.3 安装Hadoop以及配置相关信息
    a.用secureCRT工具上传hadoop的安装包
    b.把hadoop解压到app目录中去   tar -zxvf hadoop-2.4.1.tar.gz -C ./app/
    c.修改hadoop的5大配置文件,位置在 /home/hadoop/app/hadoop-2.4.1/etc/hadoop目录
    d.配置一下hadoop的环境变量  sudo vi /etc/profile

----vi hadoop-env.sh  改其中的JAVA_HOME为我们安装jdk的路径JAVA_HOME=/home/hadoop/app/jdk1.7.0_65

----vi   core-site.xml   
   <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://yun-10-1:9000</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/home/hadoop/app/hadoop-2.4.1/tmp</value>
        </property>
    </configuration>

----vi   hdfs-site.xml
    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
     </configuration>

-- 先修改文件名   mv mapred-site.xml.template mapred-site.xml
   在编辑  vi mapred-site.xml
           <configuration>
                <property>
                    <name>mapreduce.framework.name</name>
                    <value>yarn</value>
                </property>
            </configuration>

-- vi yarn-site.xml
        <configuration>
           <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>yun-10-1</value>
           </property>
            <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
            </property>
        </configuration>

测试Hadoop伪分布式:格式化HDFS,启动HDFS,Yarn,进程查看以及网页浏览.
测试时主机名改为yun10-0.结果证明测试,成功!!!

7.SSH协议详解和流程使用

   见另外博客地址.http://my.oschina.net/codeWatching/blog/342253

8.搭建环境过程中的问题

Vmware中Clone虚拟机后提示"No such device eth0"解决
方法1:直接删除配置文件     
直接删除配置文件,重启之后Linux就会找到新的网卡了。
 
sudo rm /etc/udev/rules.d/70-persistent-net.rules
 
重启后如果网卡起不来,删除/etc/sysconfig/networking-scripts/ifcfg-eth0的如下行,或者修改为vmware分配的新MAC地址:
HWADDR="XX:XX:XX:XX:XX:XX"
 
重启网卡 service network restart
 
方法2:修正配置文件
 
修改配置文件,将原本的eth0删除,然后修改eth1的NAME="eth1"为NAME="eth0",重启之后Linux就会使用新的配置文件设置网卡了。
 
修改前的 /etc/udev/rules.d/70-persistent-net.rules 像这样:
 
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:50:XX:XX", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
 
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:85:XX:XX", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
 
删除掉eth0那一行,保留余下的行:
 
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:85:XX:XX", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

end...................................................................

© 著作权归作者所有

共有 人打赏支持
查封炉台
粉丝 49
博文 56
码字总数 138491
作品 0
景德镇
程序员
超人学院大数据高薪就业班第七期精彩课程抢先看

超人学院大数据高薪就业班第七期火爆招生中,新的一期,内容部不断增加,还有更多优惠呦,精彩内容抢先看: 1、Linux课程:如果你没有使用过Linux,别担心,本内容让你轻松入门,讲解Linux基...

超人学院
2015/04/30
0
0
Problem(一):开始记录下有帮助用的学习资料网址, 持续。。。

今天(2016-06-05)开始记录下有帮助用的学习资料网址, 方便收藏, 哈哈。。。。。 点赞。。。 更多学习: 2016-10-09 : 1. 正则 http://blog.csdn.net/zaifendou/article/details/5746988...

牧羊人Berg
2016/06/05
105
2
hadoop2配置文件详细解释

文章地址:http://www.superwu.cn/2014/02/12/1094/ 前言 hadoop是分布式系统,运行在linux之上,配置起来相对复杂。对于hadoop1,很多同学就因为不能搭建正确的运行环境,导致学习兴趣锐减。...

闵开慧
2014/04/03
0
0
详细解析 hadoop 分布式部署(转载至lee_ypp的博客)

详细解析 hadoop 分布式部署 对于 Hadoop 来说,在 HDFS 看来,节点分为 Namenode 和 Datanode,其中Namenode 只有一个, Datanode 可以是很多;在 MapReduce 看来,节点又分为Jobtracker 和 Task...

兮缘
2017/09/04
0
0
Spark2.0.0集群部署教程

1.引言 在前面的博客中介绍了Spark的伪分布安装,在本篇博客中将介绍一下Spark的集群部署,在本博客中Spark的调度采用Hadoop的Yarn平台,因此在安装Spark之前,需要先部署Hadoop的集群,因为...

Liri
2017/12/16
0
0
Spark 学习资源收集

(一)spark 相关安装部署、开发环境 1、Spark 伪分布式 & 全分布式 安装指南 http://my.oschina.net/leejun2005/blog/394928 2、Apache Spark探秘:三种分布式部署方式比较 http://dongxic...

openthings
2016/05/29
164
0
Hadoop新手学习指导

对于我们新手入门学习hadoop大数据存储的朋友来说,首先了解一下云计算和云计算技术是有必要的。下面先是介绍云计算和云计算技术的: 云计算,是一种基于互联网的计算方式,通过这种方式,共...

一枚Sir
2014/08/07
87
0
HA 模式下的 Hadoop2.7.4+ZooKeeper3.4.10搭建

一、概述 本次实验采用VMware虚拟机,linux版本为CentOS7; 因为实验所需的5台机器配置大多相同,所以采用配置其中一台,然后使用克隆功能复制另外4份再做具体修改; 其中有些步骤以前配置过...

一语成谶灬
2017/08/30
0
0
(13)HBase 1.2.6 集群部署

1.引言 在前面的博客中我们介绍的伪分布安装,在本篇博客中就主要介绍一下的集群部署,由于是一款之上的数据库,因此我们在安装之前需要首先部署的集群,其次需要使用进行管理,因此我们也需...

LoveCarpenter
2017/12/15
0
0
零基础学习hadoop到上手工作线路指导(初级篇)

零基础学习hadoop,没有想象的那么困难,也没有想象的那么容易。才刚接触大数据时,曾经想过培训,但是培训机构的选择就让我很纠结。因为师兄跟我说,很多培训机构的老师其实以前就是他们的学...

我思gu我在
2017/01/09
211
3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
1
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
0
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
0
0
Java工具类—随机数

Java中常用的生成随机数有Math.random()方法及java.util.Random类.但他们生成的随机数都是伪随机的. Math.radom()方法 在jdk1.8的Math类中可以看到,Math.random()方法实际上就是调用Random类...

PrivateO2
今天
1
0
关于java内存模型、并发编程的好文

Java并发编程:volatile关键字解析    volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在...

DannyCoder
昨天
0
0
dubbo @Reference retries 重试次数 一个坑

在代码一中设置 成retries=0,也就是调用超时不用重试,结果DEBUG的时候总是重试,不是0吗,0就不用重试啊。为什么还是调用了多次呢? 结果在网上看到 这篇文章才明白 https://www.cnblogs....

奋斗的小牛
昨天
2
0
数据结构与算法3

要抓紧喽~~~~~~~放羊的孩纸回来喽 LowArray类和LowArrayApp类 程序将一个普通的Java数组封装在LowArray类中。类中的数组隐藏了起来,它是私有的,所以只有类自己的方法才能访问他。 LowArray...

沉迷于编程的小菜菜
昨天
0
0
spring boot应用测试框架介绍

一、spring boot应用测试存在的问题 官方提供的测试框架spring-boot-test-starter,虽然提供了很多功能(junit、spring test、assertj、hamcrest、mockito、jsonassert、jsonpath),但是在数...

yangjianzhou
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部