Hadoop 开发平台搭建

【安装JDK】

首先,从http://www.oracle.com/technetwork/java/javase/downloads/index.html中下载jdk,我的版本是jdk1.6.0_24,我下载的是bin文件,我将下载的jdk1.6.0_24.bin文件置于/usr/lib/jvm/openjdk中,然后,在shell中执行。

$ sudo chmod u+x /usr/lib/jvm/openjdk/jdk1.6.0_12.bin

修改bin文件权限,使其可执行。然后,执行

$ sudo /usr/lib/jvm/java/jdk1.6.0_12.bin

安装完毕。

配置下列文件

$ sudo gedit /etc/environment

增加

PATH="......:/usr/lib/jvm/openjdk/jdk1.6.0_24/bin"

CLASSPATH=.:/usr/lib/jvm/openjdk/jdk1.6.0_24/lib

JAVA_HOME=/usr/lib/jvm/openjdk/jdk1.6.0_24

$ sudo gedit /etc/profile

增加

export JAVA_HOME=/usr/lib/jvm/openjdk/jdk1.6.0_24

export JRE_HOME=/usr/lib/jvm/openjdk/jdk1.6.0_24/jre

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

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

最后注销当前用户,登录后执行

$ java -version

检测版本

【Hadoop 分布式计算环境搭建】

一、软件环境: 集群机系统-Ubuntu10.10

jdk1.6.0_24

hadoop-0.20.2

二、集群环境:

1.用户名:dic,环境:UBUNTU10.10,IP:10.13.30.79,作用:mater2.用户名:dic,环境:UBUNTU10.10,IP:10.13.30.35,作用:slave1

解释:相同的用户名是为了保证hadoop的目录结果一样(只有这个是hadoop要求的,ssh与jdk的目录是各异的),都是[/home/dic/hadoop-0.20.2],hdfs目录是[/home/dic/hadooptmp]。

【1】SSH无密码验证配置

步骤:

master]

A. 安装SSH,并生成id_rsa私钥和id_rsa.pub公钥(~/.ssh)

$ sudo apt-get install ssh

$ ssh-keygen -t rsa

B. master(10.13.30.79)公钥传给slaver1(10.13.30.35)

$ scp /home/dic/.ssh/id_rsa.pub [email protected]:/home/dic/.ssh/10.13.30.79

[slave1]

A. 安装SSH,同master

B. slaver1(10.13.30.35)公钥传给master(10.13.30.79)

$ scp /home/dic/.ssh/id_rsa.pub [email protected].79:/home/dic/.ssh/10.13.30.35

C. 把生成的 id_ras.pub 文件改名为 authorized_keys

$ cp id_ras.pub >> authorized_keys

$ cat 10.13.30.79 >> authorized_keys

D. 重启

$ ssh-agent

$ sudo /etc/init.d/sshd restart

master]

C. 把生成的 id_ras.pub 文件改名为 authorized_keys

$ cp id_ras.pub >> authorized_keys

$ cat 10.13.30.35 >> authorized_keys

D. 重启

$ ssh-agent

$ sudo /etc/init.d/sshd restart

【2】配置/etc/hosts文件,添加主机名与ip集群中主机名与ip的映射关系

master]

$ sudo vi /etc/hosts

添加

10.13.30.35 qlee-desktop

[slave1]

$ sudo vi /etc/hosts

添加

10.13.30.79 cl-desktop

【3】Hadoop配置

这里只叙述如何配置master。slaves的配置方法是,将master的[~/hadoop-0.20.2]文件传给所有的slave1,置于slaves的相同位置。

3.1 conf/hadoop-env.sh

$ export JAVA_HOME=/usr/lib/jvm/java-6-sun

3.2 配置masters文件和slaves文件

conf/masters

cl-desktop

conf/slaves

qlee-desktop

cl-desktop

注:伪分布式中这里的slaves还是10.13.30.79

3.3 配置conf/core-site.xml,确定 HDFS 主节点,它定义namenode的主机和端口,如果作为namenode启动,是需要读入此配置的。

