Hadoop集群支持三种运行模式:单机模式、伪分布式模式,全分布式模式,下面介绍下在Ubuntu下的部署

(1)单机模式

默认情况下,Hadoop被配置成一个以非分布式模式运行的独立JAVA进程,适合开始时的调试工作。在eclipse中开发用的就是单机模式,这时不用HDFS。
好的如果没有安装JDK,那么安装步骤如下:
先到官网下载JDK的linux版本,下载后直接加压到相应目录,这样JDk就安装好了。接下来配置环境变量
sudo gedit /etc/profile

  加入下面代码

#set java environment

JAVA_HOME=/home/*******/jdk1.7.0_09     

export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$PATH

java_home的路径是自己本机上的路径。保存退出后需要注销当前用户,重新登录。

然后打开控制台输入java -version显示java的版本等信息表明配置成功。
将下载好的hadoop解压,重新命名为hadoop(这是为了方便以后到操作)。进入conf文件夹下,在hadoop-env.sh文件中做修改,在第九行左右到位置中有#export JAVA_HOME=*******这样到字样,首先将#(这里#为注释到作用)去掉,修改JAVA_HOME的值为你机器中jdk到文件路径即可,这里到值和/etc/profile是相同的。
现在可以单机模式运行一个Hadoop程序了,确定当前路径是Hadoop文件夹
bin/hadoop jar hadoop-ex*.jar wordcount conf output
conf是输入文件夹,output是输出文件夹,所以保证conf文件夹是存在的,并且有文件。

(2)伪分布式模式

伪分布式模式是一种单点运行模式,所有进程(NameNode、Secondary NameNode、JobTracker、DateNode、TaskTracker)都运行在仅有的一个节点上,需要用到HDFS。
首先配置三个XML文件,文件路径在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>/home/****/hadoop/logs</value>
</property>
</configuration>

 hdfs-site.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

mapred-site.xml

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>

  接下来需要安装SSH
在ubnuntu下直接在控制台中输入

sudo apt-get install openssh-server

  如果提示找不到源,在软件中心输入

sudo apt-get update

  安装完SSH,需要设置登录的密钥,控制台输入

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ssh-keygen代表生成密钥;-t(注意区分大小写)表示指定生成的密钥类型,dsa是dsa密钥认证的意思,即密钥类型;-P用于提供密语;-f指定生成的密钥文件。cat  把id_dsa.pub(公钥)追加到授权的authorized_key里。这样控制台输入ssh localhost就不需要密码了。
下面是运行步骤(路径是hadoop路径):
(1)把NameNode格式化,并开启Hadoop进程
bin/hadoop namenode -format  

