本文转载自向着梦想奋斗博客

Hadoop是什么?

适合大数据的分布式存储于计算平台

不适用小规模数据

作者:Doug Cutting

受Google三篇论文的启发

Hadoop核心项目

HDFS(Hadoop Distrubuted File System) 分布式文件系统

MapReduce 并行计算框架

版本

Apache

官方版本

Cloudera

使用下载最多的版本,稳定,有商业支持,在Apache的基础上打上了一些补丁(Patch)。推荐使用。

Yahoo

Yahoo内部使用的版本,发不过两次,已有的版本放到Apache上,后续不在继承发布,而是继承在Apache的版本上。

Intel、IBM、微软等等。。。

HDFS架构

主从结构

主节点,只有一个namenode

从节点,有很多歌datanode

namenode负责:

接收用户操作的请求

维护文件系统的目录结构

管理文件与block之间关系,block与datanode的关系

datanode负责:

存储文件

文件被分成block存储在磁盘上

为了保证数据安全,文件会有多个副本

MapReduce架构

主从结构

主节点:只有一个JobTracker

从节点:有很多歌TaskTrackers

JobTracker负责

接收客户提交的计算任务

把计算任务分给TaskTrackers执行

监控TaskTrackers的执行情况

TaskTrackers负责

执行JobTracker分配的计算任务

Hadoop的特点

扩容能力,可以存储PB级别数据

成本低,可以用普通组装服务器做集群

高效率,可以分发数据并行处理

可靠性,自动维护多个副本,任务使用可以自动部署计算任务

Hadoop集群的物理分布

单点结构图

Hadoop部署方式

本地模式(不使用)

伪分布模式(实验学习使用,模拟集群模式)

集群模式(生产环境使用)

安装前软件准备

虚拟机(VitualBox/Vmware/Xen)

操作系统(Centos/RedHat..)

Jdk

Hadoop安装包

Hadoop伪分布安装步骤

1、关闭防火墙

chkconfig iptables off 关闭开机启动

service iptables stop 关闭运行的防火墙

2、修改ip

vi /etc/sysconfig/network-script/ifcfg-eth0

3、修改hostname

vi /etc/sysconfig/network

修改hostname

4、设置ssh密钥登陆

ssh-keygen -t rsa

cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

5、安装jdk

chmod 755 jdk* 设置执行权限

./ jdk-6u24-linux-i586.bin 解压

cp -rf jdk1.6.0_24/ /usr/local/jdk 拷贝目录指定目录,可以自己指定

vi /etc/profile 设置环境变量

添加export JAVA_HOME=/usr/local/jdk

export PATH=.:$JAVA_HOME/bin:$PATH

source /etc/profile 立即生效

验证

java –version

出现以下内容表示成功

java version "1.6.0_24"

Java(TM) SE Runtime Environment (build 1.6.0_24-b07)

Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode)

6、安装hadoop
解压

tar -zxvf hadoop-1.1.2.tar.gz -C /usr/src/

[root@h1 soft]# cd /usr/src/

[root@h1 src]# cp -rf hadoop-1.1.2/ /usr/local/hadoop

修改环境变量

vi /etc/profile

添加

export JAVA_HOME=/usr/local/jdk

export HADOOP_HOME=/usr/local/hadoop

export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH

source /etc/profile 立即生效

修改配置文件

修改hadoop-env.sh

添加jdk环境变量配置

export JAVA_HOME=/usr/local/jdk

修改core-site.xml

<configuration>

设置默认名称和端口号

<property>

<name>fs.default.name</name>

<value>hdfs://h1:9000</value>

</property>

设置临时目录存储位置,一般放在单独磁盘目录

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/local/hadoop/tmp</value>

</property>

</configuration>

修改hdfs-site.xml

<configuration>

副本数量

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

关闭权限验证

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

</configuration>

修改mapred-site.xml

<configuration>

<!-- setting mapreduce name and port -->

<property>

<name>mapred.job.track</name>

<value>h1:9001</value>

</property>

</configuration>

格式化文件系统

hadoop namenode -format

启动

start-all.sh

验证

[root@h1 conf]# jps

6366 TaskTracker

5844 NameNode

6466 Jps

6135 SecondaryNameNode

6223 JobTracker

5989 DataNode

http://h1:55070/访问namenode监控首页

http://h1:50030/访问mapreduce监控首页

本文转载自向着梦想奋斗博客

