文档章节

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

查封炉台
 查封炉台
发布于 2014/11/07 23:32
字数 2139
阅读 603
收藏 18

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
2018-08-13期 Hbase伪分布模式安装部署

说明: Hbase部署模式有以下三种 (1)本地模式:本地模式不依赖于HDFS存储,将文件存储到操作系统本地目录,好处是我们不需要搭建HDFS集群,即可学些HBase相关命令及客户端操作。 (2)伪分...

JackmaSong
08/13
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
2018-08-12期 Hbase本地模式安装部署

说明: Hbase部署模式有以下三种 (1)本地模式:本地模式不依赖于HDFS存储,将文件存储到操作系统本地目录,好处是我们不需要搭建HDFS集群,即可学些HBase相关命令及客户端操作。 (2)伪分...

JackmaSong
08/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊redisson的DelayedQueue

序 本文主要研究一下redisson的DelayedQueue maven <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.8.1</version></dependenc......

go4it
14分钟前
1
0
一张图看懂JVM

JVM结构示意图 JVM总体概述 JVM总体上是由类装载子系统(ClassLoader)、运行时数据区、执行引擎、内存回收这四个部分组成。其中我们最为关注的运行时数据区,也就是JVM的内存部分则是由方法...

小致dad
15分钟前
0
0
安全管理标准

安全生产严重等级分类: 故障频次: 风险等级矩阵:

乔老哥
46分钟前
2
0
数据结构“树”的相关微视频

今天在腾讯视频上闲逛,然後发现一个叫“岚人”的用户上传了几段小视频,基本上都在5分钟以内,讲解了关于树的一些结构和算法。零代码,非常适合初学者入门。不过,对于老鸟来说,这也是非常...

Iridium
58分钟前
1
0
10-利用思维导图梳理JavaSE-Java 集合

10-利用思维导图梳理JavaSE-Java 集合 主要内容 1.Collection接口 2.Set接口 2.1.Set接口概述 2.2.HashSet类 2.3.TreeSet类 2.4.SortedSet接口 3.List接口 3.1.List接口概述 3.2.ArrayList类...

飞鱼说编程
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部