《Hadoop实战》第二章 Hadoop的安装与配置

Hadoop安装与配置:

Hadoop是为了在Linux平台上使用而开发的,但是在一些主流的操作系统如UNIXWindows甚至Mac OS X系统上Hadoop也运行良好。不过,在Windows.上运行Hadoop稍显复杂,首先必须安装Cygwin来模拟Linux环境,然后才能安装Hadoop

以下介绍在Linuxwindow上配置hadoop

1.       Linux上安装与配置hadoop

1.1安装JDK1.6

下面介绍安装JDK 1.6的具体步骤。

(1)     下载和安装JDK 1.5

确保可以连接到互联网,

htp://www.oracle.com/technetwork/java/javase/downloads页面下载JDK 1.6安装包(文件名类似jdk-***-linux-i586.bin,不建议安装JDK 1.7版本,  因为并不是所有软件都支持1.7版本)JDK安装目录(本章假设IDK安装目录均为/usr/lib/jvm/jdk)

(2)手动安装JDK 1.6

在终端下进入JDK安装目录,并输入命令:

sudo chmod U+X jdk-.**- linux-i586. bin

修改完权限之后就可以进行安装了,在终端输入命令:

sudo-s./jdk-***-1inux- i586.bin

安装结束之后就可以开始配置环境变量了。

(3)配置环境变量输入命令:

sudo gedit /etc/profile

输入密码,打开profile 文件。在文件最下面输人如下内容:

#set Java Environment

export JAVA_ HCME=/usr/1ib/jvm/jdk

export CLASSPATH=". :$JAVA_ HOME/1 ib : $CLASSPATH"export PATH- ”$JAVA_ HOME/ : $PATH"

这一步的意义是配置环境变量,使系统可以找到JDK

(4)验证JDK是否安装成功输人命令:

  java -version

  会出现如下JDK版本信息:

  java version "1.6.0_22"

  Java(TM) SB Runtime Environment (build 1.6.0_ 22-b04)

  Java HotSpot (TM) Client VM (build 17.1-b03 mixed mode, shar ing)

如果出现上述JDK版本信息,说明当前安装的JDK并未设置成Ubuntu系统獸认的JDK,接下来还需要手动将安装的JDK设置成系统默认的JDK

(5)手动设置系统默认JDK在终端依次输入命令:

  sudo update- altermatives - install /usx/bin/java java /usr/lib/jvm/jdk/bin/java 300

  sudo update-alternatives - install /usr/bin/javac javac /usr/1ib/jvm/jdk/bin/javac 300sudo update-alternatives -config java

  接下来输入java -version就可以看到所安装的JDK的版本信息了。

1.2配置SSH免密码登录

同样以Ubuntu为例,假设用户名为u:

  1)确认已经连接上互联网,然后输入命令:

  sudo apt-get inatall sah

  2)配置为可以免密码登录本机。首先查看在u用户下是否存在.ssh文件夹(注意ssh前面有“.”, 这是一个隐藏文件夹),输入命令:

  1sa /home/u

  -般来说,安装SSH时会自动在当前用户下创建这个隐藏文件夹,如果没有,  可以手动创建一个。

  接下来,输入命令(注意下面命令中不是双引号,是两个单引号):

  sah-keygen –t dsa –P’ ’-f ~/ .sah/id_ dsa

  解释一下,ssh-keygen 代表生成密钥; -t (注意区分大小写)表示指定生成的密钥类型;

dsadsa密钥认证的意思,即密钥类型; P用于提供密语; -f 指定生成的密钥文件。

  Ubuntu中,~代表当前用户文件夹,此处即/home/u

  这个命令会在ssh文件夹下创建id_ dsaid dsa.pub 两个文件,这是SSH的一对私钥和公钥,类似于钥匙和锁,把id_ dsa.pub ( 公钥)追加到授权的key中去。

  输入命令:

  cat -/ .ssh/id_ dsa.pub >> -/ .esh/ authorized keys

  这条命令的功能是把公钥加到用于认证的公钥文件中,这里的authorized_ keys 是用于认证的公钥文件。

  至此免密码登录本机已配置完毕。

  3)验证SSH是否已安装成功,以及是否可以免密码登录本机。输入命令:

  ssh -vereion.

  显示结果:

  OpenSSH_ 5. 8p1 Debian-7ubuntul, OpenSSL 1.0.0e 6 Sep 2011

Bad escape character ' rsion'.

  显示SSH已经安装成功了。输入命令:

  ssh localhost

  会有如下显示:

  The authenticity of host ' localhost (: :1)’can't be establ ished .

  RSA key fingerprint is 8b:c3:51:a5:2a:31:b7: 74:06:9d:62:04:4f:84:fB:77.Are you sure you want to cont inue connecting (ye/no)? yea

  Warning: Permanently added ! localhost' (RSA) ; to the list of known hosts

  Linux master 2.6.31-14-generic #48-Ubuntu SMP Fri 0ct 16 14:04:26 UTC 2011 1686

  To access official Ubuntu documentation, please visit:http:/ /help . ubuntu . com/

  Last login: Sat Feb 18 17:12:40 2012 from masteradmi naHadoop:-$

  这说明已经安装成功,第一次登录时会询问是否继续链接,输人yes即可进入。

  实际,上,在Hadoop的安装过程中,是否免密码登录是无关紧要的,但是如果不配置免密码登录,每次启动Hadoop都需要输人密码以登录到每台机器的DataNode.上,考虑到一般的Hadoop集群动辄拥有数百或上千台机器,因此一般来说都会配置SSH的免密码登录。

1.3安装并运行Hadoop

介绍Hadoop的安装之前,

先介绍一下Hadoop对各个节点的角色定义。

Hadoop分别从三个角度将主机划分为两种角色。第一,最基本的划分为MasterSlave,即主人与奴隶:第二,从HDFS的角度,将主机划分为NameNodeDataNode (在分布式文件系统中,目录的管理很重要,管理目录相当于主人,而NameNode就是目录管理者);第三,从MapReduce的角度,将主机划分为JobTrackerTaskTracker (一个Job经常被划分为多个Task,从这个角度不难理解它们之间的关系)

  Hadoop有官方发行版与cloudera版,其中cloudera版是Hadoop的商用版本,这里先介绍Hadoop官方发行版的安装方法。

  Hadoop有三种运行方式:单机模式、伪分布式与完全分布式。乍看之下,前两种方式并不能体现云计算的优势,但是它们便于程序的测试与调试,所以还是很有意义的。

  你可以在以下地址获得Hadoop的官方发行版: htp://www.apache org/dyn/closer.cgi/

  Hadoop/core/.

  下载hadoop-1.0.1.tar.gz并将其解压,本书后续都默认将Hadoop解压到/home/u目录下。

(1)单机模式配置方式

  安装单机模式的Hadoop无须配置,在这种方式下,Hadoop被认为是一个单独的Java进程,这种方式经常用来调试。

  (2)伪分布式Hadoop配置

  可以把伪分布式的Hadoop看做只有-一个节点的集群,在这个集群中,这个节点既是Master,也是Slave;既是NameNode,也是DataNode;既是JobTracker,也是TaskTracker.

  伪分布式的配置过程也很简单,只需要修改几个文件。进入conf文件夹,修改配置文件。指定JDK的安装位置:

  Hadoop- env. sh:

  export JAVA_ HOME=/usr/1ib/jvm/jdk

  这是Hadoop核心的配置文件,这里配置的是HDFS (Hadoop的分布式文件系统)的地址及端口号。

  conf/core-site, xml ;<conf iguration>

  <property>

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

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

  以下是HadoopHDFS的配置,配置的备分方式默认为3,在单机版的Hadop中,需将其改为1

conf/hdfs-site . xml:

<conf iguration>

<property>

<name>dfs. replication< / name >

<value>1< /value>

</property></ configuration>

  以下是HadoopMapReduce的配置文件,配置JobTracker 的地址及端口。

  conf/mapred-site. xml:

  <configuration>

  <property>

  <name >mapred. job. Tracker</name>

<cvalue>localhost: 9001</value></property>

</configuration>

  接下来,在启动Hadoop前,需要格式化Hadoop的文件系统HDFS。进入Hadoop文件夹,输人命令:

  bin/Hadoop NameNode - format

  格式化文件系统,接下来启动Hadoop。输入命令,启动所有进程:

  bin/etart-all. sh

  最后,验证Hadoop是否安装成功。打开浏览器,分别输入网址:

  http://localhost : 50030 (MapReduce web页面)http:/ /localhoat:50070 (HDFS Web页面)

  如果都能查看,说明Hadoop已经安装成功。

  对于Hadoop来说,启动所有进程是必须的,但是如果有必要,你依然可以只启动HDFS ( start-dfs.sh)MapReduce ( start-mapred.sh)

2.在window上安装与配置hadoop

2.1安装JDK1.6或更高版本

