zoukankan      html  css  js  c++  java
  • 配置hadoop集群服务之三-单点搭建

    hadoop单点搭建步骤详解:

    1、讲解之前,说说Hadoop的三大核心组件,HDFS,YARN,MampReduce;

    (1)HDFS集群:负责海量数据的存储,集群中的角色主要有 NameNode / DataNode/SecondaryNameNode。

      1)HDFS的三个节点:NamenodeDatanodeSecondary Namenode

      ----Namenode:守护进程,用来管理文件系统的命名空间,负责记录文件是如何分割成数据块,以及这些数据块分别被存储到那些数据节点上,它的

      主要功能是对内存及IO进行集中管理。

      ----Datanode:文件系统的工作节点,根据需要存储和检索数据块,并且定期向Namenode发送他们所存储的块的列表。

      ----Secondary Namenode辅助后台程序,与NameNode进行通信,以便定期保存HDFS元数据的快照。

     

     

       2)Namenode和Datanode的异同:

     

      相同点:文件系统,存储数据

     

      不同点:NameNode:偏管理,存储元数据,最多1-2个DataNode:存储实际数据,可以多个;

     

    (2)YARN集群:负责海量数据运算时的资源调度,集群中的角色主要有 ResourceManager /NodeManager

    (3)MapReduce:它其实是一个应用程序开发包。 

    Tip:

    守护进程:一个在后台运行并且不受任何终端控制的进程。Unix操作系统有很多典型的守护进程(其数目根据需要或20—50不等),它们在后台运行,执行不同的管理任务。

     

    2配置路径:/data/cloud/deploy/src/hadoop-2.7.3

    解压完之后:

    进入Hadoop文件:

    bin:调用hadoop命令

    etc:配置文件

    sbin:启动角色

     

    在配置文件之前,可以先去官网下载一下hadoop,spark,hive这三个我们要用到的文件,然后进行解压;

    我创建的路径为/data/cloud/deploy/src/hadoop-2.7.3;

    为了方便启动,做一个软连接:   

    cd /data/cloud/deploy/src/hadoop-2.7.3

    mkdir cloud

    ln -s /data/cloud/deploy/src/hadoop-2.7.3/sbin  hadoop

    ln -s /data/cloud/deploy/src/apache-hive-1.2.1-bin/  hive

    ln -s /data/cloud/deploy/src/spark-1.6.0-bin-hadoop2.6/  spark

     

     

    3、安装jdk包之后,配置所有环境变量:

    vim /etc/profile

     

    (1)三个变量java_homeHadoop_home、Class_Path的配置

    JAVA_HOME=/usr/local/jdk

    HADOOP_HOME=/usr/local/cloud/hadoop

    CLADD_PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib

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

    export JAVA_HOME HADOOP_HOME

     

     

    (2)hive的设置

    ## Hive profile set

    export HIVE_HOME=/usr/local/cloud/hive

    export HIVE_CONF=$HIVE_HOME/conf

    export PATH=$HIVE_HOME/bin:$PATH

     

    (3)spark的设置

    ## Spark profile set

    export SPARK_HOME=/usr/local/cloud/spark

    export SPARK_CONF_DIR=$SPARK_HOME/conf

    export PATH=$SPARK_HOME/bin:$PATH

     

    配置完以后:

    source /etc/profile

     

    4、2.0以上版本修改hadoop下的文件:

    文件路径:/data/cloud/deploy/src/hadoop-2.7.3/etc/hadoop/

     

    (1)配置core-site.xml

    修改value:

    作用:用于指定namenode的地址

    hdfs://haoxintest1.master.chx.com:8020

     

    (2)配置hdfs-site.xml

    作用:指定namenode和datanode的数据存储物理地址

    修改value值:haoxintest1.master.chx.com:8020

     

    (3)配置mapred-site.xml

    作用:<!--告诉hadoop以后MR(Map/Reduce)运行在YARN上-->

    修改value值:hdfs://haoxintest1.master.chx.com:8020

     

    (4)配置yarn-site.xml

    作用:客户端对ResourceManager主机通过 host:port 提交作业。

        <property>

            <name>yarn.resourcemanager.address</name>

            <value>haoxintest1:8032</value>

        </property>

    作用:ApplicationMasters 通过ResourceManager主机访问host:port跟踪调度程序获资源。

        <property>

            <name>yarn.resourcemanager.scheduler.address</name>

            <value>haoxintest1:8030</value>

        </property>

    作用:NodeManagers通过ResourceManager主机访问host:port

        <property>

            <name>yarn.resourcemanager.resource-tracker.address</name>

            <value>haoxintest1:8031</value>

        </property>

    作用:ResourceManager web页面host:port.

        <property>

            <name>yarn.resourcemanager.webapp.address</name>

            <value>haoxintest1:8088</value>

        </property>

     

    5Vim Hadoop-env.sh

    export JAVA_HOME=/usr/local/jdk

     

    创建 mkdir   /var/log/hadoop

     

    6创建spark用户:

    useradd spark 

    visudo:配置spark用户的sudo权限

     

    visudo. 

    配置sudo权限:

    root下面配置

    spark ALL=(ALL)  NOPASSWD:ALL

     

    reboot 重启一下机器,使得spark用户能够免密登陆

     

    7、更改宿主和权限:

    chown -R spark:spark cloud

     

    8在sbin启动hadoop:

    su spark

    ./start-all.sh

    注:如果你在root下新建了一个用户,你进入当前用户./start-all.sh,发现启动不了服务时,可能是因为你root下面的进程启动了,占用了新建用户下的启动进程的端口号,所以退出当前用户,进入root下将占用端口号的进程强杀掉;

     

     

    9、(修改spark密码)登录spark

    passed spark

    在启动namenode进程之前,最好格式化一下;

    hadoop namenode -format           重点:-format 一定记住要加-,一定要加-,一定要加-

    ./hadoop-daemon.sh start datanode  

     

    总结Tip:

    1、jps类似于linux里面的ps aux;

    2、sbin这个文件夹下面是启动所有脚本文件命令所在的文件夹;

    例如:启动数据节点:

    ./hadoop-daemon.sh start datanode

     

     

    到此hadoop单点配置、启动完毕

     

     

    碰到过的坑:

     

    1、hadoop已经做了软链接,为什么还是执行不了?

    权限所属问题不对

    如果权限所属问题也改了,还是不能执行,可以有个终极解决办法:

    在如下路径编辑一个脚本文件,然后重启就可以了

    Sudo vim /etc/profile.d/hadoop.sh

    内容如下:

    # set hadoop

    export HADOOP_HOME=/usr/local/cloud/hadoop

    export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

    export HADOOP_CONF_DIR=/usr/local/cloud/hadoop/etc/hadoop

    export YARN_CONF_DIR=/usr/local/cloud/hadoop/etc/hadoop

     

     

     

  • 相关阅读:
    part11-1 Python图形界面编程(Python GUI库介绍、Tkinter 组件介绍、布局管理器、事件处理)
    part10-3 Python常见模块(正则表达式)
    Cyclic Nacklace HDU
    模拟题 Right turn SCU
    状态DP Doing Homework HDU
    Dp Milking Time POJ
    区间DP Treats for the Cows POJ
    DP Help Jimmy POJ
    Dales and Hills Gym
    Kids and Prizes Gym
  • 原文地址:https://www.cnblogs.com/haoxinchen/p/9326946.html
Copyright © 2011-2022 走看看