Hadoop学习记录(1)|伪分布安装的更多相关文章

  1. 启动原生Hadoop集群或伪分布环境

    一:启动Hadoop 集群或伪分布安装成功之后,通过执行./sbin/start-all.sh启动Hadoop环境 通过jps命令查看当前启动进程是否正确~ [root@neusoft-master ...

  2. hadoop 2.6伪分布安装

    hadoop 2.6的“伪”分式安装与“全”分式安装相比,大部分操作是相同的,主要区别在于不用配置slaves文件,而且其它xxx-core.xml里的参数很多也可以省略,下面是几个关键的配置: (安 ...

  3. 2015.07.12hadoop伪分布安装

    hadoop伪分布安装   Hadoop2的伪分布安装步骤[使用root用户用户登陆]other进去超级用户拥有最高的权限 1.1(桥接模式)设置静态IP ,,修改配置文件,虚拟机IP192.168. ...

  4. CentOS 6.5 伪分布安装

    CentOS 6.5 伪分布安装 软件准备  jdk-6u24-linux-i586.bin .hadoop-1.2.1.tar.gz.hadoop-eclipse-plugin-1.2.1.jar ...

  5. hadoop 2.7.3伪分布式安装

    hadoop 2.7.3伪分布式安装 hadoop集群的伪分布式部署由于只需要一台服务器,在测试,开发过程中还是很方便实用的,有必要将搭建伪分布式的过程记录下来,好记性不如烂笔头. hadoop 2. ...

  6. Hadoop生态圈-hbase介绍-伪分布式安装

    Hadoop生态圈-hbase介绍-伪分布式安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HBase简介 HBase是一个分布式的,持久的,强一致性的存储系统,具有近似最 ...

  7. centos 7下Hadoop 2.7.2 伪分布式安装

    centos 7 下Hadoop 2.7.2 伪分布式安装,安装jdk,免密匙登录,配置mapreduce,配置YARN.详细步骤如下: 1.0 安装JDK 1.1 查看是否安装了openjdk [l ...

  8. hadoop: hbase1.0.1.1 伪分布安装

    环境:hadoop 2.6.0 + hbase 1.0.1.1 + mac OS X yosemite 10.10.3 安装步骤: 一.下载解压 到官网 http://hbase.apache.org ...

  9. hadoop伪分布安装

    解压 将安装包hadoop-2.2.0.tar.gz存放到/home/haozhulin/install/目录下,并解压 #将hadoop解压到/home/haozhulin/install路径下,定 ...

随机推荐

  1. Android使用 LruCache 缓存图片

    摘要:在你应用程序的UI界面加载一张图片是一件很简单的事情,但是当你需要在界面上加载一大堆图片的时候,情况就变得复杂起来. 使用图片缓存技术 在 你应用程序的UI界面加载一张图片是一件很简单的事情,但 ...

  2. BZOJ 1803 Query on a tree III

    树上主席树. 我靠这是第k小吧..... #include<iostream> #include<cstdio> #include<cstring> #includ ...

  3. 【C#学习笔记】改变颜色

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  4. 【英语】Bingo口语笔记(28) - 表示“秘密”

  5. errno 与 perror()/strerror()函数

    errno是个全局的int型变量,当调用一个系统函数时不管成功不成功都有可能改变errno的值.但只有不成功时errno的值才是有意义的.如果要真的想用errno进行多次打印,刚可以先将其缓存一下.下 ...

  6. [转]深入理解Flash Player重绘

    这个是tencent flash team的一篇文章,但团队的博客已经关闭了,所以就在这里备份下吧~ 后来有人把这篇文章又发布到9ria上了,引发了一些讨论,其中有两位大神发言了,内容在原文下方. 9 ...

  7. 增加eclipse启动的Tomcat内存的

    JAVA程序启动时JVM都会分配一个初始内存和最大内存给这个应用程序.这个初始内存和最大内存在一定程度都会影响程序的性能. 如何设置Tomcat的JVM内存大小 Tomcat本身不能直接在计算机上运行 ...

  8. 谷歌浏览器如何设置可以解决Ajax跨域问题?

    Ajax本身是不支持跨域的,跨域问题其实很简单,通过浏览器的相应设置可以完成两个不同的服务器或两个不同服务下的项目互相访问.希望大家给予评价及投票. 方法/步骤   首先谷歌快捷方式上右击,在下拉列表 ...

  9. Shell教程3-Shell特殊变量

    前面已经讲到,变量名只能包含数字.字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量. 例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:   $echo $$ ...

  10. 嵌入式 hi3518平台多路码流添加osd

    <span style="font-family:Courier New;"> /******************************************* ...