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

     

     

     

  • 相关阅读:
    2018年工作总结
    通过js date对象获取各种开始结束日期的示例
    位运算
    Nhibernate官方体系结构图部分中文翻译
    javascript中判断变量是否存在的正确方式
    .net core 项目加载提示项目文件不完整缺少预期导入的解决办法
    dotnet core 运行程序注意事项
    关于.net 项目 nuget包还原项目失败的记录
    c#利用反射实现对类中的常量进行取值和对应常量的注释
    在ie9下在textbox框里面输入内容按enter键会触发按钮的事件
  • 原文地址:https://www.cnblogs.com/haoxinchen/p/9326946.html
Copyright © 2011-2022 走看看