hadoop的介绍及ubuntu下配置

本文介绍Hadoop平台的基本概念及其分布式文件系统HDFS的特点。详细讲解了Hadoop在Ubuntu系统上的单机安装步骤,包括Java环境配置、SSH免密码登录设置及Hadoop核心配置文件的修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

 

 

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值