单机版hadoop搭建

hadoop框架

Hadoop使用主/从(Master/Slave)架构,主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracker组成。

其中NameNode,secondary NameNode,JobTracker运行在Master节点上,DataNode和TaskTracker运行在Slave节点上。

 

1,NameNode

NameNode是HDFS的守护程序,负责记录文件是如何分割成数据块的,以及这些数据块被存储到哪些数据节点上。它的功能是对内存及I/O进行集中管理。

2,DataNode

集群中每个从服务器都运行一个DataNode后台程序,后台程序负责把HDFS数据块读写到本地文件系统。需要读写数据时,由NameNode告诉客户端去哪个DataNode进行具体的读写操作。

3,Secondary NameNode

Secondary NameNode是一个用来监控HDFS状态的辅助后台程序,如果NameNode发生问题,可以使用Secondary NameNode作为备用的NameNode。

4,JobTracker

JobTracker后台程序用来连接应用程序与Hadoop,用户应用提交到集群后,由JobTracker决定哪个文件处理哪个task执行,一旦某个task失败,JobTracker会自动开启这个task。

4,TaskTracker

TaskTracker负责存储数据的DataNode相结合,位于从节点,负责各自的task。

 

hadoop的安装

1)安装SSH

sudo apt-get install ssh

2)安装java

3)安装hadoop

下载并解压缩

tar -zxvf hadoop-0.21.0.tar.gz

4)改变配置

指定java安装路径

使用vi

vi conf/hadoop-env.sh

添加

export JAVA_HOME = /usr/java/jdk1.7.0_01

可以使用三种模式安装,测试阶段可以使用单机模式。

在启动的时候可能会遇到很多问题,比如 22 connection refused

可以安装openssh,使用apt-get

sudo apt-get install openssh-client

sudo apt-get install openssh-server

sudo apt-get install chkconfig

使用chkconfig --list | grep sshd查看服务是否启动

使用ssh localhost

出现如下提示

输入密码后

出现欢迎页面,配置成功

免密码登录

ssh-keygen -t rsa

进入.ssh目录

执行

cp id_rsa.pub authorized_keys

重新ssh localhost,可以不输入密码

 

单机伪分布式:

进入目录/hadoop/conf

编辑 ~/hadoop/conf/core-site.xml

<configuration>
   <property>
     <name>fs. default .name</name>
     <value>hdfs: //localhost:9000</value>
   </property>
   <property>
     <name>hadoop.tmp.dir</name>
     <value>/tmp/hadoop/hadoop-${user.name}</value>
   </property>
</configuration>
编辑  ~/hadoop/conf/hdfs-site.xml
<configuration>
   <property>
     <name>dfs.replication</name>
     <value>1</value>
   </property>
</configuration>
编辑 ~/hadoop/conf/mapred-site.xml
<configuration>
   <property>
     <name>mapred.job.tracker</name>
     <value>localhost:9001</value>
   </property>
</configuration>

然后进入hadoop/bin目录

执行 ./hadoop namenode -format

执行start-all.sh

启动完成

打开浏览器,输入http://localhost:50070

就可以看到如下界面

运行示例 bin/hadoop jar hadoop-mapred-examples-0.21.0.jar wordcount /in /out

此处两个注意的地方

1、一个是有可能hadoop目录下没有hadoop-mapred-example-0.21.0.jar包,需要下载然后拷贝到该目录下

2、in和out前面一定要加/,因为dfs文件系统的根目录也是从/开始。其他博客都没加,但是会提示没有该目录(不很明了)

3、查看dfs文件系统下的目录,命令为:bin/hadoop dfs -ls /

4、在运行实例之前,需要先把原始文件(随便一个文本文件)上传到dfs文件系统里,命令为bin/hadoop dfs -copyFromLocal /home/bym/test.txt /in,然后ls命令,就可以看到上传的文件了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值