hadoop的介绍及ubuntu下配置

原创 2015年07月09日 09:28:35

Hadoop平台搭建

   Hadoop实现了一个分布式文件系统HDFS。(存储数据的系统大量的数据)

HDFS有高容错性的特点,并且设计用来部署在低廉的硬件上;而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。

   Hadoop的框架最核心的设计就是:HDFS和MapReduce.HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。(提供处理数据的算法进行处理数据)

   Hadoop充分利用集群(就是将多台计算机弄成一个大的群体)的威力进行高速运算和存储。

 

Hadoop架构

 

HDFS的体系:

Namenode()HDFS的守护进程,核心,记录文件如何划分,存储,对i/o,内存进行管理,hadoopnamenode知道文件存在哪些节点,然后和集群打交道,但是它是单节点,一旦奔溃则集群奔溃,每个集群有一个

Secondary Namenode:namenode会把信息给他,然后namenode奔溃时补救,人工介入解决奔溃,每个集群一个

Master不一定唯一,但是是运行namenode,secondary namenodejobtracker,

slave是运行datanode,tasktracker

JobTracker:每个集群只有唯一的一个,用于处理用户提交的任务的后台程序,分配任务,知道任务完成情况

TaskTracker位于Slave上,管理各节点上的任务,并行Mapreduce任务,与jobTracker交互

 

Hadoop的三种运行方式:

 

1.单机模式只是用于了解hadoop单机就是一台机器。

2.伪分布也是单机其实,但是安装和完全分布式一样

3.完全分布式要求至少三个几点,不然构不成集群(如果为三个节点时,这时候就是三个节点都装hadoop,但是一个节点充当master,用于管理其他节点,其他节点充当slave)运行的时候就是,其他的节点的请求会给mastermaster会给slave分配处理数据的任务,每个一小部分,slave运行map-reduce算法来处理,结果返回master,然后master给用户。

主要是要研究map-reduce的算法。Map-reduce的算法就是分布式计算的,是先将问题map映射到下部分,然后进行并行运算,然后reduce合成后就可以。有时候要进行多次的mapreduce

 

截取论文中:Hadoop是由Apache基金会开发并开源的分布式系统基础架构。它的核心功能有两个,文件的分布式存储和对分布在集群中的文件的并行处理。这两个功能分别由HDFS(Hadoop Distributed File System,分布式文件系统)和MapReduce编程模型实现。HDFS提供了友好的命令行工具,供用户对文件进行常规操作。MapReduce则提供了底层的运行环境和开发接口,开发人员调用Hadoop的API,实现所需的业务逻辑,将工程打包成jar包后即可在集群上运行。

HDFS是一个安全高效的分布式存储系统,它对硬件要求很低,用多节点备份的方法保证数据安全和容错性,因而可以部署在低廉的硬件上。Hadoop用HDFS存储从Scribe传送来的日志,并运行MapReduce并行处理程序。过程代码的开发服从MapReduce框架。它按行都去处理日志文件,当读到满足条件的记录时,例如包含字符串“interest_from”,就会解析该行并做指定的计数和记录。

HDFS采用master/slave的结构,其中master为Namenode节点,slave为Datanode节点在集群中,Namenode只有一个,它作为管理者负责管理整个文件系统的命名空间、协调并记录文件的各个数据块在集群中的位置、在出现读写故障时根据日志信息对文件进行重建。开发人员可以在HDFS上对文件进行诸如建立、删除、移动、重命名等操作为了防止单点故障,系统中还设置一个Secondary Namenode,该节点会同步更新Namenode上的数据,当Namenode失效时,系统会启用Secondary Namenode[10]

MapReduce也采用Master/Slave结构,其中master上运行jobtracker守护进程,slave上运行Tasktracker守护进程。jobtracker作为管理者,负责调度所有任务,这些任务分布在不同的Tasktracker,仅完成Tasktracker指派的任务,并向jobtracker汇报自身任务执行情况。

Ubuntu 

 

hadoop 单机安装与部署  

说明:安装hadoop首先要安装java 然后再安装hadoop

 

安装JAVA

 

。解压

cd /usr/local 

tar -zxvf jdk-7u25-linux-x64.gz 

 

2.配置/etc/profile  

 

vi /etc/profile

export JAVA_HOME=/usr/local/jdk1.7.0_55
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JAVA_HONE/jre/bin:$PATH

 

3.使其生效

source /etc/profile  

 

4.查看JAVA安装是否成功

java -version 

 

 

安装ssh,免密码登陆。

apt-get install openssh-server 安装ssh

建立 SSH KEY 

$ ssh-keygen -t rsa -P "" (注意不要多加空格或缺少空格)

中途需要安装者选择保存密钥的文件,按回车使用默认的文件就可以了:

Enter file in which to save the key (/root/.ssh/id_rsa):(按回车)

启用SSH KEY:

$ cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

/etc/init.d/ssh reload

reload ssh

ssh localhost

 

 

1.    安装配置单机hadoop 

1)解压到/opt/hadoop 

Java代码 

1.  $ tar zxvf hadoop-1.2.0.tar.gz 

2.  $ sudo mv hadoop-1.2.0 /opt/ 

3.  $ sudo chown -R hadoop:hadoop /opt/hadoop-1.2.0

