Apache-Hadoop伪分布式环境搭建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26323323/article/details/82935774

最近在重新学习Hadoop、spark相关课程

之前学习过一次,但长期不用,倒也忘得差不多了,所以本次学习,笔者会将所有的学习步骤和成果记录在个人的博客中,一方面是对自己的鞭策,另一方面也希望能帮助到其他同学。

前言:

    * 大数据的相关环境搭建一般都需要运行在Linux系统下,笔者用的是VMWare虚拟机和CentOS7,用于模拟Linux环境

    * Hadoop搭建在Linux环境下(Windows环境下也可以,但是太麻烦),所以我们需要对Linux的基本命令有所认识。

    * Hadoop的搭建运行有三种模式,分别是本地模式、伪分布式模式、分布式模式。生产环境用的都是分布式模式,可以实现真正的备份容灾、分布式任务运行。但是笔者由于环境所限,计算机暂无法支持分布式模式,所以搭建的是伪分布式模式

准备工作:

    * VMWare虚拟机、CentOS7安装

    * 安装FillZilla用于在两个环境之间传递文件

    * 安装SecureCRT来远程连接

    以上为本地Windows环境的软件准备工作

    * 设置hostname为hadoop(笔者的Linux Ip地址为192.168.241.129)

    * 关闭Linux的防火墙

    * 安装jdk(笔者使用的是JDK8)

    以上为Linux的环境准备,不太会做的同学可以参考网上其他文章来设置

    

1.Apache-Hadoop伪分布式环境搭建

    1)下载对应hadoop安装包

        我们到http://archive.apache.org/dist/hadoop/core/ 下去下载我们所需要的hadoop包,笔者选择使用2.7.0版本的hadoop,下载对应的hadoop-2.7.0.tar.gz 

    2)安装hadoop

        将hadoop-2.7.0.tar.gz通过FillZilla工具传递到虚拟机,然后解压缩

tar -zxf hadoop-2.7.0.tar.gz -C /opt/software

        下文所说的HADOOP_HOME路径为/opt/software/hadoop-2.7.0

    

    下面的工作主要就是修改HADOOP_HOME/etc/hadoop下的配置文件        

    3)修改hadoop-env.sh、yarn-env.sh、mapred-env.sh三个文件

​
export JAVA_HOME=/opt/software/jdk1.8.0_131

    将JAVA_HOME设置为我们配置的JDK路径地址,我们可以通过以下方式来查看JAVA_HOME地址

[hxw@hadoop ~]$ echo $JAVA_HOME
/opt/software/jdk1.8.0_131

    4)配置core-site.xml文件

<configuration>
	<property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop:9000</value>
    </property>
	
	<property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/software/hadoop-2.7.0/data/temp</value>
    </property>
</configuration>

    注意:有关于这些配置的含义我们可以到hadoop官网上去查看

    官网地址为http://hadoop.apache.org  ,点击里面的GettingStarted,进入http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html 界面, 我们可以看到在左侧最下面有core-default.xml等文件,里面有关于所有配置的详细信息

    我们在本例中配置的fs.defaultFS就是指定我们使用的存储,有本地存储file:///和hdfs://存储两种,在这里我们选择hdfs存储,端口号为9000;hadoop.tmp.dir就是我们的文件存储路径

    5)修改hdfs-site.xml

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

    注意:dfs.replication就是数据块复制数,我们是伪分布式环境,所以复制数就是1,也就是不复制

    6)修改mapred-site.xml

<configuration>
	<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

    注意:mapreduce.framework.name默认为local本地运行,我们使用yarn来管理运行mapreduce任务

    7)修改yarn-site.xml

<configuration>
	<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
	<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop</value>
    </property>
</configuration>

   注意:yarn.nodemanager.aux-services是NodeManager上运行的附属服务,需要配置成mapreduce_shuffle才可以运行MapReduce程序;yarn.resourcemanager.hostname默认是0.0.0.0,配置成hostname即可

    到此为止,伪分布式的文件配置就结束了,下面开始格式化namenode、启动任务

    8)格式化namenode

./HADOOP_HOME/bin/hdfs namenode -format

    切记该命令运行一次即可,会在data/tmp下生成fsimage和edits文件

    9)启动

./HADOOP_HOME/sbin/start-dfs.sh # 启动namenode和datanode
./HADOOP_HOME/sbin/start-yarn.sh # 启动resourcemanager和nodemanager

    10)验证

    可以通过jps命令查看对应的服务是否启动,正常来说,应该有以下五个服务启动

[hxw@hadoop hadoop-2.7.0]$ jps
3539 SecondaryNameNode
3332 DataNode
3813 NodeManager
3704 ResourceManager
3224 NameNode

    还可以通过查看对应http请求是否有响应

    访问http://hadoop:8088/cluster 查看mapreduce任务

    访问http://hadoop:50070/dfshealth.html#tab-overview 查看hdfs文件系统

总结:至此,hadoop伪分布式环境就搭建起来了,同学们来试下吧

参考:http://hadoop.apache.org

猜你喜欢

转载自blog.csdn.net/qq_26323323/article/details/82935774
今日推荐