Virtualbox安装Ubuntu13.04并搭建Hadoop环境(单机模式+伪分布模式)

来源:互联网 发布:大连知行中学中考成绩 编辑:程序博客网 时间:2024/05/17 07:09

一、virtualbox安装Ubuntu

      这个网上教程太多了,略去

二、搭建Hadoop环境

2.1  安装jdk

第一步:

oracle官网上下载jdk-7u21-linux-i586.tar.gz


第二步:

将jdk-7u21-linux-i586.tar.gz拷贝到/usr/lib/jvm/目录下面,这里如果没有jvm文件夹,则创建该文件夹,命令:

 

sudo mkdir /usr/lib/jvm  //创建文件夹jvm

 

sudo cp –r /home/damao/jdk-7u21-linux-i586.tar.gz/usr/lib/jvm          //把下载的文件拷贝到新创建的目录下面

 

sudo tar -zxvg jdk-7u21-linux-i586.tar.gz    //解压缩文件

 

第三步:

设置环境变量,用gedit打开/etc/profile文件

 

sudo gedit /etc/profile

 

在最后面添加: 

PATH=$PATH:$HOME/bin 

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_21

export PATH=$PATH:$JAVA_HOME/bin:

export CLASSPATH=$JAVA_HOME/lib:.

 

保存退出,输入以下命令使之立即生效。

source ~/.bashrc

 

第四步:

配置默认JDK 版本

由于ubuntu 中可能会有默认的JDK,如 openjdk,所以,为了将我们安装的 JDK 设置为默认 JDK 版本,还要进行如下工作。

 

执行代码:

sudo update-alternatives --install /usr/bin/java java/usr/lib/jvm/jdk1.7.0_21/bin/java 300

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

 

执行代码:

sudo update-alternatives --config java

系统会列出各种JDK 版本,如下所示:(也有可能不出现)

 

有3 个候选项可用于替换 java (提供/usr/bin/java)。

------------------------------------------------------------ 

* 0 /usr/lib/jvm/java-6-openjdk/jre/bin /java 1061 自动模 式

1 /usr/lib/jvm/java-7-sun/jre/bin /java 63  手动模式

2 /usr /lib/jvm/ jdk1.7.0_21/bin /java 300  手动模式

 

要维持当前值[*]请按回车键,或者键入选择的编号:2

update- alternatives:使用 /usr/lib/jvm/ jdk1.7.0_21/bin/java 来提供/usr/bin/java (java),于 手动模式 中。

 

第五步:测试

$ java -version

java version"1.7.0_21"

Java(TM) SERuntime Environment (build 1.7.0_21-b11)

Java HotSpot(TM)Server VM (build 21.0-b11, mixed mode)

 

2.2 配置 SSH

第一步:先添加hadoop用户到系统用户

$ sudo addgroup hadoop 

$ sudo adduser --ingroup hadoop hadoop

 

现在只是添加了一个用户hadoop,它并不具备管理员权限,我们给hadoop用户添加权限,打开/etc/sudoers文件

$ sudo gedit /etc/sudoers

root  ALL=(ALL:ALL)  ALL下添加hadoop  ALL=(ALL:ALL) ALL

 

第二步:安装ssh

1)   由于Hadoop用ssh通信,先安装ssh.注意,我先从damao用户转到了hadoop.

$ su hadoop

密码:

然后运行

sudo apt-get install openssh-server

 

2) 假设ssh安装完成,先启动服务。启动后,可以通过命令查看服务是否正确启动:

 

$ sudo /etc/init.d/ssh start

$ ps -e |grep ssh

3) 作为一个安全通信协议(ssh生成密钥有rsa和dsa两种生成方式,默认情况下采用rsa方式),使用时需要密码,因此我们要设置成免密码登录,生成私钥和公钥:

$ ssh-keygen -t rsa -P ""

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

 

现在可以登入ssh确认以后登录时不用输入密码: 

 

$ ssh localhost

 

1.  Welcome to Ubuntu 13.04 LTS (GNU/Linux 3.2.0-27-generic-pae i686) 

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

5.  512 packages can be updated.  

6.  151 updates are security updates. 

8.  Last login: Mon Mar 11 15:56:15 2014from localhost 

 

登出:$exit

2.3 安装Hadoop

第一步:

$ sudo tar xzf hadoop-1.1.2.tar.gz (注意,我已将hadoop-1.1.2.tar.gz拷贝到usr/local/hadoop,然后转到hadoop用户上)

 

$ sudo mv hadoop-1.1.2/usr/local/hadoop

 

要确保所有的操作都是在用户hadoop下完成的,所以将该hadoop文件夹的属主用户设为hadoop

 

$ sudo chown -R hadoop:hadoop hadoop

 

