实验环境:VMware 10.0.1+CentOS-6.6-i386 +jdk-6u24-linux-i586+hadoop-1.1.2.tar.gz

普通用户:michael

集群规划:1台master+3台slave

主机名      IP地址       

master01          192.168.31.11

slave01              192.168.31.21

slave02              192.168.31.22

slave03              192.168.31.23

0.准备工作:使用桥接方式,复制软件到虚拟机中【michael@mster01】

<1>先在VMWare(本文后面附有下载地址)中新建一个安装CentOS-6.6 32bit系统的虚拟机,命名为master01。

<2>创建完毕后先将master01的网络连接方式设置为桥接模式,以便从宿主机(windows)获取jdk,hadoop等软件。

<3>查看宿主机(windows)的IP,如图1(安装的时候本机只连接了无线网络,所以只有无线网卡有ip),宿主机的ip为169.254.225.139

<4>设置master01的静态ip地址为169.254.225.138(这是随便设置的,只要和宿主机可以ping通、在同一个网段中且不冲突即可)。

<5>然后在windows上运行WinSCP软件,输入master01的IP地址(169.254.225.138)、登陆名等信息,即可将windows中已经下载好的Hadoop安装包,jdk安装包等软件复制到master01中。(本机是复制到/home/michael/hadoop_software目录下)

图1

1.设置master01的静态IP和子网掩码等信息【root@mster01】

由图1可知VMnet1的ipv4地址为192.168.31.1。集群中的各主机只要和VMnet1的IP在同一网段中即可。据此,集群中各主机的IP规划如下:

主机名      IP地址        子网掩码    默认网关

master01          192.168.31.11  255.255.255.0  192.168.31.1

slave01              192.168.31.21  255.255.255.0  192.168.31.1

slave02              192.168.31.22  255.255.255.0  192.168.31.1

slave03              192.168.31.23  255.255.255.0  192.168.31.1

