您的位置:首页 > 运维架构

Hadoop 0.20.2+Ubuntu13.04配置和WordCount测试

2014-05-19 18:14 323 查看
其实这篇博客写的有些晚了,之前做过一些总结后来学校的事给忘了,这几天想重新拿来玩玩发现有的东西记不住了,翻博客发现竟然没有,好吧,所以赶紧写一份留着自己用吧,这东西网上有很多,不过也不是完全适用,所以还是自己留一份吧,废话完毕。

因为之前留的资料室写在记事本上的,所以没有图片= =

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: