如何配置Hadoop环境

 我来答
匿名用户
2016-02-22
展开全部
详细环境配置介绍如下:

Hadoop版本为0.20.2.

JDK版本为1.6.0.

操作系统为FreeBSD8.0(最小化安装)

vc3(192.168.1.3)是Namenode(Master),其他三台作为Datenode(slave).

Hadoop是Java语言编写的机群程序,他的安装时建立在ssh和JDK之上的,所以在配置Hadoop之前首先要对系统进行ssh和JDK的安装与配置。

1.下面首先来通过ssh来实现Hadoop节点之间用户的无密码访问。

(1).在各个节点的/etc/hosts文件中添加节点IP及对应机器名,并在各个节点上建立相同用户名与密码的账户。

修改/etc/hosts文件如下:

192.168.1.1 vc1

192.168.1.2 vc2

192.168.1.3 vc3

192.168.1.4 vc4

修改成功后就可以实现IP地址与机器名的对应解析。

在各个节点建立用户名为Hadoop,密码为123456的用户。

(2).实现节点间通过ssh无密码访问。

在vc3的/home/hadoop目录建立.ssh目录。

mkdir .ssh //建立.ssh目录

在/home/hadoop目录下进行ssh配置。

ssh-keygen -t rsa //生成密匙对

cd /home/hadoop/.ssh

cp id_rsa.pub authorized_keys

chmod go-rwx authorized_keys //要正确设置文件的权限644(即go-rwx)

scp -r /home/hadoop/.ssh vc1:/home/hadoop //将vc3中的.ssh文件夹内容复制到vc2节点的相同位置去。

scp -r /home/hadoop/.ssh vc2:/home/hadoop //同上

scp -r /home/hadoop/.ssh vc4:/home/hadoop //同上

(3).测试是否配置成功

同过ssh+机器名命令测试能否无密码访问其他计算机,如果无密码访问则配置成功。

例:vc1使用ssh vc3是否能无密码访问vc3,vc3使用ssh vc1是否能无密码访问vc1。(其他主机方法类似)

2.JDK的安装

在这里利用ports安装JDK。在安装时要先下载如下几个文件:

jdk-1_6_0_16-fcs-bin-b02-jrl-28_may_2008.jar

jdk-1_5_0_16-fcs-src-b02-jrl-28_may_2008.jar

tzupdater-1_3_12-2009a.zip

bsd-jdk16-patches-9.tar.bz2

diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2

到usr/ports/distfiles/目录,然后进入/usr/ports/java/jdk16进行安装。在这里需要说的是在安装JDK的时候最好安装最新版本,即1.6.0,否则在后面的Hadoop运行过程中可能会出错。

cd /usr/ports/java/jdk16 //进入jdk安装目录

make install clean //安装jdk

还有一种安装方法是去Sun官网下载JDK软件包jdk-6u12-Linux-i586.bin进行安装。(我没试过,不知道行不行,只是提一下。)把下载的JDK软件放到/home/hadoop目录下,给软件加上可执行权限,如下:

chmod a+x jdk-6u12-Linux-i586.bin

运行jdk-6u12-Linux-i586.bin进行安装。

./jdk-6u12-Linux-i586.bin

安装完成后会在当前目录生成jkd1.6.0_12文件夹。把生成的文件夹复制到/usr/java文件夹中。

mkdir /usr/java //新建java文件夹

cp -r jkd1.6.0_12 /usr/java

下载设置环境变量,修改/etc/profile文件。在该文件中添加如下代码:

export JAVA_HOME"/usr/java/jkd1.6.0_12"

export PATH="$PATH :$JAVA_HOME/bin:$JAVA_HOME/jre/bin:"

export CLASSPATH ="$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib"

保存后键入命令:

source /etc/profile

使环境变量设置生效。

安装好JDK后可以通过which命令来测试JDK是否安装成功:

which java

若是第一种方法显示信息如下:

/usr/local/jdk1.6.0/bin/java

如是第二种方法显示信息如下:

/usr/java/jkd1.6.0_12/bin/java

3.下来进行Hadoop的安装和配置。

下载hadoop-0.20.2.tar.gz到/home/hadoop目录,并解压:

tar -vxzf hadoop-0.20.2.tar.gz //解压hadoop到当前目录

解压完后进入/home/hadoop/hadoop-0.20.2/conf目录进行配置。

cd /home/hadoop/hadoop-0.20.2/conf

(1).修改hadoop-env.sh配置文件如下:

export JAVA_HOME=/usr/local/jdk1.6.0

(2).修改masters和slaves配置文件如下:

masters文件:

192.168.1.3

slaves文件:

192.168.1.1

192.168.1.2

192.168.1.4

(3).修改core-site.xml文件如下:

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

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

<configuration>

<property>

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

<value>hdfs://202.113.88.73:9000</value>

</property>

<property>

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

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

</property>

</configuration>

(4).修改hdfs-site.xml文件如下:

=====line 1 col 0 lines from top 1 ============================================

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

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

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

(5).修改mapred-site.xml文件如下:

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

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

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>202.113.88.73:9001</value>

</property>

</configuration>

配置文件修改完毕后格式化Namenode(运行Hadoop之前必须先进行格式化),进入/home/hadoop/hadoop-0.20.2/目录,命令如下:

./bin/hadoop namenode -format

格式化完毕后就可以运行Hadoop了,命令如下:

./bin/start-all.sh //在/home/hadoop/hadoop-0.20.2/目录下运行

如果要停止运行如下命令:

./bin/stop-all.sh //在/home/hadoop/hadoop-0.20.2/目录下运行

到此,Hadoop的配置已经完成了.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式