hadoop的安装和三种模式的配置

Hadoop安装

在Linux、Windows、macOS下安装都需要先安装java环境,再安装hadoop,均需要配置环境变量。怎么配置可自行查找资料,这里就不介绍了。

Hadoop的运行模式配置

Hadoop的运行模式分为3种:本地运行模式、伪分布运行模式、集群运行模式。

1、独立模式即本地运行模式

无需运行任何守护进程,所有程序都在单个JVM上执行。由于在本机模式下测试和调试MapReduce程序较为方便,因此,这种模式适宜用在开发阶段。独立模式无需配置任何文件。

2、伪分布运行模式

如果Hadoop对应的Java进程都运行在一个物理机器上,称为伪分布运行模式。以Windows为例,在其它系统下,需要修改路径。Linux下需要在hadoop-2.7.2/etc/hadoop/hadoop-env.sh指定java环境变量

伪分布运行模式需要配置core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml

core-site.xml:指定hadoop的主节点master。

hdfs-site.xml:指定hadoop中的文件副本数。

mapred-site.xml:指定mapreduce的资源管理。

yarn-site.xml:

core-site.xml配置如下:

<configuration>

<property>

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

        <value>/G:/tmp</value> <!--windows下创建文件夹 -->

<value>/home/hadoop/bigdata/temp</value> <!--linux下创建文件夹 指定hadoop运行时产生临时文件的存储目录-->

        <description>Abase for other temporary directories.</description>

  </property>

<property>

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

        <value>hdfs://localhost:9000</value>   

</property>

</configuration>

hdfs-site.xml配置:

<configuration>

        <property>

              <name>dfs.replication</name>

              <value>1</value><!--副本为1 -->

        </property>

  <property>

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

        <value>/G:/tmp/data/namenode</value><!--windows下创建文件夹 ,linux需要指定目录-->

    </property>

    <property>

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

        <value>/G:/tmp/data/datanode</value><!--windows下创建文件夹,linux需要指定目录 -->

</property>

<property>

  <name>dfs.namenode.secondary.http-address</name>

    <value>http://localhost:50090</value>

  </property>

</configuration>

mapred-site.xml配置:

<configuration>

      <property>

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

            <value>yarn</value>(选择yarn来mapreduce)

      </property>

</configuration>

yarn-site.xml配置:

<configuration>

        <property>

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

                <value>localhost</value>

        </property>

        <property>

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

                <value>mapreduce_shuffle</value>

        </property>

</configuration>

Windows下启动hadoop

1、运行cmd窗口,切换到hadoop安装目录下的bin目录下执行hdfs namenode -format

2、运行cmd窗口,切换到hadoop的sbin目录,执行start-all.cmd,它将会启动5个进程。

启动之后,可用jps命令查看,如下图,然后可进行增删改查、创建的命令操作。

Linux下启动hadoop

1、切换到hadoop安装目录下的bin目录下执行hdfs namenode -format

2、切换到hadoop的sbin目录,执行start-all.sh,它将会启动5个进程。

启动之后,可用jps命令查看。

3、集群模式

Linux系统,在虚拟机中创建四台系统:首先创建4台虚拟机,分别命名为hp001、hp002、hp003、hp004。安装成功后,然后分别修改主机名(hp001、hp002、hp003、hp004),再修改/etc/hosts文件(hp002、hp003、hp004同hp001),本机IP对应主机名。

hadoop1  node1作为名称节点

hadoop2  node2作为辅助名称节点

hadoop3  node3作为数据节点

hadoop4  node4作为数据节点

完全分布式配置方式:配置文件/home/hadoop/bigdata/hadoop-2.7.2/etc/hadoop/下的四个xml文件。

core-site.xml

<configuration>

        <property>

  <name>fs.defaultFS</name>

  <value>hdfs://hp001</value>

  </property>

  <property>

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

  <value>/home/hadoop/bigdata</value>

  </property>

</configuration>

hdfs-site.xml

<configuration>

        <property>

                <name>dfs.replication</name>

                <value>3</value>

        </property>

        <property>

  <name>dfs.namenode.secondary.http-address</name>

    <value>hp002:50090</value>

  </property>

</configuration>

mapred-site.xml

<configuration>

        <property>

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

                <value>yarn</value>

        </property>

</configuration>

yarn-site.xml

<configuration>

        <property>

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

  <value>hp001</value>

  </property>

  <property>

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

  <value>mapreduce_shuffle</value>

    </property>

</configuration>

把/home/hadoop/bigdata/hadoop-2.7.2/etc/hadoop/slaves文件修改为

hp003

hp004

在集群上分发以上5个文件

cd /home/hadoop/bigdata/hadoop-2.7.2/etc/hadoop

xsync core-site.xml

xsync hdfs-site.xml

xsync mapred-site.xml

xsync yarn-site.xml

xsync slaves

首次启动hadoop

1)格式化文件系统

$>hadoop namenode -format

2)启动所有进程

$>start-all.sh

3)查询进程

$>xcall jps

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。