zoukankan      html  css  js  c++  java
  • hadoop1.1.2安装过程

    实验环境: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>执行命令start-all.sh 启动
    • <2>验证(两种方式)    
    •    a.执行命令jps
    •          b.宿主机浏览器输入http://192.168.31.11:50070/】

     

    经验教训:

    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/

     

  • 相关阅读:
    xshell 使用命令上传、下载文件
    linux extglob模式 和rm反选,除了某个文件外的其他文件全部删除的命令
    vscode
    win10文件夹共享
    jquery-自适应全屏背景轮播动画
    jquery-抖动图组轮播动画
    jquery-leonaScroll-1.2-自定义滚动条插件
    jquery-leonaScroll-1.1-自定义滚动条插件
    JavaScript-JQ实现自定义滚动条插件1.0
    JavaScript-JQ初探实现自定义滚动条
  • 原文地址:https://www.cnblogs.com/tsiangleo/p/4190785.html
Copyright © 2011-2022 走看看