相对于Linux,JDKWindows.上的安装过程更容易,你可以在htp://www.java.com/zh_ CN/download/manual.jsp下载到最新版本的JDK。这里再次申明,Hadoop的编译及MapReduce程序的运行,很多地方都需要使用JDK的相关工具,因此只安装JRE是不够的。

  安装过程十分简单,运行安装程序即可,  程序会自动配置环境变量(在之前的版本中还没有这项功能,新版本的JDK已经可以自动配置环境变量了)

2.2安装Cygiwn

Cygwin是在Windows平台下模拟UNIX环境的一个工具,  只有通过它才可以在Windows环境下安装Hadoop。可以通过下面的链接下载Cygwin: htp://www.cygwin.com/.

  双击运行安装程序,选择install from internet。根据网络状况,选择合适的源下载程序。

  2.3  配置环境变量

  依次右击“我的电脑”,在弹出的快捷菜单中依次单击“属性”→“高级系统设置”→“环境变量”,修改环境变量里的path设置,在其后添加Cygwinbin目录。

  2.4  安装sshd服务

  单击桌面上的Cygwin图标,启动Cygwin,执行ssh-host-config命令,当要求输入Yes/No时,选择输人No。当显示“Havefun”时,表示sshd服务安装成功。

  2.5  启动sshd服务

  在桌面上的“我的电脑”图标上右击,在弹出的快捷菜单中单击“管理”命令,启动CYGWIN sshd服务,或者直接在终端下输人下面的命令启动服务:

  net start sshd

  2.6  配置SSH免密码登录

  执行ssh-keygen命令生成密钥文件。按如下命令生成authorized_ keys 文件:

  d -/ .ssh/

  :p id_ r8a. pub authorized_ keys

  完成上述操作后,执行exit命令先退出Cygwin窗口,如果不执行这一步操作,后续的操作可能会遇到错误。

  接下来,重新运行Cygwin,执行ssh localhost命令,在第-一次执行时会有提示,然后输人yes,直接回车即可。

2.7 配置SSH免密码登录

执行ssh-keygen命令生成密钥文件。按如下命令生成authorized_ keys 文件:

  cd -/ .ssh/

  cp id_ rsa. pub authorized_ keys

  完成上述操作后,执行exit命令先退出Cygwin窗口,如果不执行这一步操作,后续的操作可能会遇到错误。

  接下来,重新运行Cygwin,执行ssh localhost命令,在第一次执行时会有提示,然后输人yes,直接回车即可。

2.4安装并运行hadoop

Windows.上安装Hadoop与在Linux.上安装的过程一样,这里就不再赘述了,不过有两点需要注意:

  1)在配置conf/hadoop-evn.sh文件中Java的安装路径时,如果路径之间有空格,  需要将整个路径用双引号引起来。例如可以进行配置:

  export JAVA_ HOME=" / cygdrive/ c/Program Files/Java/jdk1.6.0 _22"

  其中cygdrive表示安装cygdrive 之后系统的根目录。

另外一种办法是在cygwin窗口使用类似下面的命令创建文件链接,使后面的文件指向Windows'下安装的JDK,然后将conf/hadoop-env.shJDK配置为此链接文件:

  $ 1n-s /eygdrive/c/Program\ Files/Java/jdk1.6.0_ 22 /usx/local/jdk

  2)在配置conf/mapred site.xml文件时,应增加对mapred.child.tmp属性的配置,配置的值应为一个Linux系统的绝对路径,如果不配置,Job 在运行时就会报错。具体配置为:

  <property>

  cname >mapred . child. tmp< / name>

  <value>/ home/Administrator /hadoop-1.0.1/tmp</value></property>

  同样需要在conf/core-site.xml文件中为hadoop.tmp.dir属性配置一个和mapred.child.tmp属性相似的绝对路径。

全部评论

相关推荐

野猪不是猪🐗:现在的环境就是这样,供远大于求。 以前卡学历,现在最高学历不够卡了,还要卡第一学历。 还是不够筛,于是还要求得有实习、不能有gap等等... 可能这个岗位总共就一个hc,筛到最后还是有十几个人满足这些要求。他们都非常优秀,各方面都很棒。 那没办法了,看那个顺眼选哪个呗。 很残酷,也很现实
点赞 评论 收藏
分享
后来123321:别着急,我学院本大二,投了1100份,两个面试,其中一个还是我去线下招聘会投的简历,有时候这东西也得看运气
点赞 评论 收藏
分享
评论
1
3
分享

创作者周榜

更多
牛客网
牛客企业服务