Hadoop 基础搭建历程-单机单点(伪分布模式)

本文介绍了在Windows和Ubuntu环境下搭建Hadoop 3.0的详细步骤,包括配置环境变量、修改core-site.xml和hdfs-site.xml,格式化HDFS,启动NameNode、DataNode和SecondaryNameNode,并进行HDFS的上传下载测试。此外,还讲解了如何配置YARN,启动ResourceManager和NodeManager,并通过WordCount示例验证MapReduce功能。
摘要由CSDN通过智能技术生成

基础环境:

    1、win10、hadoop3.0 jdk1.8.0

    2、Ubuntu16、hadoop3.0、jdk1.8.0

    Hadoop 下载地址:http://hadoop.apache.org/releases.html

安装:

windows:

1、运行\hadoop-3.0.0\etc\hadoop>hadoop-env.cmd 配置环境变量

    问题:提示JAVA_HOME is incorrectly set.

       Please update ***\hadoop-3.0.0\etc\hadoop\hadoop-env.cmd

    解决:查看hadoop-env.cmd 中set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_101

  因为路径中存在空格,导致识别错误,使用PROGRA~1替换Program Files 即C:\PROGRA~1\Java\jdk1.8.0_101 测试通过

2、配置Hadoop环境变量

    HADOOP_HOME=D:\work\hadoop\hadoop-3.0.0

    path=%HADOOP_HOME%\bin;

    测试:hadoop version

    结果:Hadoop 3.0.0
Source code repository https://git-wip-us.apache.org/repos/asf/hadoop.git -r c25427ceca461ee979d30edd7a4b0f50718e6533
Compiled by andrew on 2017-12-08T19:16Z
Compiled with protoc 2.5.0
From source with checksum 397832cb5529187dc8cd74ad54ff22

This command was run using /D:/work/hadoop/hadoop-3.0.0/share/hadoop/common/hadoop-common-3.0.0.jar

Ubuntu:

    同windows一样设置JAVA、HADOOP环境变量

  1、修改etc/hadoop/core-site.xml 添加

<property>
<name>fs.defaultFS</name>
<value>hdfs://ubuntu:8020</value>
</property>

 用来指定hdfs服务,添加下面指定Hadoop的临时文件目录

 <property>
   <name>hadoop.tmp.dir</name>
    <value>/data/hadoop/data/tmp</value>
  </property>

2、修改etc/hadoop/hdfs-site.xml

<property>
       <name>dfs.replication</name>
       <value>1</value>
</property>

 该配置是用来dfs.replication配置的是HDFS存储时的备份数量,因为这里是伪分布式环境只有一个节点,所以这里设置为1。

3、格式化HDFS

hdfs namenode -format

    然后在上面配置的临时文件目录里面则会产生一个dfs目录。

4、启动namenode

hdfs -daemon start namenode

5、启动datanode

hdfs -daemon start datanode

6、启动 secondaryNameNode

hdfs -daemon start secondaryNameNode

 全部启动以后通过jps查看,可以查看一下java进程

 jps

 namenode

 datanode

 secondartNameNode

如果有那个进程不存在,则去$HADOOP_HOME/logs下面去查看日志,找到启动失败原因

7、HDFS上传下载测试

   a、在hdfs上面创建目录

hdfs hdf -mkdir /test

   b、本地创建一个文件hdfsTest.input,然后上传到上面的目录

  hdfs hdf -put hdfsTest.input /test

   c、查看上传的文件内容

hdfs hdf -cat /test/hdfsTest.input

  d、查看目录列表,和shell中的ls命令结果相仿

hdfs hdf -ls /test

  e、下载上传的文件

hdfs hdf -get /test/hdfsTest.input /temp

8、搭建yarn

    修改etc/hadoop/mapred-site.xml,添加

    <property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
     </property>
  <property>
    <name>mapreduce.reduce.env</name>
    <value>HADOOP_MAPRED_HOME=${HADOOP_MAPRED_HOME}</value>
  </property>
  <property>
    <name>yarn.app.mapreduce.am.env</name>
    <value>HADOOP_MAPRED_HOME=${HADOOP_MAPRED_HOME}</value>
  </property>
  <property>
     <name>mapreduce.map.env</name>
     <value>HADOOP_MAPRED_HOME=${HADOOP_MAPRED_HOME}</value>
  </property>

  修改etc/hadoop/yarn-site.xml,添加
<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>ubuntu</value>
 </property>
  • yarn.nodemanager.aux-services配置了yarn的默认混洗方式,选择为mapreduce的默认混洗算法。

  • yarn.resourcemanager.hostname指定了Resourcemanager运行在哪个节点上,本次使用单节点虚拟,所以使用本机的名称ubuntu。

 配置Yarn环境变量
    export HADOOP_MAPRED_HOME=${HADOOP_HOME}
    export HADOOP_COMMON_HOME=${HADOOP_HOME}
    export HADOOP_HDFS_HOME=${HADOOP_HOME}
    export YARN_HOME=${HADOOP_HOME}
    export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

    export YARN_CONF_DIR=${HADOOP_HOME}/etc/hadoop

9、启动resourcemanager 和nodemanager

yarn -daemon start resourcemanager
yarn -daemon start nodemanager
通过jps 查看验证启动结果,启动成功后访问 http://ubuntu:8088/ 查看yarn监控页面,通过 http://ubuntu:8042/查看node数据

10、Mapreduce job 测试

    hadoop中自带有一些简单的示例,放在share/hadoop/mapreduce/目录下面

   首先创建测试数据文件和结果输出目录,然后运行示例

  yarn jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0.jar wordcount ./wordcountdemo/input ./wordcountdemo/output

 执行成功后查看数据目录,可以看到两个文件_SUCCESS 和part-r-00000

前面是执行的状态,后面是执行结果文件



   


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值