Hadoop 0.20.2+Ubuntu13.04配置和WordCount測试
Posted lxjshuju
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.成功---------------- [email protected]:~/.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
以上是关于Hadoop 0.20.2+Ubuntu13.04配置和WordCount測试的主要内容,如果未能解决你的问题,请参考以下文章
Lampp ubuntu 13.04 上的 MongoDB 配置问题
Mysql 停止在我的 ubuntu 机器 13.04 中工作