修改master01的IP、子网掩码等信息。具体步骤为:

  • <1>在centos桌面右上角的图标上,右键修改。
  • <2>重启网卡,执行如下命令 service network restart
  • <3>验证:执行命令ifconfig(没效果的话就断开网络连接后再重新连接,然后再ifconfig

2. 修改主机名、配置hosts文件【root@mster01】

  • <1>修改配置文件中的主机名,执行命令vi etc/sysconfig/network
  • <2>执行命令vi etc/hosts,增加如下内容:
192.168.31.11    master01
192.168.31.21 slave01
192.168.31.22 slave02
192.168.31.23 slave03
  • <3>重启,执行命令reboot -h now
  • <4>验证:ping master01

3.关闭防火墙【root@mster01】

  • <1>执行命令service iptables stop
  • <2>验证:service iptables status

4.关闭防火墙的自动运行【root@mster01】

  • <1>执行命令chkconfig iptables off
  • <2>验证:chkconfig --list | grep iptables

5.安装JDK【root@mster01】

  • <1>执行命令rm-rf /usr/local/* 删除所有内容
  • <2>将jdk从/home/michael/hadoop_software目录复制到/usr/local目录下,执行如下命名:
  •        cp /home/michael/hadoop_software/jdk-6u24-linux-i586.bin /usr/local
  • <3>执行命令 chmod u+x jdk-6u24-linux-i586.bin 赋予执行权限
  • <4>执行命令 ./jdk-6u24-linux-i586.bin 解压缩,得到文件夹jdk1.6.0_24
  • <5>设置环境变量,执行命令 vi /etc/profile 增加如下2行内容
  •    export JAVA_HOME=/usr/local/jdk1.6.0_24
  •        export PATH=.:$JAVA_HOME/bin:$PATH
  • 保存退出,执行命令 source /etc/profile 让该设置立即生效。
  • <6>验证:java –version

6.复制3份虚拟机【root@slave01~slave03】

上述步骤完成后执行以下命令关机 shutdown –h now,并关闭VMWare。然后复制master01虚拟机,复制3份,分别充当充当slave01,slave02,slave03。

然后在VMWare中分别打开复制后的虚拟机,并编辑虚拟机设置,修改虚拟机名称,分别命名为slave01,slave02,slave03;并检查网络连接方式是否为Host-Only模式,然后启动虚拟机。

启动时选择“我已复制该虚拟机”。启动后,完成以下操作:

  • <1>右键编辑连接,删除多余的网络连接。(之前master01的)
  • <2>配置静态IP等信息。
  • <3>修改配置文件中的主机名,执行命令vi etc/sysconfig/network
  • <4>验证防火墙和JDK,执行如下命令:
  •   chkconfig --list | grep iptables
  •   java –version
  • <5>重启,执行命令reboot -h now

7.SSH(secure shell)的免密码登陆【michael】【mster01,slave01-03】

先在master01,slave01,slave02,slave03四台虚拟机上分别完成以下操作:(注意要以michael用户登录,在michael用户的主目录下进行操作!)

  • <1>在michael用户的主目录下执行命令 ssh-keygen -t rsa (然后回车回车)产生密钥,位于~/.ssh文件夹下
  • <2>执行命令 cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
  • <3>验证:ssh master01(请确保在生成密钥之前本机的ip是否是前面配置的IP,否则先配置好IP再来重新生成密钥)

然后把各个虚拟机的authorized_keys的内容互相拷贝加入到对方的此文件中,然后就可以免密码彼此ssh连入。

(可以这样操作:各个slave先将自己的authorized_keys文件scp到master01,然后master01汇总后再scp给各个slave)

8. 安装Hadoop【michael@mster01】【hadoop一定要安装在~目录下,否则会产生很多权限问题】

  • <1>进入/home/michael目录,cp hadoop_software/hadoop-1.1.2.tar.zip ./(为了将hadoop安装包复制到/home/michael目录下)
  • <2>执行命令 tar -zxvf hadoop-1.1.2.tar.gz 进行解压缩,得到文件夹hadoop-1.1.2
  • <3>使用root用户设置环境变量,执行命令 vi /etc/profile 
  •     增加一行内容:export HADOOP_HOEM=/home/michael/hadoop-1.1.2
  • 修改一行内容:export PATH=.:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH
  • 保存退出,执行命令 source /etc/profile 让该设置立即生效。
  • <4>创建Hadoop在本地文件系统保存数据的目录,执行命令 mkdir /home/michael/hadoop-1.1.2/hadoopData
  • 确保任何用户都可以在此目录写入数据,执行命令:chmod 777 /home/michael/hadoop-1.1.2/hadoopData
  • <5>修改Hadoop的配置文件,这几个文件在$Hadoop_HOME/conf/目录下,分别是slaves、masters、hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml。

【hadoop-env.sh修改JAVA_HOME的配置:】在9行

【core-site.xml修改后的内容如下:】

<configuration>

<property>

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

    <value>hdfs://master01:9000</value>

    <description>The URI of namenode</description>

</property>
<property> <name>hadoop.tmp.dir</name> <value>/home/michael/hadoop-1.1.2/hadoopData</value> <description>hadoop在本地文件系统保存其全部数据的位置</description> </property>
</configuration>

【hdfs-site.xml修改后的内容如下:】

<configuration>

<property>

    <name>dfs.replication</name>

    <!-- 值需要与实际的DataNode节点数要一致,本机为3 -->

    <value>3</value>

</property>

</configuration>

【mapred-site.xml修改后的内容如下:】

<configuration>

<property>

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

    <value>master01:9001</value>

</property>

</configuration>

9. 在master01上向各节点复制hadoop【michael@mster01】

<1>向slave01复制,执行如下命令:

scp /etc/profile root@slave01:/etc/

scp –r /home/michael/hadoop-1.1.2 michael@slave01:/home/michael 

<2>向slave02复制,执行如下命令:

scp /etc/profile root@slave02:/etc/

scp –r /home/michael/hadoop-1.1.2 michael@slave02:/home/michael

<3>向slave03复制,执行如下命令:

scp /etc/profile root@slave03:/etc/

scp –r /home/michael/hadoop-1.1.2 michael@slave03:/home/michael

10. 格式化namenode【michael@mster01】

在$Hadoop_HOME/bin/目录下执行命令 hadoop namenode -format 对hadoop进行格式化(如果之前执行过格式化,则格式化之前得先删除/tmp目录下的文件)

11.启动hadoop【michael@mster01】

经验教训:

1.第一次安装的时候在第8步的时候,是将hadoop安装在/usr/local/目录下(具体如下),因为michael是普通账户,所以在后续的操作过程中就报了大量的错(权限问题)。

 最后就将hadoop安装在了/home/michael/目录下。

<1>cp /home/michael/hadoop_software/hadoop-1.1.2.tar.zip /usr/local

<2>执行命令 tar -zxvf hadoop-1.1.2.tar.gz 进行解压缩,得到文件夹hadoop-1.1.2

<3>设置环境变量,执行命令 vi /etc/profile 
  增加1行内容:export HADOOP_HOEM=/usr/local/hadoop-1.1.2
修改1行内容:export PATH=.:$HADOOP_HOME/bin: $HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH
保存退出,执行命令 source /etc/profile 让该设置立即生效 <4>修改Hadoop的配置文件,为$Hadoop_HOME/conf/目录下的配置文件

2.第一次安装的时候hadoop是安装在/usr/local/目录下。由于权限问题没能成功。于是倒回去从第8步开始重新安装:先删除/usr/local/下的hadoop目录(只删除了这个目录),然后从第8步开始继续安装,执行到第10步格式化的时候,出现以下画面:

应该在删除/usr/local/目录下的hadoop时,也应该删除/tmp目录下相关的文件。于是又先删除了/tmp目录下的所有文件,然后再次格式化,没异常提示,成功!

3.安装到第11步的时候发现启动以后没有JobTracker。检查后发现mapred-site.xml中mapred.job.tracker属性取值中的master01写成了maser01。

4.hadoop启动过程中报如下错误:”Warning: $HADOOP_HOME is deprecated“。暂且不管。

5.hadoop.tmp.dir的默认值是/tmp(在格式化的输出信息中就可以看到),一些版本的linux系统会在每次重新启动的时候删除/tmp的内容。所以最好重新设置一个目录。

参考网址

http://q.fon.blog.163.com/blog/static/28304302201392695154134/

http://blog.csdn.net/shuxiao9058/article/details/7051463

http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/03/15/1985084.html

http://www.server110.com/vmware/201310/1973.html

http://lhdeyx.blog.163.com/blog/static/31819697201271110467492/

hadoop1.1.2安装过程的更多相关文章

  1. hadoop1.2.1+zk-3.4.5+hbase-0.94.1集群安装过程详解

    hadoop1.2.1+zk-3.4.5+hbase-0.94.1集群安装过程详解 一,环境: 1,主机规划: 集群中包括3个节点:hadoop01为Master,其余为Salve,节点之间局域网连接 ...

  2. Hadoop 在windows 上伪分布式的安装过程

    第一部分:Hadoop 在windows 上伪分布式的安装过程 安装JDK 1.下载JDK        http://www.oracle.com/technetwork/java/javaee/d ...

  3. (一)Hadoop1.2.1安装——单节点方式和单机伪分布方式

    Hadoop1.2.1安装——单节点方式和单机伪分布方式 一.   需求部分 在Linux上安装Hadoop之前,需要先安装两个程序: 1)JDK 1.6(或更高版本).Hadoop是用Java编写的 ...

  4. Hadoop之——分布式集群安装过程简化版

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46352315 1.hadoop的分布式安装过程 1.1 分布结构 主节点(1个,是 ...

  5. webstorm下载&&安装过程&&打开项目

    一.webstorm下载 WebStorm 是jetbrains公司旗下一款JavaScript 开发工具.被广大中国JS开发者誉为"Web前端开发神器"."最强大的HT ...

  6. vagrant 1.8.6 安装过程及总结遇到的坑

    下面先总结遇到的问题,这些问题如果你也遇到,可能需要搜索很多次才能找到原因. 如果想看安装过程,可以先直接跳到后面第二部分部分. 1 问题汇总: 1.1 vagrant版本过高问题. vagrant ...

  7. 安装过程错误[INS-30131]

    问题:Oracle Database 安装过程错误[INS-30131]   原因:安装用户没有对临时文件夹的读写权限   解决方案:   1.以管理员身份运行cmd.exe 2.输入命令(需启动Se ...

  8. TortoiseGIT的安装过程详解

    TortoiseGIT简介 TortoiseGIT 是Git版本控制系统的一个免费开源客户端,它是git版本控制的 Windows 扩展.可以使你避免使用枯燥而且不方便的命令行.它完全嵌入 Windo ...

  9. RabbitMQ 集群安装过程详解

    一.安装Erlang 1.rabbitMQ是基于erlang的,所以首先必须配置erlang环境. 从erlang官网下载 otp 18.3.下载链接:http://erlang.org/downlo ...

随机推荐

  1. nfs服务部署记录

    一.概念介绍NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操作系统能 ...

  2. PL/SQL Transaction Control

    PL/SQL 基础 ( 下 )   1. PL/SQL中的 SQL语句 - END语句与COMMIT等内容,没有任何关系. - PL/SQL does not directly support dat ...

  3. C# 根据正则表达式来判断输入的是不是数字

    最近在做输入判断的时候出现了一个需要判断输入合法性的问题,就是判断输入的是不是数字,判断方法是根据正则表达式来判断,具体方法如下: private bool IsRightNum(string str ...

  4. SPM - data analysis

    来源: SPM基本原理与使用PPT, 北师大,朱朝喆研究员,http://www.cnblogs.com/haore147/p/3633515.html ❤ First-level analysis: ...

  5. 将函数传给webworker

    var zWorker = function (func,cb){ var node = document.createElement('script'),workerId='worker' + Da ...

  6. 微信小程序 开发 微信开发者工具 快捷键

    微信小程序已经跑起来了.快捷键设置找了好久没找到,完全凭感觉.图贴出来.大家看看. 我现在用的是0.10.101100的版本,后续版本更新快捷键也应该不会有什么变化. 现在貌似不能修改.如果有同学找到 ...

  7. 如何重现难以重现的bug

    生活中有这么一种现象:如果你关注某些东西,它就会经常出现在你眼前,例如一个不出名的歌手的名字,一种动物的卡通形象,某个非常专业的术语,等等等等.这种现象也叫做“孕妇效应”.还有类似的一种效应叫做“视网 ...

  8. 在线音乐网站【04】Part two 功能实现

       上一篇博客里面已近总结了三个功能的具体实现,今天把剩余功能的具体实现补充总结,如果你想对整个小项目有清楚的了解,建议去看下前几篇博客. 1.在线音乐网站(1)需求和功能结构 2.在线音乐网站(2 ...

  9. 7z压缩文件时排除指定的文件

    分享一个7z压缩文件时排除指定文件类型的命令行,感觉很有用: 7z a -t7z d:\updateCRM.7z d:\updateCRM\*.* -r -x!*.log -x!*bak a:创建压缩 ...

  10. VS2013 未找到与約束ContractName

    vs2013打开项目无法加载项目,关闭时提示  未找到与約束ContractName... 解決方法,打開控制面板,找到下面這個程序 右击,选 择 修 复