首页 > 代码库 > ubuntu下hadoop环境配置

ubuntu下hadoop环境配置

软件环境:

虚拟机:VMware Workstation 10

操作系统:ubuntu-12.04-desktop-amd64

JAVA版本:jdk-7u55-linux-x64

Hadoop版本:hadoop-1.2.1

Hadoop下载地址:http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-1.2.1/

选择hadoop-1.2.1.tar.gz这个

第一阶段:安装JDK

请参考上篇文章:http://www.cnblogs.com/madyina/p/3705520.html

第二阶段:创建Hadoop账户

呼出控制台,执行下面命令:

sudo adduser hadoop

然后要求你设置hadoop帐户密码,这个命令是添加一个名为hadoop的标准帐户,我们需要的是管理员帐号

可以直接在图形界面下修改hadoop权限,将鼠标点击右上角的一个人头处,浮现列表,点击“用户账户”,解锁,然后更改为管理员权限

image

image

然后就注销了当前用户,使用hadoop来登录吧。后续的操作都在这个账户下进行。

第三阶段:安装和配置SSH

呼出控制台,执行下面命令:

sudo apt-get install ssh  

终端就会联网下载安装包并自行进行安装。安装完成后输入下面指令验证22端口是否打开:

netstat -nat

PTE7G%}@N@F~BG~96~L5@[G

确定22端口是打开的,然后检查SSH安装正确否,输入

ssh localhost

输入当前用户名和密码按回车确认,说明安装成功,同时ssh登陆需要密码。

这种默认安装方式完后,默认配置文件是在/etc/ssh/目录下。sshd配置文件是:/etc/ssh/sshd_config

但是在Hadoop启动以后,Namenode是通过SSH(Secure Shell)来启动和停止各个datanode上的各种守护进程的,这就须要在节点之间执行指令的时候是不须要输入密码的形式,故我们须要配置SSH运用无密码公钥认证的形式。

接下来,在终端输入命令进入Hadoop账户目录:

cd /home/hadoop 

再次输入:

ssh-keygen -t rsa

这个命令将为hadoop上的用户hadoop生成其密钥对,询问其保存路径时直接回车采用默认路径,当提示要为生成的密钥输入passphrase的时候,直接回车,也就是将其设定为空密码。生成的密钥对id_rsa,id_rsa.pub,默认存储在/home/hadoop/.ssh目录下然后将id_rsa.pub的内容复制到每个机器(也包括本机)的/home/dbrg/.ssh/authorized_keys文件中,如果机器上已经有authorized_keys这个文件了,就在文件末尾加上id_rsa.pub中的内容,如果没有authorized_keys这个文件,直接复制过去就行.)。

一路回车下来,将会看到类似下图的图案:

YCXO}NSVBRQTO(1NMF0W$HL

然后我们再次进入.ssh文件夹,然后将id_rsa.pub复制到authorized_keys文件,命令如下:

cd .ssh

cp id_rsa.pub authorized_keys

再次测试无密码登录

ssh localhost 

OM`_NQ2R2X5$944~8{7C2HL

当然也可以再测试下使用机器名无密码登录:

image

出现这个界面证明SSH安装成功!

第四阶段:安装Hadoop

将下载好的压缩包hadoop-1.2.1.tar.gz拖到桌面:

image

事实证明,得多拖几次才能进去。

然后再剪贴到DownLoads下面:

image

然后打开终端,输入ls列举当前目录,准备进入DownLoads目录将压缩包复制到指定目录下

cp hadoop-1.2.1.tar.gz /home/hadoop

image

然后执行授权指令,否则是解不了压缩的

chmod 700 /home/hadoop/hadoop-1.2.1.tar.gz

之后进行解压操作:

tar zxvf /home/hadoop/hadoop-1.2.1.tar.gz

接下来我们要配置hadoop的hadoop/conf下的hadoop-env.sh,core-site.xml,mapred-site.xml,hdfs-site.xml文件。

首先配置JAVA路径,执行下面指令:

gedit /home/hadoop/hadoop-1.2.1/conf/hadoop-env.sh

如果一切正确的话将会出现下面界面:

image

找到JAVA_HOME并配置为实际路径将前面的#去掉,如果出现的是一个空白界面,请重新解压并核实解压正确了没(下图为正确情况)

image

配置hadoop-1.2.1/conf/core-site.xml,输入命令:

gedit /home/hadoop/hadoop-1.2.1/conf/core-site.xml

在弹出来的文本编辑器中粘贴入:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href=http://www.mamicode.com/"configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
        <property>
            <name>fs.default.name</name>
            <value>hdfs://localhost:9000</value>
        </property>
    <property>
          <name>hadoop.tmp.dir</name>
          <value>/home/hadoop/hadoop-1.2.1/tmp</value>
         <description>A base for other temporary directories.</description>
    </property>
</configuration>
<style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style>

这是hadoop核心配置文件之一,配置的是HDFS的地址和端口号。

配置hadoop-1.2.1/conf/mapre-site.xml,命令行:

gedit /home/hadoop/hadoop-1.2.1/conf/ mapre-site.xml

粘贴入:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href=http://www.mamicode.com/"configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>localhost:9001</value>
    </property>
</configuration>
<style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style>

这是Hadoop中MapReduce的配置文件,用来配置JobTracker的地址和端口。

配置hadoop-1.2.1/conf/hdfs-site.xml,输入命令:

gedit /home/hadoop/hadoop-1.2.1/conf/hdfs-site.xml

在弹出的文本编辑器中粘贴入:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href=http://www.mamicode.com/"configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

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

</configuration>
<style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style>

这是HDFS的配置,配置备份方式为1,是单机版的配置。

当然这几个文件完全可以直接进入到目录下右键编辑方式修改,更准确快捷。

然后进入hadoop-1.2.1格式化hdfs文件系统,格式化一个新的分布式文件系统,命令为:

cd hadoop-1.2.1

bin/hadoop namenode –format

出现类似下面界面(注意这是无异常的界面)就说明成功:

image

然后启动hadoop服务:

bin/start-all.sh

image

可以通过jps,查看java虚拟机运行的java线程

image

不计jps,有3个hadoop相关线程,恭喜你,hadoop安装配置成功,运行正常。

然后可以退出hadoop。,以后再用时再启动,导入数据

bin/stop-all.sh

 

Hadoop测试

浏览NameNode和JobTracker的网络接口,它们的地址默认为:

NameNode - http://node3:50070/
       JobTracker - http://node3:50030/

image

image