hadoop深入了解(三)

0.使用host-only方式
    将Windows上的虚拟网卡改成跟Linux上的网卡在同一网段
    注意:一定要将widonws上的WMnet1的IP设置和你的虚拟机在同一网段,但是IP不能相同
1.Linux环境配置(windows下面的防火墙也要关闭)
    1.1修改主机名
        vim /etc/sysconfig/network
    1.2修改IP
        vim /etc/sysconfig/network-scripts/ifcfg-eth0

        DEVICE="eth0"
        BOOTPROTO="static"   ###
        HWADDR="00:0C:29:BF:45:8B"
        IPV6INIT="yes"
        NM_CONTROLLED="yes"
        ONBOOT="yes"
        TYPE="Ethernet"
        UUID="99339c27-0884-46c0-85d5-2612e5c1f149"
        IPADDR="192.168.1.110"   ###
        NETMASK="255.255.255.0"  ###
        GATEWAY="192.192.1.1"    ###
    1.3修改主机名和IP的映射关系
        vim /etc/hosts

        192.168.1.110 itcast
    1.4关闭防火墙
        查看防护墙状态
        service iptables status

        关闭
        service iptables stop

        查看防火墙开机启动状态
        chkconfig iptables --list

        关闭开机启动
        chkconfig iptables off
    1.5安装JDK
        上传JDK
        添加执行权限
        chmod u+x jdk-6u45-linux-i586.bin

        解压
        ./jdk-6u45-linux-i586.bin

        mkdir /usr/java
        mv jdk1.6.0_45/ /usr/java/

        将java添加到环境变量
        vim /etc/profile
        在文件的末尾添加如下内容

        export JAVA_HOME=/usr/java/jdk1.6.0_45
        export PATH=$PATH:$JAVA_HOME/bin

        刷新配置
        source /etc/profile

2.配置hadoop
    2.1上传hadoop包

    2.2解压hadoop包
        首先在根目录创建一个cloud目录
        mkdir /cloud

        tar -zxvf hadoop-1.1.2.tar.gz -C /cloud/
    2.3配置hadoop伪分布式(要修改4个文件)
        第一个:hadoop-env.sh
        vim hadoop-env.sh
            export JAVA_HOME=/usr/java/jdk1.6.0_45

        第二个:core-site.xml
        vim core-site.xml

            <configuration>
                    <!-- 指定HDFS的namenode的通信地址 -->
                    <property>

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

<value>hdfs://itcast:9000</value>
                    </property>
                    <!-- 指定hadoop运行时产生文件的存放目录 -->
                    <property>
                            <name>hadoop.tmp.dir</name>
                            <value>/cloud/hadoop-

1.1.2/tmp</value>
                    </property>
            </configuration>

        第三个:hdfs-site.xml
        vim hdfs-site.xml
            <configuration>
                <!-- 配置HDFS副本的数量 -->
                <property>
                        <name>dfs.replication</name>
                        <value>1</value>
                </property>
            </configuration>

        第四个:mapred-site.xml
        vim mapred-site.xml
            <configuration>
                    <!-- 指定jobtracker地址 -->
                    <property>

<name>mapred.job.tracker</name>
                            <value>itcast:9001</value>
                    </property>
            </configuration>

    2.4将hadoop添加到环境变量
        vim /etc/profile

        export JAVA_HOME=/usr/java/jdk1.6.0_45
        export HADOOP_HOME=/cloud/hadoop-1.1.2
        export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

        source /etc/profile

    2.5格式化HDFS
        hadoop namenode -format

    2.6启动hadoop
        start-all.sh

    2.7验证集群是否启动成功
        jps(不包括jps应该有5个)
        NameNode
        SecondaryNameNode
        DataNode
        JobTracker
        TaskTracker
        还可以通过浏览器的方式验证
        http://192.168.1.110:50070 (hdfs管理界面)
        http://192.168.1.110:50030 (mr管理界面)

        在这个文件中添加linux主机名和IP的映射关系
        C:\Windows\System32\drivers\etc

3.配置ssh免登陆
    生成ssh免登陆密钥
    ssh-keygen -t rsa
    执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
    将公钥拷贝到要免登陆的机器上
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
时间: 2024-11-05 14:09:07

hadoop深入了解(三)的相关文章

《OD学hadoop》第三周0709

一.MapReduce编程模型1. 中心思想: 分而治之2. map(映射)3. 分布式计算模型,处理海量数据4. 一个简单的MR程序需要制定map().reduce().input.output5. 处理的数据放在input中.处理的结果放在output中6. MR程序>八股文7. MR在处理数据的时候,是由一个流向,数据在处理过程中的流向格式:以<key,value>进行流向8. input -> map() -> reduce() -> output<key