第二步:

配置hadoop-env.sh(Java安装路径)

 

1、先在/usr/local下创建hadoop目录

$ mkdir/usr/local/hadoop

 

2、将下载好的hadoop压缩包移到刚刚创建的目录下

$ sudocp /home/damao/hadoop-1.2.1.tar.gz /usr/local/hadoop

 

3、解压

$ cd/usr/local/hadoop

$ sudotar -zxfhadoop-1.2.1.tar.gz

默认情况下,会解压至hadoop\hadoop-1.2.1目录

 

4、首先是配置 /usr/local/hadoop/hadoop-1.2.1/conf/hadoop-env.sh

 

$ cdhadoop-1.2.1

sudo gedit conf/hadoop-env.sh

 

找到#exportJAVA_HOME这一行,去掉注释,变设置成正确的路径,即:

# Thejava implementation to use. Required.

exportJAVA_HOME=/usr/lib/jvm/jdk1.7.0_21   

 

5、验证hadoop是否正常运行

$ bin/hadoopversion

正常情况下,会显示hadoop的版本号之类

至此hadoop的单机模式已经安装成功

 

6、运行wordcount 示例程序

$ mkdirinput (先创建input目录)


$ cpconf/* input (将conf下的所有文件,复制到input目录下)


$ bin/hadoopjar hadoop-examples-1.2.1.jar wordcount input output (运行wordcount程序,并将结果写入output目录下)
注:文件夹里必须有hadoop-examples-1.2.1.jar

$ catoutput/* (查看输出结果)

 

第三步:伪分布模式的一些配置

 

这里需要设定3个文件:core-site.xml  hdfs-site.xml  mapred-site.xml,都在/usr/local/hadoop/hadoop-1.2.1/conf目录下

core-site.xml:Hadoop Core的配置项,例如HDFS和MapReduce常用的I/O设置等。

hdfs-site.xml:Hadoop 守护进程的配置项,包括namenode,辅助namenode和datanode等。

mapred-site.xml:MapReduce 守护进程的配置项,包括jobtracker和tasktracker。

1配置 conf/core-site.xml

$ sudogedit conf/core-site.xml

 <configuration> </configuration>之间添加

 

<property>            <name>fs.default.name</name>           <value>hdfs://localhost:9000</value>  </property>  <property>           <name>hadoop.tmp.dir</name>           <value>/usr/local/hadoop/hadoop_1.2.1/tmp</value>  </property>    

解释:上面的含义

 

 

注意:由于第一次没有添加

<property>  

         <name>hadoop.tmp.dir</name>  

         <value>/usr/local/hadoop/hadoop_1.2.1/tmp</value>  

</property>  

到后面出现了运行命令jps 没有Task Tracker

 

2配置 conf/mapred-site.xml

$ sudogedit  conf/mapred-site.xml 

<property>         <name>mapred.job.tracker</name>          <value>localhost:9001</value>  </property>

3配置 conf/hdfs-site.xml

$ sudogedit  confhdfs-site.xml

 

<property>       <name>dfs.replication</name>       <value>1</value>  </property>  


4、运行hadoop

首先是进行namenode的初始化工作:

$bin/hadoop namenode -format 

 

之后是运行hadoop

$bin/start-all.sh

$ jps  

注意只有下面的六个进程均运行才表示运行成功  

4490 DataNode  

4858 TaskTracker  

4345 NameNode  

4634 SecondaryNameNode  

4923 Jps  

4716 JobTracker

 

安装时注意事项:

1、确保后面Hadoop在Hadoop用户下进行配置

2、配置core-site.xml时

如果没有添加

<property>  

         <name>hadoop.tmp.dir</name>  

         <value>/usr/local/hadoop/hadoop_1.2.1/tmp</value>  

</property>  

到后面运行命令jps 没有Task Tracker

3、配置core-site.xml、hdfs-site.xml和mapred-site.xml时仔细一些

由于粗细配置mapred-site.xml时忘了加<property> </property>,导致运行jps后没有Job Tracker

4、若运行命令jps没有namenode,则重新格式化namenode试试

bin/hadoop namenode –format

5、若运行jps报:程序 'jps' 已包含在下列软件包中:

* openjdk-6-jdk

* openjdk-7-jdk

请尝试:sudo apt-get install <选定的软件包>

则先尝试用:sudo apt-get install openjdk-7-jdk安装

然后再重新执行一遍安装jdk这一步骤



参考文章:

http://blog.csdn.net/zhaoyl03/article/details/8657104

http://www.cnblogs.com/yjmyzz/p/ubuntu-13_04-hadoop-1_2_1-standalone-setup.html

http://blog.csdn.net/michael_kong_nju/article/details/23294795

 


0 0
原创粉丝点击