zoukankan      html  css  js  c++  java
  • Hadoop伪分布式搭建步骤

    说明: 搭建环境是VMware10下用的是Linux CENTOS 32位,Hadoop:hadoop-2.4.1  JAVA :jdk7 32位;本文是本人在网络上收集的HADOOP系列视频所附带的课堂笔记(这里直接抄过来的),记录备忘。

    补充:1、虚拟机的网络配置,桥接模式:相当于虚拟机与实体机公用一个网卡,所以这种模式下的虚拟机需要联网的话,需要跟实体机一个网段和网关。NAT模式:实体机相当于一个路由器,虚拟机相当于一个内网。

    开始前让我们简单修改下LINUX系统的JDK;一般情况下,我们都要将linux自带的OPENJDK卸载掉,然后安装SUN的JDK(下面的代码来源网络,请注意真实自己环境)

    <1> 查看已经安装的JAVA版本信息

    # java -version 

     一般将获得如下信息:

    java version "1.6.0"
    OpenJDK Runtime Environment (build 1.6.0-b09)
    OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)

     <2>查看jdk的信息

    # rpm -qa|grep java 

     一般将获得如下信息:

    java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
    java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

    <3> 卸载

    # yum -y remove java java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
    # yum -y remove java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

     然后,就是真正安装HADOOP伪分布的过程,本人亲测成功。 

    1.准备Linux环境(IP仅作参考)

     1.0   点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet ip 设置网段:192.168.1.0 子网掩码:255.255.255.0 -> apply -> ok

    回到windows --> 打开网络和共享中心 -> 更改适配器设置 -> 右键VMnet1 -> 属性 -> 双击IPv4 -> 设置windows的IP:192.168.1.100 子网掩码:255.255.255.0 -> 点击确定
    在虚拟软件上 --My Computer -> 选中虚拟机 -> 右键 -> settings -> network adapter -> host only -> ok

    1.1 修改主机名

    vim /etc/sysconfig/network
    
    NETWORKING=yes
    HOSTNAME=itcast ### 这里就不修改,也让读者知道真正的作者来源

     1.2 修改IP

      两种方式:

      第一种:通过Linux图形界面进行修改(强烈推荐)
      进入Linux图形界面 -> 右键点击右上方的两个小电脑 -> 点击Edit connections -> 选中当前网络System eth0 -> 点击edit按钮 -> 选择IPv4 -> method选择为manual -> 点击add按钮 -> 添加IP:192.168.1.101 子网掩码:255.255.255.0 网关:192.168.1.1 -> apply

      第二种:修改配置文件方式(屌丝程序猿专用)

    vim /etc/sysconfig/network-scripts/ifcfg-eth0

     DEVICE="eth0"
     BOOTPROTO="static" ###
     HWADDR="00:0C:29:3C:BF:E7"
     IPV6INIT="yes"
     NM_CONTROLLED="yes"
     ONBOOT="yes"
     TYPE="Ethernet"
     UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c"
     IPADDR="192.168.1.101" ###
     NETMASK="255.255.255.0" ###
     GATEWAY="192.168.1.1" ###

     1.3 修改主机名和IP的映射关系

    vim /etc/hosts

    192.168.1.101 itcast

     1.4 关闭防火墙

    #查看防火墙状态
    service iptables status
    #关闭防火墙
    service iptables stop
    #查看防火墙开机启动状态
    chkconfig iptables --list
    #关闭防火墙开机启动
    chkconfig iptables off

     1.5 重启Linux  reboot

     2.安装JDK

     2.1 上传alt+p 后出现sftp窗口(使用的SecureCRT),然后

    put d:xxxyylljdk-7u_65-i585.tar.gz 

      2.2 解压jdk

    #创建文件夹
    mkdir /home/hadoop/app
    #解压
    tar -zxvf jdk-7u55-linux-i586.tar.gz -C /home/hadoop/app

     2.3 将java添加到环境变量中

    vim /etc/profile
    #在文件最后添加
    export JAVA_HOME=/home/hadoop/app/jdk-7u_65-i585
    export PATH=$PATH:$JAVA_HOME/bin
    #刷新配置
    source /etc/profile

    3.安装hadoop2.4.1

      先上传hadoop的安装包到服务器上去/home/hadoop/ 注意:hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop 伪分布式需要修改5个配置文件

     3.1 配置hadoop

       第一个:hadoop-env.sh

    vim hadoop-env.sh
    #第27行
    export JAVA_HOME=/usr/java/jdk1.7.0_65

          第二个:core-site.xml

    <!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://weekend-1206-01:9000</value>
    </property>
    <!-- 指定hadoop运行时产生文件的存储目录 -->
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/hadoop-2.4.1/tmp</value>
    </property>

          第三个:hdfs-site.xml   hdfs-default.xml

    <!-- 指定HDFS副本的数量 -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>

          第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)

    vim mapred-site.xml
    
    <!-- 指定mr运行在yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

           第五个:yarn-site.xml

    <!-- 指定YARN的老大(ResourceManager)的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>weekend-1206-01</value>
    </property>
    <!-- reducer获取数据的方式 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

       3.2 将hadoop添加到环境变量

    vim /etc/proflie
    
    export JAVA_HOME=/usr/java/jdk1.7.0_65
    export HADOOP_HOME=/itcast/hadoop-2.4.1
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    source /etc/profile

      3.3格式化namenode(是对namenode进行初始化)

    hdfs namenode -format (hadoop namenode -format)

      3.4启动hadoop

    #先启动HDFS
    sbin/start-dfs.sh
            
    #再启动YARN
    sbin/start-yarn.sh

      3.5验证是否启动成功

    使用jps命令验证
    # jps
    27408 NameNode
    28218 Jps
    27643 SecondaryNameNode
    28066 NodeManager
    27803 ResourceManager
    27512 DataNode
        
    #http://192.168.1.101:50070 (HDFS管理界面)
    #http://192.168.1.101:8088 (MR管理界面)

    4.配置ssh免登陆

    #生成ssh免登陆密钥
    #进入到我的home目录
    cd ~/.ssh
    
    ssh-keygen -t rsa (四个回车)
    执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
    将公钥拷贝到要免登陆的机器上
    ssh-copy-id localhost

     最后,HADOOP就可以正常启动了。

    下面一些命令是我自己需要的,请忽略

    service network restart
    
    cd /home/hadoop/app/hadoop-2.4.1/sbin/
    
    /etc/udev/rules.d/70-persistent-net.rules
    /etc/sysconfig/network-scripts/ifcfg-eth0
    
    1. Remove Network Manager from startup Services.
    chkconfig NetworkManager off
    
    2. Add Default Net Manager
    chkconfig network on
    
    3.Stop NetworkManager first
    service NetworkManager stop
    
    4.and then start Default Manager
    service network start
    
    scp -r /home/hadoop/jdk-7u65-linux-i586.tar.gz root@192.168.2.202:/home/seasky/jdk-7u65-linux-i586.tar.gz
    scp -r /home/hadoop/hadoop-2.4.1.tar.gz root@192.168.2.202:/home/seasky/hadoop-2.4.1.tar.gz

    克隆虚拟机后的修改:

      1- 修改主机名     vim /etc/sysconfig/network

      2- 修改网卡    # vi /etc/udev/rules.d/70-persistent-net.rules 前面加#注释掉第一个网卡,更改第2个网卡为eth0,记录下mac地址

      3- 修改IP#vi /etc/sysconfig/network-scripts/ifcfg-eth0

      4- 添加本机地址 hosts vim /etc/hosts 

      5- 修改配置Hadoop  core-site.xml yarn-site.xml 

         格式化HDFS 以及重置 SSH key

      6- 重启 reboot

       

     附件:hadoop-shell.7z

  • 相关阅读:
    ASP.NET Core Web API 帮助页
    SQL SERVER 被锁住的表,以及解锁。
    关键字查找相关存储过程,函数和视图
    MsSql 生成数据文档
    WebApiTestClient 接口测试页
    sql日期
    为什么同样的Sql语句在SqlServer RDS 查询得到的和自己本机SqlServer 查询的不一样呢?
    VS 无法在web服务器上启动调试。您没有调试web服务器进程的权限
    ROS学习之创建工作空间
    QT学习之forward declaration of 'struct Ui::xxx';invalid use of incomplete struct "Ui::Widget"
  • 原文地址:https://www.cnblogs.com/java-oracle/p/6148742.html
Copyright © 2011-2022 走看看