• 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

  • 相关阅读:
    类定义(课下选做)
    结对项目第一周
    迭代和JDB
    JAVA 第五周学习总结
    JAVA 第四周学习总结
    JAVA 第三周学习总结
    springcloud-provider-consumer-register
    springcloud-eureka
    springBoot-打包
    spring-Scheduler
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/6883877.html
Copyright © 2020-2023  润新知