Fedora17下的hadoop-1.0.4系统配置

来源:互联网 发布:淘宝网海滩遮阳伞 编辑:程序博客网 时间:2024/05/22 00:14

毕业设计要开始了,出于个人对ERP和高端技术的兴趣,选了个基于Hadoop的生产管理系统,现在开始要折腾Linux和Hadoop了,今天折腾了一天的开发环境,总算对Hadoop有个感性的初步认识。大体上一个比较粗旷的理解是这样的:Hadoop是分布式并行编程框架,其中最重要的部分是分布式文件系统(HDFS,Hadoop Distributed File System),注意:是文件系统。基于Hadoop,屏蔽了实习分布式计算、云计算的细节,你不需要知道将一个程序如何分布到给不同的机器、不同的操作系统上并行操作、运算,你只要遵守它的框架和规则就好了。 综合一些网上配置教程和自己的实际操作,讲讲刚开始对Linux不熟悉时走的一些弯路,避免大家重蹈覆辙。讲讲Fedora17下的Hadoop-1.0.4的系统配置,开发环境另外开个文章讲。 我选择的安装方案是Vmware workstation 9+Fedora17 32位+Hadoop-1.0.4,一个比较保守的方案,就是稍微有点慢。

1.各种资源的下载地址

VMware worksation 9
Licence Key:HA2VM-220EP-3ZAN8-JR156-8CNHD
Fedora17 32位这里边包含了多个版本的fedora,可以自行选择
JDK 1.7
Hadoop-1.0.4对Linux不熟的童鞋们,我在这补充点Linux小常识:Linux下,下载的安装包的格式主要有rpm,tar.gz,deb。rpm是Redhat Package Manager,red-hat Linux支持的,如果用ubantu的话就比较麻烦;tar.gz,所有Linux系统通用,就是个压缩包,解压后基本就能使用,相当于绿色软件了;deb则是ubantu支持的安装包。个人推荐一律都下tar.gz格式的,因为其他安装包不像windows那样可以选择安装路径,安装之后不好找到文件的路径,还有就是通用性。

2.安装VMware workstation和安装Fedora17

相信要来玩Hadoop的童鞋不会连虚拟机都没玩过吧,安装就不多说了。

说些安装完之后,各位用惯了Windows而没用过Linux的童鞋会觉得非常蛋疼的事,你会发现桌面没法用,找不到窗口最大最小化按钮,中文输入法问题,当然除了这些你还需要装下vm-tools用起来稍微顺手些。想要使用桌面的话,你需要用到gnome-tweak-tool,中文输入法系统会自带的。下边一件一件事来。

(1)安装中文输入法

在activities里查找input method selector,选者use iBus,Preferences,然后在Input Method选项卡里将中文拼音添加进去就好了

(2)安装配置gnome-tweak-tool

a.在终端输入命令yum install gnome-tweak-tool
b.安装完成后输入命令gnome-tweak-tool,进入插件的界面
c.如图配置:
Desktop--have file manager handle the desktop ON

Shell--Arrangement of buttons on the titlebar ALL

这样基本上界面的现实和使用就比较舒服了

(3)安装vm-tools

参考这篇文章,我也是照着这个弄的

注意:Fedora17系统对用户权限有严格的限制,不支持root登录,配置时很多配置文件的修改都需要root,只有root才有读写权限。我的方法是通过终端输入指令su然后输入root账户密码获取权限后,通过vi指令对系统文件进行修改。在配置过程中如果出现错误或权限不够的情况,可以尝试以root进行操作。

3.配置hadoop

前面的基础知识讲了半天,归根原因还是自己Linux基础不好,大神请无视。以下才是重点,配置完成后可让Hadoop运行在单节点的伪分布模式下。大部分内容来自:http://blog.csdn.net/janpylx/article/details/7922561 并补充上我实际操作过程中遇到的问题和解决方案,以及对当中的一些内容进行修正和详细说明

