Hadoop0.20.2+Ubuntu13.04配置和WordCount测试
时间:2014-12-25 22:12 来源:linux.it.net.cn 作者:IT
-
其实这篇博客写的有些晚了,之前做过一些总结后来学校的事给忘了,这几天想重新拿来玩玩发现有的东西记不住了,翻博客发现竟然没有,好吧,所以赶紧写一份留着自己用吧,这东西网上有很多,不过也不是完全适用,所以还是自己留一份吧,废话完毕。
因为之前留的资料室写在记事本上的,所以没有图片= =
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 然后输入你的登陆密码即可)
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 然后输入你的登陆密码即可)
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.配置无密码登录
①首先看看是否在根文件夹下有没有.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,我配的时候第一次进的时候
要输密码,我一路回车,后来我关机,然后开机后再试好像就不用了- -,好神奇的说。。。。
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/用户名/下,不然配置无密码登陆hadoop时,仍然要输入密码,但是现
在没有装在同目录下,再装的时候要注意)
(首次装的是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
(责任编辑:IT)
|