bin/start-all.sh
输入jps,查看相关5个进程是否开启。
(2)在HDFS上建立输入文件夹,并上传数据
bin/hadoop fs -mkdir input
bin/hadoop fs -put data input
input是建立的文件夹的名字,date是本地数据文件(默认路径在hadoop目录下),至于命令bin/hadoop fs -help查看。
(3)运行Wordcount,查看结果
bin/hadoop jar hadoop-examples-*.jar wordcount input output  
bin/hadoop fs -cat output/* >> result.txt
如果是自己导出的jar 包可以直接用bin/hadoop jar own.jar input output。结果放在result.txt文件中(本地Hadoop目录),不加它,在控制台查看结果。
程序运行期间可以通过浏览器http://机器名:50030查看运行情况
(4)关闭hadoop进程
bin/stop-all.sh  

(3)全分布式模式

对于Hadoop,不同的系统有不同的节点划分方式。在HDFS看来。节点分为NameNode和DataNode,其中DataNode可以有多个;MapReduce看来,节点分JobTracker和TaskTracker,TaskTracker可以多个。
全分布式的部署和伪分布式部署的差不多。
有大于两台的机器,有相同的用户名(必须),确定IP在同一个网段,并能相互ping通。
192.168.6.30 master
192.168.6.31 node1

(1)主机生成SSH,并分发密钥

ssh-keygen -t rsa  
ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@192.168.6.31

 如果分发不成功可以使用下面的命令

scp ~/.ssh/id_rsa.pub MachineName@202.194.124.49:~/mas_key

 然后在远程机器上

mkdir ~/.ssh
chmod 700 ~/.ssh
mv ~/mas_key ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

 使用ssh-copy-id不仅可以将公钥添加到authorized_keys中去,而且也设置了正确的权限(文件夹.ssh为700,authorized_keys为600)
参考文章:http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
ssh免密码登录原理可参考:http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html
这样在master主机上ssh 192.168.6.31主机时应该就不用输入密码了
如果出现Agent admitted failure to sign using the key这个问题
解決方式 使用 ssh-add 指令将私钥 加进来

ssh-add   ~/.ssh/id_rsa

(2)配置hosts文件

 

sudo gedit /etc/hosts

127.0.0.1    localhost
#127.0.0.1 机器名
192.168.6.38 master
192.168.6.31 node1

*第二行的注释一定要注释掉。然后将hosts文件通过scp 分发到从机上,登录从机移动hosts文件。

scp /etc/hosts 目标机器名@目标机器IP:~/hosts  

sudo mv hosts /etc/  
(3)修改hadoop配置文件
共5个文件需要配置,其中三个和伪分布式的一样,其中两个文件的字段需要改成主机的机器名(这里为master,也可以是IP),另两个文件是masters和slaves
masters
master

slaves

master
node1
这个Hadoop集群中有两个数据节点,master兼当主从机。
*5个配置文件也需要分发到从机上(即集群中主从机器的hadoop的配置相同)
这样Hadoop的配置就完成了,用ssh node1命令,就可以直接登录了。
接下来运行Wordcount的步骤和伪分布式模式一样了。
注意:每次运行前把集群机器中logs目录清空。

  

ubuntu上Hadoop三种运行模式的部署的更多相关文章

  1. hadoop记录-[Flink]Flink三种运行模式安装部署以及实现WordCount(转载)

    [Flink]Flink三种运行模式安装部署以及实现WordCount 前言 Flink三种运行方式:Local.Standalone.On Yarn.成功部署后分别用Scala和Java实现word ...

  2. [Flink]Flink1.6三种运行模式安装部署以及实现WordCount

    前言 Flink三种运行方式:Local.Standalone.On Yarn.成功部署后分别用Scala和Java实现wordcount 环境 版本:Flink 1.6.2 集群环境:Hadoop2 ...

  3. hadoop三种运行模式

    1.单机模式:安装简单,几乎不用做任何配置,但仅限于调试用途 2.伪分布模式:在单节点上同时启动namenode.datanode.jobtracker.tasktracker.secondaryna ...

  4. Hadoop三种安装模式:单机模式,伪分布式,真正分布式

    Hadoop三种安装模式:单机模式,伪分布式,真正分布式 一 单机模式standalone单 机模式是Hadoop的默认模式.当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守 ...

  5. Tomcat Connector的三种运行模式

    详情参考: http://tomcat.apache.org/tomcat-7.0-doc/apr.html http://www.365mini.com/page/tomcat-connector- ...

  6. PHP语言学习之php-fpm 三种运行模式

    本文主要向大家介绍了PHP语言学习之php-fpm 三种运行模式,通过具体的内容向大家展示,希望对大家学习php语言有所帮助. php-fpm配置 配置文件:php-fpm.conf 开启慢日志功能的 ...

  7. 【Tomcat】Tomcat Connector的三种运行模式【bio、nio、apr】

    Tomcat Connector(Tomcat连接器)有bio.nio.apr三种运行模式 bio bio(blocking I/O,阻塞式I/O操作),表示Tomcat使用的是传统的Java I/O ...

  8. Tomcat Connector三种运行模式(BIO, NIO, APR)的比较和优化

    Tomcat Connector的三种不同的运行模式性能相差很大,有人测试过的结果如下: 这三种模式的不同之处如下: BIO: 一个线程处理一个请求.缺点:并发量高时,线程数较多,浪费资源. Tomc ...

  9. 在家赚钱,威客网站的使用方法 CSDN项目频道、SXSOFT、任务中国、猪八戒四个网站的线上交易 三种交易模式(1)悬赏模式(2)招标模式(3)直接交易模式

    在家赚钱,威客网站的使用方法 很显然,<让猪八戒飞一会儿>作者对威客这一行业不熟悉,<让猪八戒飞一会儿>文章中错误有一些,不一一指出.我在CSDN项目频道.SXSOFT.任务中 ...

随机推荐

  1. BNUOJ 5966 Rank of Tetris

    Rank of Tetris Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU. Original ...

  2. 5-46 新浪微博热门话题 (30分)——unfinished HASH

    5-46 新浪微博热门话题   (30分) 新浪微博可以在发言中嵌入“话题”,即将发言中的话题文字写在一对“#”之间,就可以生成话题链接,点击链接可以看到有多少人在跟自己讨论相同或者相似的话题.新浪微 ...

  3. MyBatis与Spring MVC结合时,使用DAO注入出现:Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required

    错误源自使用了这个例子:http://www.yihaomen.com/article/java/336.htm,如果运行时会出现如下错误: Invocation of init method fai ...

  4. 关于System.Convert那些事

    关于System.Convert那些事 前言 不知咋的,今天腰疼的不行,疼的站不起来了,今下午突然就疼起来了,唉,这是身体要垮了的节奏啊,再加上自己的VAX试用期到了,弄了半天也不行,烦. 正文 看到 ...

  5. 大数据分析:结合 Hadoop或 Elastic MapReduce使用 Hunk

    作者 Jonathan Allen ,译者 张晓鹏 Hunk是Splunk公司一款比較新的产品,用来对Hadoop和其他NoSQL数据存储进行探測和可视化,它的新版本号将会支持亚马逊的Elastic ...

  6. Java基础:初始化和清理

    转载请注明出处:jiq•钦's technical Blog (1) 初始化: 所以假设继承关系为:A导出B再导出C,在创建C对象的情况下的调用顺序是: * (1) A的静态域,B的静态域,C的静态域 ...

  7. POJ2481:Cows(树状数组)

    Description Farmer John's cows have discovered that the clover growing along the ridge of the hill ( ...

  8. border-image 和 border-color 不能同时使用问题

    遇到如下问题: UI 给的设计,某部分,上边框为 图片,下边框为灰色横线. 看到这个的第一反应是,上边框用 border-image ,为了只让上边框显示图片,所以只给上边框宽度为所需宽度,我的图是 ...

  9. MyEclipse中加入web项目到tomcat

    假设导入不是在MyEclipse下建立的web项目,想加入到tomcat中时,会显示"No projects are available for deployment to this ser ...

  10. 【HDU 1007】 Quoit Design

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=1007 [算法] 答案为平面最近点对距离除以2 [代码] #include <algorith ...