Fedora20搭建伪Hadoop集群,运行Wordcount程序

虚拟机搭建伪hadoop集群,运行wordcount程序:

一、安装JDK1.6.0

1.  在Oracal网站上下载jdk-6u11-linux-x64.bin到/usr/programFiles/jvm

2. ./jdk-6u11-linux-x64.bin 运行安装JDK1.6.0

3       修改/etc/profile的环境变量:

exportJAVA_HOME=/usr/programFiles/jvm/jdk1.6.0_11

exportCLASSPATH=".:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH"

exportPATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

执行source /etc/profile

有可能要重启一下虚拟机

4.    按这些命令选择要用的jdk版本:

        sudoupdate-alternatives  --install  /usr/bin/java  java  /usr/jvm/jdk1.7.0_40/bin/java 300

sudoupdate-alternatives  --install  /usr/bin/javac  javac  /usr/jvm/jdk1.7.0_40/bin/javac300

sudoupdate-alternatives  --config  java

5.    执行java –version查看当前jdk版本,应该为jdk1.6.0

 

二、安装、启动SSH,配置SSH无密码连接

1.      安装、启动SSH:

查看是否安装:rpm –qa | grep ssh

查看ssh服务是否开启: service sshd status

若关闭则启动ssh服务:service sshd start 或systemctl start sshd.service

设置开机启动ssh服务:systemctl enable sshd.service

2.      配置ssh无密码连接:

原因:实际上,在H adoop的安装过程中,是否免密码登录是无关紧要的,但是如果不配置免密码登录,每次启动Hadoop都需要输入密码以登录到每台机器的DataNode 上,考虑到一般的Hadoop集群动辄拥有数百或上千台机器,因此一般来说都会配置SSH的免密码登录!在此我们选择配置SSH为免密码登录模式!!

方法:

ssh-keygen  -t  dsa -P '' -f  ~/.ssh/id_dsa

ssh-keygen代表生成秘钥; -t(注意区分大小写)表示指定生成的秘钥类型;dsa是dsa密钥认证的意思。即秘钥类型;-P用于提供密语;-f指定生成的秘钥文件。(其中~ 代表当前用户文件夹,如home/wade ),这条命令会在.ssh文件夹下创建id_dsa及id_dsa.pub两个文件,这是SSH的一对私钥和秘钥,类似于锁和钥匙。

cat  ~/.ssh/id_dsa.pub  >>  ~/.ssh/authorized_keys

这条命令用于把公钥加到用于认证的公钥文件中。这里的authorized_keys是用于认证的公钥文件。

3.      检验:ssh localhost,出现如下显示则说明SSH已正常运行

 

三、配置Hadoop环境

下载hadoop-1.0.1.tar.gz到/usr/programFiles中,

网址:http://archive.apache.org/dist/hadoop/common/hadoop-1.0.1/

解压 tar xzvf hadoop-1.0.1.tar.gz 得到文件夹hadoop-1.0.1

修改环境变量 vi /etc/profile

export HADOOP_HOME=/usr/programFiles/hadoop-1.0.1

export PATH=$PATH:$HADOOP_HOME/bin

 

四、搭建Hadoop伪分布式集群

1.      进入hadoop安装目录下conf文件夹(我的是/usr/programFiles/hadoop-1.0.1/conf) 配置hadoop配置文件:

         1)    hadoop-env.sh

         找到某行:# export JAVA_HOME = ... 去掉“#”并把JAVA_HOME设置为jdk安装路径:export JAVA_HOME =/usr/programFiles/jvm/jdk1.6.0_11

        2)   core-site.xml

      在configuration标签之间添加如下内容:


说明:hadoop分布式文件系统的两个重要的目录结构,一个是namenode上名字空间的存放地方,一个是datanode数据块的存放地方,还有一些其他的文件存放地方,这 些存放地方都是基于hadoop.tmp.dir目录的,比如namenode的名字空间存放地方就是${hadoop.tmp.dir}/dfs/name, datanode数据块的存放地方就 ${hadoop.tmp.dir}/dfs/data,所以设置好hadoop.tmp.dir目录后,其他的重要目录都是在这个目录下面,这是一个根目录。我设置的是 /usr/programFiles/hadoop- 1.0.1/hadooptmpdir ,当然这个目录必须是存在的。

      3)   hdfs-site.xml 添加如下内容:

      

      4)   mapered-site.xml 添加如下内容:

      

2.   主机名和IP解析配置,下面三个文件中主机名要保持一致

1)  /etc/hosts

        

在伪分布式模式下master和slave为同一个机子。这里主机名可以随便取,但是一定要和127.0.0.1的对应,所以我这里写master。

2)  /etc/hostname

内容为master(主机名)

3)  /etc/sysconfig/network添加如下内容:

           

3.   Hadoop启动

      1) 格式化namenode:

      进入hadoop安装目录下的bin目录,此为/usr/programFiles/bin执行

      Hadoop namenode -format

         

         2)启动hadoop所有进程:

         还是在bin目录下执行start-all.sh

         3)执行完之后用jps查看hadoop进程

          

说明:

1.secondaryname是namenode的一个备份,里面同样保存了名字空间和文件到文件块的map关系。建议运行在另外一台机器上,这样master死掉之后,还可以通 secondaryname所在的机器找回名字空间,和文件到文件块得map关系数据,恢复namenode。

2.启动之后,在/usr/local/hadoop/hadoop-1.0.1/hadooptmp下的dfs文件夹里会生成 data目录,这里面存放的是datanode上的数据块数据,因为笔者用的是单机,所 name 和 data 都在一个机器上,如果是集群的话,namenode所在的机器上只会有name文件夹,而datanode上只会有data文件夹。

 

4.      在执行hadoop相关命令时候,总是出现:

Warning: $HADOOP_HOME is deprecated

解决方法如下:

在hadoop-env.sh ,添加一个环境变量:export HADOOP_HOME_WARN_SUPPRESS=true

5.      在web页面下查看hadoop运行情况

Localhost:50070

Localhost:50030

 

五、运行wordcount例程

1.    在hadoop安装目录下创建文件夹:

       在/usr/programFiles/hadoop-1.0.1下创建test_wordCount_0103

       在test_wordCount_0103文件夹下创建file0、file1文件,分别写入一些单词。

2.    在HDFS分布式文件系统中创建目录input:

        bin/hadoop fs –mkdirinput

3.     离开hodoop的安全模式:#bin/hadoop dfsadmin –safemode leave

注:Hadoop的安全模式相关命令:#bin/hadoop dfsadmin –safemode enter/leave/get/wait

Hadoop的HDFS系统在安全模式下只能进行“读”操作!不能进行文件等的删除,创建和更新操作!

4.     将数据从Linux文件系统复制到HDFS分布式文件系统中

         bin/hadoop fs –put /usr/programFiles/hadoop-1.0.1/test_wordCount_0103input

5.      执行wordcount例程:

         bin/hadoop jarhadoop-examples-1.0.1.jar wordcount input output


6.      查看输出结果

bin/hadoopdfs -cat output/*



参考: http://blog.csdn.net/zolalad/article/details/11472207

http://wojiaolongyinong.iteye.com/blog/1946817

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值