zoukankan      html  css  js  c++  java
  • Hadoop集群搭建

    Hadoop安装环境准备

    • ssh免密登陆配置
    • 关闭服务器防火墙
    • 配置服务器时间同步

    Hadoop安装配置

    通过sftp把编译好的Hadoop上传到服务器上,并进行解压到指定目录

    [root@hadoop01 soft]# tar zxvf hadoop-2.6.0-cdh5.14.0-with-centos6.9.tar.gz -C /usr/local/

    进入解压后的Hadoop目录修改配置文件

    hadoop-env.sh配置文件修改

    文件中设置的是Hadoop运行时需要的环境变量。JAVA_HOME是必须设置的,即使我们当前的系统中设置了 JAVA_HOME,它也是不认识的,因为 Hadoop 即使

    是在本机上执行,它也是把当前的执行环境当成远程服务器。

    [root@hadoop01 hadoop]# vim hadoop-env.sh

    #添加设置JDK环境变量

    export JAVA_HOME=/root/apps/jdk1.8.0_65

    clip_image001

    Core-site.xml配置文件修改

    hadoop的核心配置文件,有默认的配置项core-default.xml。 core-default.xml 与 core-site.xml 的功能是一样的,如果在 coresite.xml里没有配置的属性,则会自动会获取core-default.xml里的相同属性的值。

    [root@hadoop01 hadoop]# vim core-site.xml

    添加配置内容如下:

    <!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
    
    <property>
    
    <name>fs.defaultFS</name>
    
    <value>hdfs://hadoop01:9000</value>
    
    </property>
    
    <!-- 指定hadoop运行时产生文件的存储目录,默认/tmp/hadoop-${user.name} -->
    
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/hadoop-2.6.0-cdh5.14.0/tmp</value>
    </property>

    clip_image002

    Hdfs-site.xml配置文件修改

    HDFS的核心配置文件,有默认的配置项hdfs-default.xml。

    hdfs-default.xml 与 hdfs-site.xml 的功能是一样的,如果在 hdfssite.xml里没有配置的属性,则会自动会获取hdfs-default.xml里的相同属性的值。

    [root@hadoop01 hadoop]# vim hdfs-site.xml
    <!-- 指定HDFS副本的数量 -->
        <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <!-- 指定SecondaryNameNode节点服务器 -->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop02:50090</value>
    </property>

    clip_image003

    Mapred-site.xml配置文件修改

    MapReduce的核心配置文件,有默认的配置项mapred-default.xml。

    mapred-default.xml与mapred-site.xml的功能是一样的,如果在mapred-site.xml里没有配置的属性,则会自动会获取mapred-default.xml里的相同属性的值。

    [root@hadoop01 hadoop]# mv mapred-site.xml.template mapred-site.xml
    [root@hadoop01 hadoop]# vim mapred-site.xml
    <!-- 指定mr运行时框架,这里指定在yarn上,默认是local -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

    clip_image004

    Yarn-site.xml配置文件修改

    YARN的核心配置文件,有默认的配置项yarn-default.xml。

    yarn-default.xml 与 yarn-site.xml 的功能是一样的,如果在 yarnsite.xml里没有配置的属性,则会自动会获取yarn-default.xml里的相同属性的值。

    [root@hadoop01 hadoop]# vim yarn-site.xml
    <!-- 指定YARN的老大(ResourceManager)的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop01</value>
    </property>
    <!-- NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序默认值:"" -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    clip_image005

    salves配置文件修改

    slaves文件里面记录的是集群主机名。一般有以下两种作用:

    一是:配合一键启动脚本如start-dfs.sh、stop-yarn.sh用来进行集群启动。这时候slaves文件里面的主机标记的就是从节点角色所在的机器。

    二是:可以配合hdfs-site.xml里面dfs.hosts属性形成一种白名单机制。 dfs.hosts指定一个文件,其中包含允许连接到NameNode的主机列表。必须指定文件的完整路径名。如果值为空,则允许所有主机。例如:

    <property>
        <name> dfs.hosts </name>
        <value>/root/apps/hadoop/etc/hadoop/slaves </value>
    </property>

    那么所有在slaves中的主机才可以加入的集群中。

    [root@hadoop01 hadoop]# vim slaves

    #配置从节点所在的主机名字

    hadoop01
    hadoop02
    hadoop03

    clip_image006

    Hadoop环境变量配置

    [root@hadoop01 hadoop]# vim /etc/profile
    export HADOOP_HOME=/usr/local/hadoop-2.6.0-cdh5.14.0
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    clip_image007

    重新加载环境变量并进行验证

    [root@hadoop01 hadoop]# source /etc/profile
    [root@hadoop01 hadoop]# hadoop
    Usage: hadoop [--config confdir] COMMAND
    
           where COMMAND is one of:
    
      fs                   run a generic filesystem user client
    
      version              print the version
    
      jar <jar>            run a jar file
    
      checknative [-a|-h]  check native hadoop and compression libraries availability
    
      distcp <srcurl> <desturl> copy file or directories recursively
    
      archive -archiveName NAME -p <parent path> <src>* <dest> create a hadoop archive
    
      classpath            prints the class path needed to get the
    
      credential           interact with credential providers
    
                           Hadoop jar and the required libraries
    
      daemonlog            get/set the log level for each daemon
    
      s3guard              manage data on S3
    
      trace                view and modify Hadoop tracing settings
    
    or
    
      CLASSNAME            run the class named CLASSNAME
    
    Most commands print help when invoked w/o parameters.

    集群节点配置

    将配置好的Hadoop安装程序远程复制到其他节点上,并配置Hadoop环境变量

    [root@hadoop01 local]# scp -r hadoop-2.6.0-cdh5.14.0/ root@hadoop02:/usr/local/
    [root@hadoop01 local]# scp -r hadoop-2.6.0-cdh5.14.0/ root@hadoop03:/usr/local/

    配置节点Hadoop02服务器Hadoop环境变量

    [root@hadoop02 ~]# vim /etc/profile
    export HADOOP_HOME=/usr/local/hadoop-2.6.0-cdh5.14.0
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    配置节点Hadoop03服务器Hadoop环境变量

    [root@hadoop03 ~]# vim /etc/profile
    export HADOOP_HOME=/usr/local/hadoop-2.6.0-cdh5.14.0
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    Hadoop集群初始化

    要启动Hadoop集群,需要启动HDFS和YARN两个集群。

    注意:首次启动HDFS时,必须对其进行格式化操作,初始化只执行一次。本质上是一些清理和准备工作,因为此时的HDFS在物理上还是不存在的。

    hdfs namenode–format或者hadoop namenode –format

    [root@hadoop01 soft]# hadoop namenode -format

    Hadoop命令

    单节点启动

    在主节点上使用以下命令启动HDFS NameNode:

            hadoop-daemon.sh start namenode

    在每个从节点上使用以下命令启动HDFS DataNode:

            hadoop-daemon.sh start datanode

    在主节点上使用以下命令启动YARN ResourceManager:

    yarn-daemon.sh start resourcemanager

    在每个从节点上使用以下命令启动YARN nodemanager:

            yarn-daemon.sh start nodemanager

    以上脚本位于$HADOOP_PREFIX/sbin/目录下。如果想要停止某个节点上某个角色,只需要把命令中的start改为stop即可。

    脚本一键启动

    如果配置了etc/hadoop/slaves和ssh免密登录,则可以使用程序脚本启动

    所有Hadoop两个集群的相关进程,在主节点所设定的机器上执行。

    [root@hadoop01 ~]# start-dfs.sh
    [root@hadoop01 ~]# start-yarn.sh

    hdfs:$HADOOP_PREFIX/sbin/start-dfs.sh yarn: $HADOOP_PREFIX/sbin/start-yarn.sh

    停止集群:

    [root@hadoop01 ~]# stop-dfs.sh
    [root@hadoop01 ~]# stop-yarn.sh
  • 相关阅读:
    Redis面试题
    Mysql面试题
    Mybatis面试题
    Springmvc面试题
    spring常见面试题
    优雅的参数校验
    Linux安装mongodb
    Redis缓存的雪崩、穿透、击穿
    语音识别(LSTM+CTC)
    大数据利器Hive
  • 原文地址:https://www.cnblogs.com/starzy/p/10481417.html
Copyright © 2011-2022 走看看