<property>

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

<value>/home/dic/hadooptmp</value>

<description>A base for other temporary directories.</description>

</property>

<!-- file system properties -->

<property>

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

<value>hdfs://cl-desktop:9000</value>

</property>

3.4 配置conf/hdfs-site.xml 定义默认数据副本

<configuration>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

</configuration>

3.5 配置mapred-site.xml-- jobtracker

<property>

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

<value>cl-desktop:9001</value>

</property>

3.6 copy master的hadoop文件夹到各个slave,完成配置

master]

$ scp /home/dic/hadoop-0.20.2 [email protected].35:/home/dic/hadoop-0.20.2

【4】Hadoop启动[master

4.1 格式化名称节点

$ bin/hadoop namenode -format

$ bin/start-all.sh

$ jps

注:可以不使用start-all.sh,分开分别调用start-dfs.sh start-mapred.sh。如下图:

每个节点的启动脚本和守护进程的关系

4.2 验证与测试

4.2.1

验证启动进程--jps

dic@cl-desktop:~# jps

7367 NameNode

7842 JobTracker

7938 Jps

7522 SecondaryNameNode

dic@qlee-desktop:~# jps

7785 DataNode

8114 Jps

7991 TaskTracker

查看集群状态--hadoop dfsadmin -report

测试 HDFS

hadoop-0.20 fs -ls /

hadoop-0.20 fs -mkdir test

hadoop-0.20 fs -ls test

hadoop-0.20 fs -rmr test

hadoop-0.20 fsck /

4.3 Web 管理界面

namenode

http://localhost:50070/

jobtracker

http://localhost:50030/

5执行一个 MapReduce 作业[master

5.1 生成输入数据

$ hadoop fs -mkdir input

$ hadoop fs -put /home/dic/input/163 input

$ hadoop fs -put /home/dic/input/sina input

$ hadoop-0.20 fs -ls input

5.2 在集群上运行 MapReduce wordcount 作业

$ hadoop jar ~/hadoop-0.20.2/hadoop-0.20.2-examples.jar wordcount input output

5.3  检测 MapReduce 作业的输出

$ hadoop fs -ls  /user/dic/output

$ hadoop fs -cat /user/dic/output/part-r-00000

参考网站:

http://www.ibm.com/developerworks/cn/linux/l-hadoop-1/

http://www.ibm.com/developerworks/cn/linux/l-hadoop-2/

http://www.ibm.com/developerworks/cn/linux/l-hadoop-3/

http://bxyzzy.blog.51cto.com/854497/352692

【安装eclipse】

(官方下载地址:http://www.eclipse.org/downloads/

首要说明:Linux(继承自Unix)的文件系统构架中,用户手动选择安装目录是不必要的。

有人就问了,不能自己做主,这样不是不好吗? 这套系统是很聪明滴,她很更了解什么东西该放在什么位置,根本不用操心。若是非要操心,非要自己指定位置,指错了说不定会出故障欧!——因为提供软件的人 也信任这套系统最佳,呵呵~这种规范已经实行几十年了,事实证明这就是最好的!所以就不需要我们操心安装位置了(事实上安装时也没提示你选择安装目录)

通常情况下,linux会这样放软件的组件:

程序的文档->/usr/share/doc; /usr/local/share/doc

程序->/usr/share;/usr/local/share

程序的启动项->/usr/share/apps;/usr/local/share

程序的语言包->/usr/share/locale;/usr/local/share/locale

可执行文件->/usr/bin; /usr/local/bin

而有的软件为了和系统组件分隔开,选择栖息于 /opt,但目录结构往往是一样的,把/usr或/usr/local 替换为了/opt/"软件名"

基于以上说明,我们将eclipse拷贝至/opt。此外,为了方面以后安装使用自己的软件,更改当前用户(非root用户)对/opt操作权限。

chmod 777 /opt -R

<script type="text/javascript"></script>

相关推荐