Hadoop那些事儿(三)---MapReduce编程浅析

1.map和reduce 1.1 mapReduce处理逻辑 在本系列文章的第一篇中,曾对MapReduce原理做过简单的描述,在这里再重述一遍. 首先我们有两个文件word1.txt和word2.txt 其中word1.txt的内容如下: aaaa bbbb cccc dddd aaaa word2.txt的内容如下: aaaa cccc dddd eeee aaaa 这里的两个文件很小,我们先假设这两个文件很大,分别为64M和96M的大小,然后我们需要统计文件中每个字符串的数量,那么MapR

搭建Hadoop集群 (三)

通过 搭建Hadoop集群 (二), 我们已经可以顺利运行自带的wordcount程序. 下面学习如何创建自己的Java应用, 放到Hadoop集群上运行, 并且可以通过debug来调试. 有多少种Debug方式 Hadoop在Eclipse上的Debug方式 一般来说, Debug最多的应用场景是调试MR中的代码逻辑, 还有部分是调试main方法中的某些代码逻辑. 无论是Standalone, Pesudo-Distributed, 还是Fully-Distributed Mode, 都可以d

Hadoop学习---第三篇Hadoop的第一个Mapreduce程序

Mapreducer程序写了好几个了,但是之前一直都没有仔细的测试过本地运行和集群上运行的区别,今天写了一个Mapreduce程序,在此记录下来. 本地运行注意事项有以下几点: 1.本地必须配置好Hadoop的开发环境 2.在src里不加入配置文件运行,或者如果本地的src里有mapred-site.xml和yarn-site.xml配置文件,那么mapreduce.framework.name=local以及yarn.resourcemanager.hostname=local 测试说明:sr

Hadoop学习笔记(三) ——HDFS

参考书籍:<Hadoop实战>第二版 第9章:HDFS详解 1. HDFS基本操作 @ 出现的bug信息 @[email protected] WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable @[email protected] WARN hdfs.DFSClient: DFSInpu

Hadoop集群三种作业调度算法介绍

Hadoop集群中有三种作业调度算法,分别为FIFO,公平调度算法和计算能力调度算法先来先服务(FIFO)Hadoop中默认的调度器FIFO,它先按照作业的优先级高低,再按照到达时间的先后选择被执行的作业.FIFO比较简单,hadoop中只有一个作业队列,被提交的作业按照先后顺序在作业队列中排队,新来的作业插入到队尾.一个作业运行完后,总是从队首取下一个作业运行.这种调度策略的优点是简单.易于实现,同时也减轻了jobtracker的负担.但是它的缺点也是显然的,它对所有的作业都一视同仁,没有考虑

Hadoop学习笔记三:分布式hadoop部署

前语:如果看官是个比较喜欢使用现成软件的,比较推荐使用quickhadoop,这个使用参照官方文档即可,是比较傻瓜式的,这里不做介绍.本文主要是针对自己部署分布式hadoop. 1.修改机器名 [[email protected] root]# vi /etc/sysconfig/network 将HOSTNAME=*** 一栏改成适当的名称,笔者两台机器采用HOSTNAME=Hadoop00,HOSTNAME=Hadoop01这种方式. 2.修改IP,网关,掩码等 vim /etc/sysco

hadoop学习笔记(三)——WIN7+eclipse+hadoop2.5.2部署

折腾了大半个晚上最终部署成功了,比在Linux上面略微复杂一点,具体过程例如以下: 1)  jdk.ant.hadoop环境变量配置 2)  分别将hadoop-2.5.2.tar.gz.hadoop-2.5.2-src.tar.gz.hadoop2x-eclipse-plugin.hadoop-common-2.2.0-bin下载解压到D:\profession\hadoop文件夹下 3)  改动hadoop-eclipse-plugin-2.5.2.jar配置 改动D:\profession

hadoop系列 第三坑: Task process exit with nonzero status of 137

跑MR的时候抛出异常: java.lang.Throwable: Child Error at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:250) Caused by: java.io.IOException: Task process exit with nonzero status of 137. at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:237)

Hadoop 学习笔记三 --JobClient 的执行过程

一. MapReduce 作业处理过程概述 当用户在使用Hadoop 的 MapReduce 计算模型处理问题的时候,只需要设计好Mapper 和Reducer 处理函数,还有可能包括Combiner 函数.之后,新建一个Job 对象,并对Job 的运行环境进行一些配置,最后调用Job 的waitForCompletion 或者 submit 方法来提交作业即可.代码如下: 1 //新建默认的Job 配置对象 2 Configuration conf = new Configuration();