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
jobtracker
【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>