2.4.0版 hadoop伪分布式模式在mac上的配置和运行

来源:互联网 发布:js 上传与下载文件 编辑:程序博客网 时间:2024/06/05 04:14

1.安装java 配置java环境变量。略。

2.确保ssh服务,sshd服务开启。

   使用下列命令查看。

    ps -ef | grep ssh    

    ps -ef | grep sshd  

   注意需要开启远程登录服务(最好选择仅某些用户可以登录,确保安全。)

   另外,在安装hadoop前,最好创建一个新用户,把该hadoop用户加入远程登录名单,并且登录该用户执行安装操作。如果有需要使用sudo,切换管理员用户即可。

   生成密钥

   


3.安装hadoop。

   到hadoop官网下载最新版。

(注意 研究源码的下载src版,普通开发下载tar.gz即可,包含了很多打好的jar包,Size比较大。)

     

     下载后,解压到自己的文件夹中。配置环境变量到.bash_profile文件中。该文件没有的话可以自己创建。

    下面是我的路径。

    

     加入后路径还未生效。执行source .bash_profile 后用$HADOOP_HOME可以查看对应的路径。

     到此为止,hadoop命令已经生效了。执行hadoop 可以看到下面一串说明:

     

     

   4. 单机模式简介

     以单词统计的mapreduce为例,注意:新版的hadoop把它放在hadoop-2.4.0/share/hadoop/mapreduce文件中。

                   

     input为输入数据文件夹。output为输出数据文件夹。

    我们可以通过修改代码,重新编译,打包,运行。来得到不同的词频展示等效果。


     5. 伪分布式模式的文件配置。

     core-site.xml 

  <configuration>    <property>        <name>fs.default.name</name>        <value>hdfs://localhost:9000</value>    </property>    <property>        <name>hadoop.tmp.dir</name>        <value>/Users/username/hadoop-2.4.0/tmp</value>    </property></span>  </configuration>


hdfs-site.xml
  <configuration>    <property>        <name>dfs.replication</name>        <value>1</value>    </property>    <property>        <name>dfs.namenode.name.dir</name>        <value>file:/Users/username/hadoop-2.4.0/hdfs/namenode</value>    </property>    <property>        <name>dfs.datanode.data.dir</name>        <value>file:/Users/username/hadoop-2.4.0/hdfs/datanode</value>    </property>  </configuration>
     mapred-site.xml

 <configuration>    <property>        <name>mapreduce.framework.name</name>        <value>yarn</value>    </property>      </configuration>
    yarn-site.xml

  <configuration>  <!-- Site specific YARN configuration properties -->    <property>        <name>yarn.nodemanager.aux-services</name>        <value>mapreduce_shuffle</value>    </property>    <property>        <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>        <value>org.apache.hadoop.mapred.ShuffleHandler</value>    </property>    <property>        <name>yarn.nodemanager.resource.memory-mb</name>        <value>40960</value>    </property>   </configuration>

   注意:启动前要先执行一个命令来格式化HDFS. 若没有执行该命令会导致namenode启动失败。

   hadoop namenode -format

   

  6.hadoop伪分布式模式启动和退出。

  启动

   
   

   

    

  此时登上网页http://localhost:50070 可以看到:

  

       启动hadoop以后,我们可以在这上面做一些任务,比如上面的单词统计,开启一些job等。

      任务执行的数据结果我们既可以在本地获取到,也可以从网页上下载。


     关闭hadoop

       

       


7.遇到的问题。

    http://askubuntu.com/questions/111096/how-to-solve-connect-to-host-some-hostname-port-22-connection-timed-out

    http://stackoverflow.com/questions/7134723/hadoop-on-osx-unable-to-load-realm-info-from-scdynamicstore

    另外还有一个就是服务器端密钥重新生成后,客户端去访问报错的问题。主要是因为第一次连接时,会生成一个认证存储在客户端known_host中。若是服务器钥匙更换了,这时客户端用known_host中记录的钥匙去比对,二者不相符,出错。这时要使用命令 ssh-keygen -R ip(这个要用服务器ip. 若是本地,用localhost) 更新认证后,重新访问,就正常了。

   

     

0 0
原创粉丝点击