设为首页 收藏本站
查看: 1139|回复: 0

[经验分享] Hadoop1 Centos伪分布式部署

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-10-13 09:06:32 | 显示全部楼层 |阅读模式
前言:

      毕业两年了,之前的工作一直没有接触过大数据的东西,对hadoop等比较陌生,所以最近开始学习了。对于我这样第一次学的人,过程还是充满了很多疑惑和不解的,不过我采取的策略是还是先让环境跑起来,然后在能用的基础上在多想想为什么。

      通过这三个礼拜(基本上就是周六周日,其他时间都在加班啊T T)的探索,我目前主要完成的是:

  1.在Linux环境中伪分布式部署hadoop(SSH免登陆),运行WordCount实例成功。
      2.自己打包hadoop在eclipse中的插件。  

      3.在eclipse中访问hadoop运行WordCount成功。

      所以我下边会分三次记录下我的过程,为自己以后查阅方便,要是能帮助到其他人,自然是更好了!



===============================================================长长的分割线====================================================================

正文:

       我的部署环境是之前在阿里云购买的Linux云服务器(大家用自己的linux环境,或者搭个VM虚拟机也是可以滴),系统是CentOS6.X,之前需要自己安装好JDK,我安装的是1.6的,注意这个后边在安装完hadoop后,也需要给Hadoop配置JAVA_HOME,不然会报错。

      在安装hadoop之前,我们需要先配置SSH免登陆,如果不配置的话,我们后边在启动hadoop时,都将需要输入密码,到时会很麻烦,这个网上有很多资料,也可以参考我的另外一篇博客:http://www.iyunv.com/PurpleDream/p/4012328.html 。注意,我的基本与网上步骤一致,这个也是我当初参考网上的步骤,在执行的时候根据自己的情况稍加修改,就可以了。

      安装hadoop首先是下载hadoop,由于我参考的《hadoop实战》这本书,所以为了更接近书中的内容,同时也考虑到高版本的hadoop涉及的东西会更多,不利于我这样的初学者学习,所以我选择hadoop-1.0.1这个版本。下边的网址中是完整的hadoop版本的下载列表,也可以根据自己的需要去下载:http://archive.apache.org/dist/hadoop/core/

      我下载的是hadoop-1.0.1.tar.gz,通过SSH工具上传到linux服务器的目录中(我的是:/myself_setted/hadoop),然后利用解压缩命令“tar -zxvf hadoop-1.0.1.tar.gz”解压到当前目录。

      进入解压缩后的目录(我的是:/myself_setted/hadoop/hadoop-1.0.1),进入conf文件夹,进行配置:

      1.首先打开hadoop-env.sh文件,修改配置文件如下:export JAVA_HOME=/usr/java/jdk1.6.0_35     注意,此处的jdk路径是之前在安装JDK时配置的路径,不要写错,如果配置有误,后边在启动hadoop时,会报找不到java的错误。

      2.然后在打开core-site.xml文件,这里配置的是HDFS的地址及段口红,配置如下:   

<configuration>
        <property>
                <name>fs.default.name</name>
                <value>hdfs://localhost:9000</value>
        </property>
</configuration>

      3.再打开hdfs-site.xml文件,配置的备份方式默认是3,在我们这种伪分布式部署方式中,需要将其配置为1

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

       4.最后是MapReduce的配置文件,配置JobTracker的地址和端口

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

       通过上边的四步,我们已经完成了基本的配置工作,在启动hadoop前,我们还需要格式化hadoop,我们需要将目录切换到解压缩后的根目录(我的是:/myself_setted/hadoop/hadoop-1.0.1),依次执行以下命令:

       1.bin/hadoop namenode -format

       2.bin/hadoop datanode -format

       3.bin/start-all.sh

       通过上边的三步,我们可以认为我们的hadoop已经启动,但是我们还需要验证启动是否有问题,验证的方法比较多,我就说说我用的(以下的验证方法是并列的关系,不是先后继承关系):

       1.打开浏览器,分别输入网址http://localhost:50030(MapReduce的web页面);http://localhost:50070(HDFS的web页面)。由于我的是云服务器,所以我自己的在查看的时候,localhost替换为服务器的公网IP

       2.在linux环境下,输入JPS,查看关于hadoop的进程是否完整,完整事例如下(进程号不定哈):   

4113 TaskTracker
4006 JobTracker
26640 Jps
3680 NameNode
3911 SecondaryNameNode
3788 DataNode

       当然如果上边的验证基本没有问题,我相信你已经接近成功了,下边我们将具体执行一个“作业”,来验证我们的环境。我们运行的例子就是hadoop中的hello word程序,即WordCount,顾名思义就是计算单词的出现次数,步骤如下:

       1.在以上的hadoop启动的情况下,我们首先在hadoop-1.0.1的根目录(我的是:/myself_setted/hadoop/hadoop-1.0.1),建立一个文件夹叫test,然后我们再test文件夹(/myself_setted/hadoop/hadoop-1.0.1/test)中简历一个a.txt的文件,内容如

下(注意,此步骤中建立的文件夹的位置以及文件夹中文件的名字和内容,你可以随意设定路径和内容,主要你在下边的2和3三步中上传文件到HDFS上时,一定要把路径写正确):


aa
bb
cc
ee
aa
ee
ff



      2.在hdfs中建立一个输入文件夹: bin/hadoop fs -mkdir /input。注意我执行此命令时所在的目录是hadoop-1.0.1的根目录(我的是:/myself_setted/hadoop/hadoop-1.0.1)

      3.将a.txt放入到2中hdfs的输入文件夹中:bin/hadoop fs -put test/a.txt /input。注意我执行此命令时所在的目录是hadoop-1.0.1的根目录(我的是:/myself_setted/hadoop/hadoop-1.0.1)

      4.这时如果我们在执行bin/hadoop fs -ls /input这个命令时,如果之前的步骤正确的话,我们将看到列出了一个a.txt的文件。注意我执行此命令时所在的目录是hadoop-1.0.1的根目录((我的是:/myself_setted/hadoop/hadoop-1.0.1)

      5.经过上边的4步,我们下边还有最后一个命令,那就是执行作业。我们看下hadoop-1.0.1的根目录(我的是:/myself_setted/hadoop/hadoop-1.0.1,有一个hadoop-examples-1.0.1.jar这个jar包,这里面打包了一些hadoop自带的例子,我们要运行的WordCount方法就是这个包中,执行命令如下:bin/hadoop  jar  hadoop-examples-1.0.1.jar  wordcount  /input  /output,

      6.根据提示,如果出现map 100% reduce 100%等字样,我们就可以通过bin/hadoop fs -ls /output命令查看/output文件夹中统计结果了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-25893-1-1.html 上篇帖子: hadoop 2.4 伪分布式模式 下篇帖子: Hadoop2 自己动手编译Hadoop的eclipse插件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表