1. 解压

    将安装包hadoop-2.2.0.tar.gz存放到/home/haozhulin/install/目录下,并解压

    #将hadoop解压到/home/haozhulin/install路径下,定位目录到/home/haozhulin/install

    tar –zxvf hadoop-2.2.0.tar.gz –C /home/haozhulin/install/

    或者先让其有执行权限,然后直接./就可以解压

    chmod
    +x hadoop-2.2.0.tar.gz    

    ./hadoop-2.2.0.tar.gz

    修改解压后的目录中的文件夹etc/hadoop下的xml配置文件(如果文件不存在,则自己创建),后面开始修改配置文件6个:

    在/home/haozhulin/install/hadoop-2.2.0/etc/hadoop/下的

    hadoop-env.sh

    core-site.xml

    hdfs-site.xml

    mapred-site.xml

    yarn-site.xml

    slaves

  2. 修改hadoop-env.sh

    配置hadoop的jdk版本环境

    cd /home/haozhulin/install/hadoop-2.2.0/etc/hadoop/

    vim hadoop-env.sh

    hadoop-env.sh为hadoop环境变量,依赖JDK,进行如下修改

    #第27行

    export JAVA_HOME=/home/haozhulin/install/java/jdk1.7.0_65

  3. 修改core-site.xml

    在其<configuration></ configuration >中插入:

    <!-- 制定HDFS的老大(NameNode)的地址 -->

    <property>

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

        <!--<name>fs.defaultFS</name>-->

        <value>hdfs://whaozl001:9000</value>

    </property>

    <!-- 指定hadoop运行时产生文件的存储目录 -->

    <property>

        <name>hadoop.tmp.dir</name>

        <value>/home/haozhulin/install/hadoop-2.2.0/tmp</value>

    </property>

    上面写的whaozl001是主机名,也可以更改为地址入10.30.30.1,端口号9000也可以是其他的。需要注意的是whaozl001是在/etc/hosts/中设置的host,如果未设置,需要更换为localhost,最好设置,见1.2.7。

    /home/haozhulin/install/hadoop-2.2.0/tmp为手动创建的haozhulin文件夹下的tmp目录下。

  4. 修改hdfs-site.xml

    在其<configuration></ configuration >中插入:

    <!-- 指定HDFS副本的数量 -->

    <property>

        <name>dfs.replication</name>

        <value>1</value>

    </property>

    由于这里是伪分布,只有一台机器,只保存一份。

    问题:当采用虚拟机搭建hadoop环境时,每次虚拟机重启后,hadoop无法启动成功?

    解决方案:在hdfs-site.xml中增加以下两个配置项:

    <!--配置NameNode元信息存放的路径-->

    <property>

        <name>dfs.namenode.name.dir</name>

        <value>/home/haozhulin/install/hadoop-2.2.0/dfs/name</value>

    </property>

    <!--配置DataNode数据信息存放的路径,可配置多个,逗号隔开-->

    <property>

        <name> dfs.datanode.data.dir </name>

        <value>/home/haozhulin/install/hadoop-2.2.0/dfs/data</value>

    </property>

    其中,各个目录一定要是非/tmp下的目录,dfs.namenode.name.dir属性可以配置多个目录,如/data1/dfs/name,/data2/dfs/name, /data3/dfs/name,….。各个目录存储的文件结构和内容都完全一样,相当于备份,这样做的好处是当其中一个目录损坏了,也不会影响到 Hadoop的元数据,特别是当其中一个目录是NFS(网络文件系统Network File System,NFS)之上,即使你这台机器损坏了,元数据也得到保存。

  5. 修改mapred-site.xml

    在里面没有mapred-site.xml文件,但是提供了mapred-site.xml.template模板文件,将其重命名为mapred-site.xml文件,然后进行配置(后续不再重述)。

    #cp命令也可以,mv为重命名命令

    mv mapred-site.xml.template mapred-site.xml

    vim mapred-site.xml

    再在其<configuration></ configuration >中插入:

    <!-- 指定mr运行在yarn上 -->

    <property>

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

    </property>

    mr为mapReduce,将mapReduce配置到yarn上运行

  6. 修改yarn-site.xml

    在其<configuration></ configuration >中插入:

    <!-- 指定YARN的老大(ResourceManager)的地址 -->

    <property>

        <name>yarn.resourcemanager.hostname</name>

        <value>whaozl001</value>

    </property>

    <!-- reducer获取数据的方式 -->

    <property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

    </property>

  7. 修改slaves

    #定位到/home/haozhulin/install/hadoop-2.2.0/etc/hadoop/slaves文件

    vim etc/hadoop/slaves

    #由于是单机伪分布,所以DataNode就只有localhost

    #不需要修改,也可以改为127.0.0.1,都是指本机

     

  8. 将hadoop添加到环境变量

    将hadoop添加到环境变量之后,可直接在命令窗口中使用hadoop命令(替换了其对应hadoop所在的路径)。

    #指定到环境变量文件

    vim /etc/profile

    做如下修改:

    #java environment

    export JAVA_HOME=/home/haozhulin/install/java/jdk1.7.0_09

    export HADOOP_HOME=/home/haozhulin/install/hadoop-2.2.0

    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    然后刷新环境变量配置

    source /etc/profile

    【注意】最好是安装JDK同时,把HADOOP_HOME也配置好,后续方便(各DataNode机就不用麻烦)。

  9. 格式化namenode

    这里所有配置当前路径应该是/home/haozhulin/install/hadoop-2.2.0/bin下

    这里是对HDFS的namenode进行格式化。

    #hadoop namenode –format 该命令过时了,但是依然可用

    #进入hadoop位置/home/haozhulin/install/hadoop-2.2.0/bin/hadoop

    which hadoop

    #hdfs位置#/home/haozhulin/install/hadoop-2.2.0/bin/hdfs

    which hdfs

    之前配置core-site.xml时配置了一个tmp目录(非临时文件目录)

    #新命令格式化namenode,产生tmp目录

    hdfs namenode -format

    【注意】如果没有配置hadoop环境变量,则格式化须使用:

    #该命令过时

    bin/hadoop namenode –format

    #采用如下命令(同上)

    bin/hdfs namenode -format

  10. 启动hadoop

    这里可以一次用./sbin/start-all.sh启动所有,但是一般是先启动HDFS,然后启动yan(因为启动all会多次要求输入root密码),而且start-all.sh命令已经过时。

    #先启动HDFS

    sbin/start-dfs.sh

    #再启动yarn

    sbin/start-yarn.sh

    单独启动HDFS:

    #跳转到hadoop-2.2.0目录下

    sbin/hadoop-daemon.sh start namenode

    sbin/hadoop-daemon.sh start datanode

    单独启动yarn:

    sbin/yarn-daemon.sh start nodemanager

    sbin/yarn-daemon.sh start resourcemanager

  11. 验证hadoop启动成功

    使用jps命令验证

    jps

    27408 NameNode

    28218 Jps

    27643 SecondaryNameNode

    28066 NodeManager

    27803 ResourceManager

    27512 DataNode

    jps为Java命令(which jps)

    http://10.30.30.1:50070 (HDFS管理界面)

    http://10.30.30.1:8088 (MapReduce管理界面)

    表 2.1 hadoop各进程关系

    进程

    关系

    含义

    ResourceManager 

    yarn的老大

    负责资源调度分配给

    mapreduce/spark/storm

    NodeManager

    yarn的小弟

    负责干活

    NameNode

    hdfs的老大

    负责接收用户请求,数据映射关系

    DataNode

    hdfs的小弟

    负责存储数据

    SecondaryNameNode

    NameNode的助理

    不是NameNode的热备

    协助NameNode

    NameNode一般是多个,一般配置一个主一个备。

  12. hdfs测试(下载和上传)

    #将/root/jdk-7u9-linux-i586.gz文件上传到hdfs/下并重命名为jdk

    hadoop fs –put /root/jdk-7u9-linux-i586.gz hdfs://whaozl001:9000/jdk

    然后通过http://10.30.30.1:50070(HDFS管理界面)里面的点击Browse the filesystem NameNode logs查看,也可以在里面下载。

    可以将hadoop的系统理解为一个网盘。

    #命令方式下载jdk并重命名为jdk1.7

    hadoop fs –get hdfs://whaozl001:9000/jdk /home/jdk1.7

    #解压这个文件

    tar –zxvf jdk1.7

  13. 测试MapReduce和YARN

    /home/haozhulin/install/hadoop-2.2.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar下就是多个mapreduce的例子,里面有一个wordcount例子

    #查看后面还需要跟哪些参数,wordcount需要一个输入一个输出

    hadoop jar hadoop-mapreduce-expamples-2.2.0.jar

    #弄一个words文件,里面有很多单词,将其上传到hdfs

    hadoop fs –put /words hdfs://whaozl001:9000/words

    #显示hdfs下的所有文件

    hadoop fs –ls hdfs://whaozl001:9000

    #测试examples中的wordcount例子

    hadoop jar hadoop-mapreduce-expamples-2.2.0.jar wordcount hdfs://whaozl001:9000/words hdfs://whaozl001:9000/wcount

    #查看结果

    hadoop fs –ls hdfs://whaozl001:9000

  14. 检验错误

    错误都保存在/home/haozhulin/install/hadoop-2.2.0/logs目录下

    cd /home/haozhulin/install/hadoop-2.2.0/

    ls

    cd logs

