Hadoop安装、配置、测试

来源:互联网 发布:seo专业 编辑:程序博客网 时间:2024/04/30 00:33

Hadoop安装、配置、测试

安装说明:

使用的Linux是ubuntu-15.04-desktop-amd64.iso,Windows是64位,相应的jdk、hadoop都是64位的

下文中的johnson是ubuntu中的用户名,读者可更具自己进行修改。文中的安装路径也可以自己设置

Hadoop的安装

Hadoop安装主要分为两步:

1、  在Linux下安装jdk,版本:jdk-7u25-linux-x64.tar.gz

从官网下载jdk-7u25-linux-x64.tar.gz文件,然后将其放在~/jdk 下

然后在该目录下使用命令进行安装:

tar –zxvf jdk-7u25-linux-x64.tar.gz

即可安装完成

 

配置jdk环境

first:在root用户下,使用命令gedit/etc/profile打开文件,然后在文件中添加如下内容:

JAVA_HOME=/home/johnson/jdk/jdk1.7.0_25 

PATH=$JAVA_HOME/bin:$PATH 

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

export JAVA_HOME PATH CLASSPATH

保存退出

second:使用命令 source /etc/profile,是配置文件生效

third:使用命令java –version检查是否安装成功

fourth:编写hello.java程序检查classpath是否生效

程序如下:

class hello{

public static void main(String []args){

    System.out.println("Linux system,hello!!!");

    System.out.println("hadoop first step!!!");

}

}

使用命令进行编译运行(先跳转到hello程序目录下):

javac hello.java

java hello

 

2、  在Linux下安装Hadoop,版本:hadoop-1.2.1.tar.gz

从官网下载hadoop-1.2.1.tar.gz文件,然后将其放在~/usr/hadoop下

然后在该目录下使用命令进行安装:

tar –xzvf hadoop-1.2.1.tar.gz

即可安装完成

 

Hadoop的配置

Hadoop的配置分为SSH配置和Hadoop环境配置

SSH配置,这样可以免密码登录。但是这个只在单机伪分布式模式或者集群分布式模式中有用,在单机模式下不需要任何守护进程,因此不需要进行SSH配置

SSH是安全外壳协议,用于进行远程登录。主要使用利用公钥和私钥的配对成功来登录,不需要手动输入密码

SSH配置的步骤如下:

1、 sudo apt-getinstall ssh rsync
这条命令安装ssh和rsync。ssh是一个很著名的安全外壳协议SecureShell Protocol。rsync是文件同步命令行工具。(如果已经安装过,这步可跳过)

2、  ssh-keygen -t dsa -f ~/.ssh/id_dsa
执行这条命令生成ssh的公钥/私钥,执行过程中,会一些提示让输入字符,直接一路回车就可以

3、  cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
ssh进行远程登录的时候需要输入密码,如果用公钥/私钥方式,就不需要输入密码了。上述方式就是设置公钥/私钥登录

4、  ssh localhost

 

Hadoop环境配置

主要是修改hadoop-1.2.1/conf的几个文件:

1、  hadoop-env.sh(添加jdk的路径)

添加:export JAVA_HOME=/home/johnson/jdk/jdk1.7.0_25

2、  core-site.xml(是全局配置文件)

将文件中的内容修改成如下(其余文件同样设置):

<configuration>

<property> 

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

<value>/tmp/hadoop/hadoop-${user.name}</value> 

</property>

<property> 

<name>fs.default.name</name> 

<value>hdfs://localhost:9000</value> 

</property> 

</configuration>

 

3、  hdfs-site.xml(用于配置HDFS)

<configuration>

<property> 

<name>dfs.namenode.name.dir</name> 

<value>/home/hadoop/hadoop_dir/dfs/name</value> 

</property>

<property> 

<name>dfs.datanode.data.dir</name> 

<value>file:///home/hadoop/hadoop_dir/dfs/data</value> 

</property>

<property> 

<name>dfs.replication</name> 

<value>1</value> 

</property>

</configuration>

4、  mapred-site.xml(用于配置mapreduce)

<configuration>

<property> 

<name>mapered.job.tracker</name> 

<value>localhost:9001</value> 

</property>

<property> 

<name>mapreduce.cluster.local.dir</name> 

<value>/home/hadoop/hadoop_dir/mapred/local</value> 

</property>

<property> 

<name>mapreduce.jobtracker.system.dir</name> 

<value>/home/hadoop/hadoop_dir/mapred/system</value> 

</property>

</configuration>

 

检验Hadoop是否安装完成

1、第一次安装和使用hadoop前要格式化HDFS,命令如下:

先跳转到hadoop-1.2.1下(一下命令的使用一样,都在改目录下),然后使用命令:bin/hadoop namenode –format

2、启动hadoop守护进程

bin/start-all.sh

将开启5个Java进程:NameNode、DataNode、SecondaryNameNode、JobTracker、TaskTracker

3、关闭hadoop守护进程

bin/stop-all.sh

当hadoop启动后,使用jps命令可以查看一下是不是正常启动,这个命令在任何路径下都可以使用:jps(jps是jdk提供的一个查看Java进程的命令)

结果如下:

77717 DataNode

77580 NameNode

79469 Jps

77854 SecondaryNameNode

则表示hadoop正常启动

 

 

Hadoop的测试

下面这两个例子都是Hadoop自带的,在hadoop/hadoop-examples-1.2.1.jar

先跳转到hadoop-1.2.1下,启动hadoop守护进程,然后在执行程序

启动:bin/start-all.sh

执行程序的命令:./bin/hadoop jar hadoop-examples-1.2.1.jar

First example:

Pi的计算

./bin/hadoop jar hadoop-examples-1.2.1.jar pi2 5

不同的取值结果不一样,2表示map的次数,5表示一次map中取样的次数

Second example:

Wordcount:统计文本中单词的次数

johnson@ubuntu:~/usr/hadoop/hadoop-1.2.1$./bin/hadoop fs -put README.txt readme.txt (linux中完整的一个命令表示)

1、./bin/hadoop fs -putREADME.txt readme.txt

2、./bin/hadoop jarhadoop-examples-1.2.1.jar wordcount readme.txt output

3、./bin/hadoop fs -catoutput/part-r-00000

 

以上安装过程经实测可用,但是如果虚拟机下的Linux没有配置好,直接按照上述步骤进行,可能回去出现问题。虚拟机下的配置主要包括网络连接、Windows文件和Linux文件的共享设置、Linux中的源是否更新。

网络连接:在安装的过程中可能需要通过命令apt-get install安装一些包。主要使用NAT连接方式,该方式比较简单,无需什么设置。有关网络的设置是在虚拟机/设置/硬件下,选择NAT方式即可,其余无需设置。如果利用这种方式不能联网,则可能是Windows下的有关虚拟机的两个服务未开启,分别是VMware DHCP Service和VMware NAT Service。将其设置成自动开启,这样以后就可以自动联网了。

Linux中的源是否更新:如果没有跟新,可能命令apt-getinstall不能正常使用,出现如下错误等:Package 'package ' has no installation candidate

解决方法:

apt-get update

apt-get upgrade

apt-get install 相应的安装包

Windows文件和Linux文件的共享设置:如果没有设置好,从Windows上下载的文件不能直接复制到Linux下。有关文件共享的设置是在虚拟机/设置/选项下,将文件共享打开即可


0 0
原创粉丝点击