zoukankan      html  css  js  c++  java
  • Hadoop 0.20.2+Ubuntu13.04配置和WordCount測试

    事实上这篇博客写的有些晚了。之前做过一些总结后来学校的事给忘了,这几天想又一次拿来玩玩发现有的东西记不住了。翻博客发现居然没有。好吧,所以赶紧写一份留着自己用吧。这东西网上有非常多,只是也不是全然适用。所以还是自己留一份吧,废话完成。

    由于之前留的资料室写在记事本上的。所以没有图片= =





    Full name: MyHadoop
    User name: uit
    Password: 000


    系统:ubuntu13.04
    Hadoop版本号:0.20.2

    虚拟机:
    这个我感觉是最主要的了。应该不用多说什么,虚拟机,我用的是vmware,然后是ubuntu13.04的镜像,这个不会的话。就随便问问会的好了,非常好搞的



    先装java环境(这个实在ubuntu13.04下装的,与以下的就路径不同而已)
    1.首先确认jdk的包在你u盘或者硬盘里
    2.把u盘里的压缩包拷到这个的目录下------cp -r /media/uit/MyDisk/Hadoop/jdk-7u45-linux-i586.tar.gz 


    /usr/lib/jvm(须要注意的是,这个版本号的ubuntu是自带jdk的。只是。我还是自己装了一次,由于自带的路径不知道在哪


    ,还是自己装一遍吧)
    3.进入到目录下--cd /usr/lib/jvm;
    4.解压这个包-----       sudo   tar -zxvf jdk-7u45-linux-i586.tar.gz   不写别的路径,就是直接解压到当前文件夹


    。假设要解压到别的文件夹在后面加上就可以(假设解压的时候须要权限的话。输入sudo -s 然后输入你的登录password就可以)
    5.解压完后--sudo gedit /etc/profile
    6.在最后面加上-------#Set Java Environment
    export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_45
    export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    export PATH=$PATH:$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
    (这些路径要依据自己的实际情况来填写)


    7.改掉系统的默认设置---sudo update-alternatives --install /usr/bin/java java 
     /usr/lib/jvm/jdk1.7.0_45/bin/java 300
          

    sudo update-alternatives --install /usr/bin/javac javac 
    /usr/lib/jvm/jdk1.7.0_45/bin/javac 300


        sudo update-alternatives --config java(这里假设装ubuntu已经自带jdk的话会让你做出选择。这里选自己装的jdk那个选项)

        sudo update-alternatives --config javac


    8.输入java -version能看到版本号信息就可以:
    java version "1.7.0_45"
    Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
    Java HotSpot(TM) Client VM (build 24.45-b08, mixed mode)







    /*
    装java环境(这个实在xbuntu 13.10下装的java环境):
    1.首先在ubuntu下建立一个目录-------cd usr ;  
                        mkdir java;
    2.把u盘里的压缩包拷到这个的目录下------cp -r /media/uit/MyDisk/Hadoop/jdk-7u45-linux-i586.tar.gz  /usr/java
    3.进入到目录下--cd java;
    4.解压这个包-----       sudo   tar -zxvf jdk-7u45-linux-i586.tar.gz   不写别的路径,就是直接解压到当前文件夹,假设要解压到别的文件夹在后面加上就可以(假设解压的时候须要权限的话,输入sudo -s 然后输入你的登录password就可以)
    5.解压完后--sudo gedit /etc/profile
    6.在最后面加上-------#Set Java Environment
    export JAVA_HOME=/usr/java/jdk1.7.0_45
    export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    export PATH=$PATH:$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
    (这些路径要依据自己的实际情况来填写)


    7.改掉系统的默认设置---sudo update-alternatives --install /usr/bin/java java

     /usr/java/jdk1.7.0_45/bin/java 300

          sudo update-alternatives --install /usr/bin/javac javac 
    /usr/java/jdk1.7.0_45/bin/javac 300

        sudo update-alternatives --config java(这里假设装ubuntu已经自带jdk的话会让你做出选择,这里选自己装的jdk那个选项)

                 sudo update-alternatives --config javac


    8.输入java -version能看到版本号信息就可以:
    java version "1.7.0_45"
    Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
    Java HotSpot(TM) Client VM (build 24.45-b08, mixed mode)
    */









    安装ssh:(安的时候注意不要在根权限root下安装,而且必须先于hadoop装,别装完hadoop再装ssh。有可能hadoop执行不起来)
    1. sudo apt-get install ssh
        sudo apt-get install rsync
    2.执行ssh -version看看是否已经安装
    3.查看ssh的状态ps -ef | grep ssh------假设有个sshd执行着就说明好用,假设没有请往下看
    4.(假设运行完上面的后查看ssh并没有sshd这个进程,进行例如以下操作)--------
    ①到https://launchpad.net/ubuntu/lucid/i386/openssh-client/1:5.3p1-3ubuntu3下载文件,

    下载完后安装-----cd  /home/uit/Downloads
     sudo dpkg -i openssh-client_5.3p1-3ubuntu3_i386.deb
    ②到https://launchpad.net/ubuntu/lucid/i386/openssh-server/1:5.3p1-3ubuntu3下载文件,

    完后安装------sudo dpkg -i openssh-server_5.3p1-3ubuntu3_i386.deb
    ③到https://launchpad.net/ubuntu/lucid/i386/ssh/1:5.3p1-3ubuntu3下载文件,

    完后安装----sudo dpkg -issh_5.3p1-3ubuntu3_all.deb
    须要注意的是有时候安装第二三步的时候会出错。提示一个错误,我刚開始装的也出错了。这时候能够用命令行


    下载一个东西----apt-get install libssl0.9.8,然后再又一次运行上面的命令(不用在下载了)
    ④这些都下完装完后,执行ssh-------cd /etc/init.d
           ./ssh start
    ⑤OK,在执行ps -ef | grep ssh看看,此时应该就有sshd这个进程了


    ⑥配置文件改动------------------gedit /etc/ssh/sshd_config
    (要确保这些字符前无凝视符号“#”)
    RSAAuthentication  yes
    PubkeyAuthentication yes
    AuthorizedKeysFile  .ssh/authorized_keys
    PasswordAuthentication yes
    PeimitEmptyPasswords yes


    5.配置无password登录
    ①首先看看是否在根目录下有没有.ssh目录--------ll /home/uit,有。下一步;没有,创建------mkdir ~/.ssh
    ②创建密匙---------ssh-keygen -t rsa(这里会让你填一个保存密匙的文件,就把括号妮的那个即可)
    ③cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    ④chmod 600 ~/.ssh/authorized_keys
    6.命令行-----ssh localhost---------------第一次会出来让你输入yes或则on。这里输yes,我配的时候第一次进的时候


    要输password,我一路回车。后来我关机,然后开机后再试好像就不用了- -,好奇妙的说。

    。。。
    7.成功----------------    uit@ubuntu:~/.ssh$ ssh localhost
    Welcome to Ubuntu 13.04 (GNU/Linux 3.8.0-19-generic i686)


    * Documentation:  https://help.ubuntu.com/


    288 packages can be updated.
    178 updates are security updates.


    New release '13.10' available.
    Run 'do-release-upgrade' to upgrade to it.


    Last login: Fri Dec 20 19:56:36 2013 from localhost












    装hadoop:(网上说hadoop必须和ssh都装在/home/username/下,不然配置无password登陆hadoop时,仍然要输入password。可是现


    在没有装在同文件夹下,再装的时候要注意)
    (首次装的是hadoop0.20.2版本号)
    1.把u盘里的压缩包拷到这个的/home/uit目录下------cp -r /media/uit/MyDisk/Hadoop/hadoop.zip   /home/uit
    2.解压那个zip文件----- unzip hadoop.zip   之后会出来一个目录。里面还包括一个  hadoop0.20.2.tar.gz和两个乱


    码文件
    3.把那个hadoop-0.20.2.tar.gz取出来------cp -r /home/uit/hadoop/hadoop-0.20.2.tar.gz /home/uit
    4.解压hadoop-0.20.2.tar.gz--------tar -zxvf hadoop-0.20.2.tar.gz(我在ubuntu13.04下试的。在根目  录下不能直


    接解压,不知道怎么回事,但能够变一下,能够如今刚才的目录里面解压,然后把解压完的拿出  来)(似乎是由于我所


    在的cd路径是在/home/uit/hadoop里,假设切换成根路径下,就试的没问题了)
    5.解压完后删除无用的文件-------rm -r /home/uit/hadoop.zip
    rm -r  /home/uit/hadoop
    rm -r /home/uit/hadoop-0.20.2.tar.gz
    6.改动hadoop中的java路径---------cd /home/uit/hadoop-0.20.2/conf
    gedit hadoop-env.sh-----------------在最后面加上 export


    JAVA_HOME=/usr/lib/jvm/jdk1.7.0_45
    (假设用gedit无用的话就关闭终端然后再开一个终端)
    gedit core-site.xml-------------------增加一个子元素
    <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
    </property>
    <property>()
      <name>hadoop.tmp.dir</name>
      <value>/home/uit/hadoop-0.20.2/tmp</value>
      <description>A base for other temporary 


    directories.</description>
    </property>
    那个hadoop.tmp.dir不配置的话会导致重新启动后hadoop无法使用。还得删掉原来的tmp文件,在格


    式化文件系统,在start-all.sh 才干用,这里纠结了我好久= =(这个文件以下会创建的,不急)


    gedit hdfs-site.xml-------------------增加一个子元素
    <property>
    <name>dfs.replication</name>
    <value>1</value>
    </property>
    gedit mapred-site.xml-------------增加一个子元素
    <property>
    <name>mapred.job.tracker</name>
    <value>localhost:9001</value>
    </property>


    7.给用户分配目录的读权限----------------sudo chown -R uit:uit /home/uit/hadoop-0.20.2 
    权限这着实让我蛋疼了好一段时间。总以为是自己没配好,原来是权限没弄好,后来才发现解压完后权


    限什么的都有,就是由于没加这一句。加上就好了,都属于当前用户


    8.改动环境变量-------------------gedit /etc/profile---------------在最后面加上# set hadoop path
    export HADOOP_HOME=/home/uit/hadoop-0.20.2
    export PATH=$PATH:$HADOOP_HOME/bin(须要注意的是。如


    果加上这个,就不用在打命令的时候前面加bin/了。有的书上命令都是以bin/开头,原因是环境变量里没有加)


    9.改动完环境变量后更新一下----------------source /etc/profile


    10.创建一个缓冲文件------------------mkdir /home/uit/hadoop-0.20.2/tmp

    11.格式化hadoop文件系统-----------------------hadoop namenode -format
    12.开启线程----------------------start-all.sh
    13.配置完毕,验证,在浏览器里输入http://localhost:50030/  (mapreduce的页面)     http://localhost:50070(hdfs的页面)
    (装ssh的时候出了点问题。所以最后启动线程的时候提示有错误,可是仍然能出来页面= =!)


    14。最后须要注意的是,关机前,一定要注意stop-all.sh,不然在打开虚拟机。不然,。。反正我当时是一万仅仅神兽奔腾而过
    (有时候启动后在浏览器里打不开hdfs的界面。能够再次运行格式化文件系统,在重新启动,假设还不行就上网搜。通常是那个id不匹配须要改)




    15.执行WordCount样例
    ①首先你得确保有个程序的jar包,没有的话就自行上网搜
    ②然后在主机里创建两个文件------mkdir ~/input
    vi ~/input/file01.txt--------随便输写内容
    vi ~/input/file02.txt--------随便输入
    ③在hadoop里创建目录-------hadoop fs -mkdir /tmp/input
    ④把之前的两个文件传进去-----hadoop fs -put ~/input/file0*.txt /tmp/input
    ⑤查看一下-----------hadoop fs -ls /tmp/input  应该就有了两个文件
    ⑥执行程序(jar包)----hadoop jar ~/hadoop-0.20.2/hadoopFirstDemo.jar WordCount


    /tmp/input /tmp/output01
    (7)查看结果 ----hadoop fs -ls /tmp/output01 
    hadoop fs -cat /tmp/output01/part-00000




    总算。。。总算把这个玩意配好了,╮(╯▽╰)╭。开源的东西的嘛。,习惯就好


    =。 =,。中间也是经历非常多波折。让我学到了非常多。只是当结果出来的时候还是心中好处一口气,这样的感觉
    仅仅有感受过的童鞋才明确啊。,希望假设以后有人看到过这个东西的话,我仅仅能说。加油,学长仅仅能帮你到这了。。
    2013年12月21日16:08:58 wsr

  • 相关阅读:
    84. Largest Rectangle in Histogram (Solution 2)
    84. Largest Rectangle in Histogram (Solution 1)
    73. Set Matrix Zeroes
    【JavaScript】Symbol 静态方法
    【JavaScript】Date
    【JavaScript】Math
    725. Split Linked List in Parts把链表分成长度不超过1的若干部分
    791. Custom Sort String字符串保持字母一样,位置可以变
    508. Most Frequent Subtree Sum 最频繁的子树和
    762. Prime Number of Set Bits in Binary Representation二进制中有质数个1的数量
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/6883877.html
Copyright © 2011-2022 走看看