zoukankan      html  css  js  c++  java
  • 配置单节点伪分布式Hadoop

      先写的这一篇,很多东西没再重复写。

    一.所需软件

      jdk和ubuntu都是32位的。

    二.安装JDK

      1.建jdk文件夹

    cd usr
    sudo mkdir javajdk
    

      2.移动mv或者复制cp安装包

    //进入桌面
    cd home/hxsyl/DeskTop
    sudo mv /usr/javajdk
    

      3.安装

    //切换到root下
    //如果忘记密码,先
    sudo passwd
    //直接会让你输入新密码,不需要输入原来的密码
    //到jdk目录下
    ./jdk-6u30-linux-i586.bin
    //如果提示权限不足,先
    chmod 777 jdk-6u30-linux-i586.bin
    

      3.配置环境变量

    sudo gedit /etc/profile
    

      加入如下内容

    # /etc/profile: system-wide .profile file for the Bourne shell (sh(1))   
    # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).   
    #set java environment   
    export JAVA_HOME=/usr/javajdk/jdk1.6.0_45     
    export JRE_HOME=/usr/local/java/jdk1.6.0_45/jre    
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH   
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH   
    

      注意:为了以后集群工作的方便,这里建议每台机器的java环境最好一致。一般更改/etc/profile文件后,需要重启机器才能生效。这里介绍一种不用重启使其生效的方法。

    source /etc/profile
    

      这个我没试过,我记得win下配置jdk的环境变量,不需要重启吧.......通过

    //根目录下(已经知道在哪了),可以查看是否配置成功
    java -version
    

      注:java -version时出错:

    The program 'java' can be found in the following packages:
    * default-jre
    * gcj-4.8-jre-headless
    * openjdk-7-jre-headless
    * gcj-4.6-jre-headless
    * openjdk-6-jre-headless
    Try: apt-get install <selected package>

      意思是,系统可能自带有java,且现在还是使用默认自带的,未使用自行安装的jdk,所以需要更改默认的jdk才OK!

    sudo update-alternatives --install /usr/bin/java java /usr/javajdk/jdk1.6.0_30/bin/java 300
    sudo update-alternatives --install /usr/bin/javac javac /usr/javajdk/jdk1.6.0_30/bin/javac 300
    sudo update-alternatives --config java
    

    三.安装Hadoop

      1.先把Hadoop文件搞到usr/hadoop1.2.1file下,然后进入该文件并解压。

    sudo  tar  -zxvf  hadoop-1.2.1.tar.gz 
    //hxsyl是此时登陆的用户
    sudo  chown  -hR  hxsyl  /usr/hadoop1.2.1file 
    

      2.配置环境变量

      直接洁的别人图,可以复制jdk的环境变量,然后结合这个图,修改配置下就ok。

      3.设置安全外壳协议

      推荐安装OpenSSH,Hadoop需要通过SSH来启动Slave列表中各台主机的守护进程,因此SSH是必需安装的。虽然我们现在搭建的是一个伪分布式的平台,但是Hadoop没有区分开集群式和伪分布式,对于伪分布式,Hadoop会采用与集群相同的处理方式,即按次序启动文件conf/slaves中记载的主机进程,只不过在伪分布式中Salve为localhost而已,所以对于伪分布式,SSH是必须的。

    //配置过程(首先确保连接上网络):
    //安装SSH,在命令行输入如下
    sudo  apt-get install openssh-server
    //配置可以免密码登陆本机
    //在命令行输入(注意其中的ssh前面还有一个“.”不要遗漏)
    ssh-keygen  -t  dsa -P '' -f  ~/.ssh/id_dsa 
    (解释一下上面这条命令,ssh-keygen 代表生成密钥;-t 表示指定生成的密钥类型;dsa 是dsa密钥认证的意思;-P 用于提供密语(接着后面是两个单引号,不要打错);-f 表示指定生成密钥文件)
    这条命令完成后,会在当前文件夹下面的.ssh文件夹下创建id_dsa和id_dsa.pub两个文件,这是SSH的一对私钥和公钥,把id_dsa.pub(公钥)追加到授权的key中去,输入如下命令:
    cat  ~/.ssh/id_dsa.pub  >>  ~/.ssh/authorized_keys
    说明:一般来说,安装SSH时会自动在当前用户下创建.ssh这个隐藏文件夹,一般不会直接看到,除非安装好了以后,在命令行使用命令ls才会看到。
    输入ssh  localhost,显示登陆成功信息。
    

    四.配置hadoop伪分布式

      1.现在进入到安装Hadoop的文件夹,找到里面的conf文件夹,点击进去;配置hadoop环境文件hadoop-env.sh;打开文件,找到某行有”# export JAVA_HOME = ...” 字样的地方,去掉“#”,然后在等号后面填写你自己的JDK路径。

      2.配置Hadoop的核心文件core-site.xml,打开文件,会发现标签<configuration></configuration>中是空的,在空的地方添加如下配置

    <property>  
           <name>fs.default.name</name>  
           <value>hdfs://localhost:9000</value>  
    </property>   
    <property>  
            <name>dfs.replication</name>  
            <value>1</value>  
    </property>  
    <property>  
             <name>hadoop.tmp.dir</name>  
             <value>/home/hxsyl/tmp</value>  
    </property>
    

      注意:在最后一个value值中,上面是hxsyl,是因为那是我的用户名,所以你需要将那个修改为你自己的用户名。

      3.配置Hadoop中MapReduce的配置文件mapred-site.xml,打开文件,会发现标签<configuration></configuration>中是空的,在空的地方添加如下配置

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

      4.配置Hadoop中hdfs-site.xml的配置文件,同样的在标签<configuration></configuration>中加入一下代码

    <property>   
    <name>dfs.name.dir</name>   
    <value>/usr/hadoop1.2.1file/hadoop-1.2.1/datalog1,/usr/local/hadoop/hadoop-1.2.1/datalog2</value>   
    </property>   
    <property>   
    <name>dfs.data.dir</name>   
    <value>/usr/hadoop1.2.1file/hadoop-1.2.1/data1,/usr/local/hadoop/hadoop-1.2.1/data2</value>   
    </property>   
    <property>   
    <name>dfs.replication</name>   
    <value>2</value>   
    </property>
    

      注意:若是直接打开修改后无法保存,那么就

    sudo gedit ...................
    

    五.格式化HDFS并启动Hadoop

      1.首次运行hadoop必须进行格式化Hadoop文件系统,以后运行即可跳过。打开命令行,进入安装了Hadoop的文件路径下,然后在命令行输入

    bin/hadoop  namenode -format
    //格式化文件系统,然后启动Hadoop,在命令行里面输入
    bin/start-all.sh
    

      2.验证是否正常启动,在命令行里面输入jps,然后回车。

      jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。

      关闭hadoop

    bin/stop-all.sh   

      3.运行自带WordCount在上一篇博文中有详细说明。

      参考文献:http://www.cnblogs.com/yangxiao99/p/4574889.html

  • 相关阅读:
    谈谈关系类并查集
    并查集的应用
    关于欧拉线筛
    bzo4802 欧拉函数 miller_rabin pollard_rho
    数论
    前端切图:自制简易音乐播放器
    前端切图:自制简易音乐播放器
    SEO那些事:一句代码一键分享网站
    SEO那些事:一句代码一键分享网站
    前端调用百度API
  • 原文地址:https://www.cnblogs.com/hxsyl/p/4581780.html
Copyright © 2011-2022 走看看