hadoop伪分布安装的更多相关文章

  1. Hadoop伪分布安装详解(五)

    目录: 1.修改主机名和用户名 2.配置静态IP地址 3.配置SSH无密码连接 4.安装JDK1.7 5.配置Hadoop 6.安装Mysql 7.安装Hive 8.安装Hbase 9.安装Sqoop ...

  2. Hadoop伪分布安装详解(三)

    目录: 1.修改主机名和用户名 2.配置静态IP地址 3.配置SSH无密码连接 4.安装JDK1.7 5.配置Hadoop 6.安装Mysql 7.安装Hive 8.安装Hbase 9.安装Sqoop ...

  3. 转载 hadoop 伪分布安装

    一. 概要        经过几天的调试,终于在Linux Cent OS 5.5下成功搭建Hadoop测试环境.本次测试在一台服务器上进行伪分布式搭建.Hadoop 伪分布式模式是在单机上模拟 Ha ...

  4. Hadoop伪分布安装详解(二)

    目录: 1.修改主机名和用户名 2.配置静态IP地址 3.配置SSH无密码连接 4.安装JDK1.7 5.配置Hadoop 6.安装Mysql 7.安装Hive 8.安装Hbase 9.安装Sqoop ...

  5. Hadoop伪分布安装配置

    安装环境: 系统:Ubuntu 14.10   64bit hadoop:2.5.1 jdk:1.8.0_11 安装步骤: 一.安装JDK 安装 jdk,并且配置环境以及设置成默认 sudo gedi ...

  6. Hadoop伪分布安装详解(四)

    目录: 1.修改主机名和用户名 2.配置静态IP地址 3.配置SSH无密码连接 4.安装JDK1.7 5.配置Hadoop 6.安装Mysql 7.安装Hive 8.安装Hbase 9.安装Sqoop ...

  7. Hadoop伪分布安装详解(一)

    注:以下截图针对Ubuntu操作系统,对Centos步骤类似.请读者选择不同镜像即可. 第一部分:VMware WorkStation10 安装 1.安装好VMware10虚拟机软件并下载好Ubunt ...

  8. linux配置Hadoop伪分布安装模式

    1)关闭禁用防火墙: /etc/init.d/iptables status 会得到一系列信息,说明防火墙开着. /etc/rc.d/init.d/iptables stop 关闭防火墙 2)禁用SE ...

  9. Hadoop学习记录(1)|伪分布安装

    本文转载自向着梦想奋斗博客 Hadoop是什么? 适合大数据的分布式存储于计算平台 不适用小规模数据 作者:Doug Cutting 受Google三篇论文的启发 Hadoop核心项目 HDFS(Ha ...

随机推荐

  1. unity3d最新面试题与参考答案汇总

    1.在类的构造函数前加上static会报什么错?为什么? 构造函数格式为 public+类名,如果加上static会报错(静态构造函数不能有访问修饰符)原因:静态构造函数不允许访问修饰符,也不接受任何 ...

  2. 对进度条progressbar的调整

    进度条的理解,感觉这个进度条不是那么简单,系统给我们定制了几个普通的,但是如果还需要有更加好的效果,需要自己去调试. <ProgressBar android:layout_width=&quo ...

  3. A题笔记(13)

    Evaluate Reverse Polish Notation Reverse Words in a String 类似的,需要将原序列后序排列的时候,都可以用 栈 来实现 stack<int ...

  4. oc for in 的时候nsscanner: nil string argument

    今天偶然发现,oc for in 动态的给一数组加东西,然后嵌套for in 会报nsscanner: nil string argument. 换成for循环就好了,暂时还没找到原因

  5. C#删除微信自定义菜单

    删除 string access_token = "你的token"; string posturl = "https://api.weixin.qq.com/cgi-b ...

  6. Flexbox盒子弹性布局

    Can I Use? 2. 概念: 当你给一个元素使用了flexbox模块,那么它的子元素就会指定的方向在水平或者纵向方向排列.这些子元素会按照一定的比例进行扩展或收缩来填补容器的可用空间. < ...

  7. 删除Windows右键不用的选项

    1.使用QQ电脑管家或者360的,一般都有小工具. 2.管理注册表 █以WindowsXP(SP2)为例,有些右键菜单中的选项你并不常用,或者有些软件已被删除,但其仍然占据着右键菜单.要删除这些无用的 ...

  8. devenv 命令用法

    devenv是VisualStudio的可执行程序,一般安装在“C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE”下. 这 ...

  9. python相关博客

    入门:http://www.pythontip.com/ Python之禅--大道至简 美胜于丑,显胜于隐,简胜于繁,繁胜于杂,平胜于迭,疏胜于密,读胜于写...名可名, 请常名 http://www ...

  10. html 头部正常用法

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...