(1).安装SSH服务器

yum install openssh-server

(2).建立ssh无密码登录

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 

直接回车,完成后会在 ~/.ssh/ 生成两个文件: id_dsa 和 id_dsa.pub 。这两个是成对 现,类似钥匙和锁。 再把 id_dsa.pub 追加到授权 key 里面 ( 当前并没有 authorized_keys文件 ) :

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 。 
service sshd start

开启SSH服务,完成后可以实现无密码录本机:

$ ssh localhost 

(3)关闭防火墙:

在终端中输入:

service iptables stop

(4).安装配置JDK

解压好JDK后,在/etc/profile中加入

export JAVA_HOME=(JDK的路径 ,例如/home/ssj/jdk1.7.0)export JRE_HOME=(JRE的路径,在JDK的目录中会有个JRE文件夹,例如/home/ssj/jdk1.7.0/jre)export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH 

这里对profile的改写会需要root权限,要用su命令获取root权限,然后用vi指令对profile进行编辑保存,vi指令的用法可以自行查找

配置完成后可在终端中输入:

java -versionjavac -versionjavadoc

检查Java环境是否配置正确

(5).安装Hadoop

解压Hadoop的压缩包,然后同样在/etc/profile中加入:

export HADOOP_INSTALL=(解压出来的Hadoop的路径,如/home/ssj/hadoop-1.0.4)export PATH=$HADOOP_INSTALL/bin:$PATH 

Hadoop的新版本中将HADOOP_HOME改为了HADOOP_INSTALL,如果仍用HADOOP_HOME会出现一条警告

(6).配置Hadoop

hadoop 的主要配置都在 hadoop-1.0.4 /conf 下。

a. 在conf/hadoop-env.sh中配置 Java 环境,加入:

export JAVA_HOME=(JDK的路径 ,例如/home/ssj/jdk1.6.0_21)

b.配置conf/masters 和 conf/slaves 文件 只在 namenode 上配置 )

masters中加入:localhost slaves中加入:localhost 

注意:因为这是在单机上,则都配置成localhost,若有多台节点机,则masters配置用作masters的机器ip,而slaves则配置多个slaves的ip。

c. 配置conf/core-site.xml, conf/hdfs-site.xml 及 conf/mapred-site.xml(简单配置,datanode 的配置相同,在这里只配置localhost,因为只有一台机子)

core-site.xml: <configuration> <property><name>hadoop.tmp.dir</name>  <value>/home/chen/hadoop-1.0.4/tmp</value> (这里可以自己配置一个存放tmp的文件夹路径) <description>A base for other temporary directories.</description>  </property> <!-- file system properties --> <property><name>fs.default.name</name><value>hdfs://localhost:9000</value></property> </configuration>
hdfs-site.xml <onfiguration><property><name>dfs.replication</name> <value>1</value></property> </configuration> 
mapred-site.xml: <onfiguration><property><name>mapred.job.tracker</name><value>localhost:9001</value> </property> </configuration>

注意:XML配置文件中,标签之间不要出现空格,否则会出错

(7)运行Hadoop,最激动人心的时刻来了

启动SSH Server,service sshd start,如果已经启动则跳过

进入hadoop-1.0.4/bin ,首先格式化文件系统 hadoop namenode -format

启动hadoop start-all.sh(-之前无空格)

用jps命令查看进程:

[root@localhost cloud]# jps 2733 TaskTracker 2672 JobTracker 2610 SecondaryNameNode 3927 Jps 2486 NameNode 2547 DataNode

TaskTracker ,JobTracker,SecondaryNameNode,NameNode ,DataNode必须都要起起来,如果哪个没有启动,请自行到hadoop目录下的logs文件夹中查看对应的log文件,看出了什么错

查看集群状态: $ hadoop dfsadmin -report Hadoop 的 web 方式查看:http://localhost:50070

如果能查看集群状态则说明Hadoop已经安装配置成功。