4.  $ sudo ln -sf /opt/hadoop-1.2.0 /opt/hadoop 

4. 配置 hadoop-env.sh 
1)在hadoop/conf 里面hadoop-env.sh增加 

Java代码 

1.  export JAVA_HOME=/usr/jdk1.7.0_25

2.  export HADOOP_HOME=/opt/hadoop 

3.  export PATH=$PATH:/opt/hadoop/bin 

5.配置文件 
1)編輯 /opt/hadoop/conf/core-site.xml 

Java代码 

1.  <configuration> 

2.  <property> 

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

4.  <value>hdfs://localhost:9000</value> 

5.  </property> 

6.  <property> 

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

8.  <value>/tmp/hadoop/hadoop-${user.name}</value> 

9.  </property> 

10.     </configuration> 

2)編輯 /opt/hadoop/conf/hdfs-site.xml 

Java代码 

1.  <configuration> 

2.  <property> 

3.  <name>dfs.replication</name> 

4.  <value>1</value> 

5.  </property> 

6.  </configuration> 

3)編輯 /opt/hadoop/conf/mapred-site.xml 

Java代码 

1.  <configuration> 

2.  <property> 

3.  <name>mapred.job.tracker</name> 

4.  <value>localhost:9001</value> 

5.  </property> 

6.  </configuration> 

6.格式化hdfs 

Java代码 

1.  $ cd /opt/hadoop 

2.  $ source conf/hadoop-env.sh 

3.  $ hadoop namenode -format 

提示信息一大堆... 

7. 启动hadoop

Java代码

1.  $ sudo ./start-all.sh //hadoop/bin下执行

8.完成后的测试 

Java代码 

1.  http://localhost:50030/ - Hadoop 管理接口 

 

 

 

 

 


Ubuntu中关于hadoop环境变量的设置方法

Ubuntu搭建hadoop时,在/bin、/sbin等路径下有一些经常使用的工具 为了能够在任何路径下都能使用这些工具,而不必切换到bin/sbin路径下,需要设置hadoop的环境变量(注意...
  • u010255818
  • u010255818
  • 2016年04月06日 12:06
  • 2670

ubuntu安装hadoop详细步骤

ubuntu下安装hadoop详细步骤
  • Q176782
  • Q176782
  • 2017年03月11日 14:29
  • 2673

第一篇:Ubuntu下安装Hadoop(2.7.3)详解

原文:http://www.cnblogs.com/leesf456/p/4795507.html?utm_source=tuicool&utm_medium=referral 一、引言 ...
  • wangjia55
  • wangjia55
  • 2016年11月14日 16:49
  • 7547

Ubuntu14.04下hadoop-2.6.0单机配置和伪分布式配置

Ubuntu14.04下hadoop-2.6.0单机配置和伪分布式配置
  • ggz631047367
  • ggz631047367
  • 2015年01月05日 18:44
  • 27894

Ubuntu系统下使用eclipse搭建Hadoop2.7.1运行环境

一、安装eclipse 从eclipse官网下载安装文件eclipse downloads,得到eclipse installer,可选择需要的版本安装到本地,搭建hadoop环境选择IDE for ...
  • cuihaolong
  • cuihaolong
  • 2016年06月12日 07:12
  • 1444

Hadoop生态系统搭建(1)——Ubuntu16.04环境搭建 Hadoop 2.7.0 全分布式环境

1. 系统环境Ubuntu 16.04 vmware hadoop 2.7.0 java 1.8.0_111master:192.168.19.128 slave1:192.168.19.12...
  • Mark_LQ
  • Mark_LQ
  • 2016年11月28日 21:46
  • 5258

Ubuntu14.04全分布式安装hadoop2.7.2(四)全分布式安装

前文回顾:三台电脑,一台做主机,两台做从机。主机名分别是 master,slave1,slave2,ip分别是192.168.235.1~3 系统:ubuntu14.04 jdk:1.8....
  • ycisacat
  • ycisacat
  • 2016年11月24日 21:01
  • 1370

【Hadoop入门学习系列之一】Ubuntu下安装Hadoop(单机模式+伪分布模式)

一.安装须知 Hadoop版本问题:Hadoop 有两个主要版本,Hadoop 1.x.y 和 Hadoop 2.x.y 系列,比较老的教材上用的可能是 0.20 这样的版本。Hadoop 2.x 版...
  • shengmingqijiquan
  • shengmingqijiquan
  • 2016年10月10日 21:51
  • 1480

大数据基础(五)从零开始安装配置Hadoop 2.7.2+Spark 2.0.0到Ubuntu 16.04

从零开始安装配置Hadoop 2.7.2+Spark 1.6.2 0 install ubuntu 14.04.01 desktop x64 1 system基础配置 《以下都是root模式》 ...
  • dst1213
  • dst1213
  • 2016年07月25日 21:43
  • 5337

Ubuntu16.04下伪分布式环境搭建之hadoop2.6.0、jdk1.7、Hbase0.98的安装与配置

Ubuntu16.04下伪分布式环境搭建之hadoop2.6.0、jdk1.7、Hbase0.98的安装与配置
  • Mr_KkTian
  • Mr_KkTian
  • 2017年03月21日 12:17
  • 2313
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hadoop的介绍及ubuntu下配置
举报原因:
原因补充:

(最多只允许输入30个字)