关闭

hadoop的介绍及ubuntu下配置

标签: hadoop
158人阅读 评论(0) 收藏 举报
分类:

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 管理接口 

 

 

 

 

 


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:10509次
    • 积分:256
    • 等级:
    • 排名:千里之外
    • 原创:9篇
    • 转载:43篇
    • 译文:0篇
    • 评论:3条
    最新评论