有多种方式来获取hadoop集群,包括从其他人获取或是自行搭建专属集群,抑或是从Cloudera Manager 或apach ambari等管理工具来构建hadoop集群等,但是由自己搭建则可以了解大量的常规构建和维护过程,可以从操作的角度来理解hadoop的工作机制,当然对于大部分用户和操作者应考虑使用hadoop集群管理工具。

  集群规模:

    根据场景和数据量不同而不同,一般在初期可以搭建合适的集群,后期再逐步持续扩充。另外集群规模不同,运行master守护进程的配置也不同,包括namenode、second namenode(辅助namenode),资源管理器以及历史服务器。对于小集群,master所在机器也可以同时运行namenode和资源管理器,不过规模的增大时应分离出去,避免运行master进程的集群毁坏时无法持续或恢复执行工作。分开的机器上,当master异常故障时,辅助namenode还可以接替,不会对服务造成太大的干扰。此外namenode和辅助namenode在内存中保存几乎所有的元数据和块数据等,规模增大时一台机器几乎无法同时运行它们。所以配置高可用的hadoop也是很重要的。

  网络拓扑:

    一般典型的采取二级网络架构,由多个服务器构建组成一个网络群(或称为机架)(由一个交换机或路由器相互通信),形成多个网络群,并将所有构建的网络群共享同一个更高级别的核心交换机或路由器来实现通信,从而实现二级网络架构。此外网络架构也会对hadoop性能产生影响,所以一般根据网络架构来配置hadoop以使得获取性能和弹性的合理平衡。也即是尽量倾向于在机架内进行数据传输而不是跨机架。

  集群构建和安装:

    1. 安装java,查看hadoop的wiki上的hadoopjavaversions(https://wiki.apache.org/hadoop/HadoopJavaVersions),根据自身需要安装指定可运行的组合(操作系统+java+hadoop),并配置JAVA_HOME和PATH路径即可,如:

      export JAVA_HOME=/opt/jdk1.7.0_67
      export PATH=$PATH:$JAVA_HOME/bin。

    2. 创建用户账号,一般在unix/linux上安装,且最好以账号区分不同的hadoop进程和服务,如HDFS、MapReduce、YARN作为独立用户运行,且同属于一个hadoop组

    3. 安装hadoop,可从apache hadoop官网获取发布包,一般tar.gz包解压到你想指定的目录并配置hadoop 的HADOOP_HOME和PATH环境变量即可。

     如:

      export HADOOP_HOME=/opt/hadoop-2.7.6
      export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

    4. SSH配置,ssh-keygen -t rsa 以及 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    5. 配置hadoop的系列配置文件,主要是一些hadoop-env.sh,mapred-env.sh,yarn-env.sh环境变量配置,core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml文件的守护进程等配置及slaves文件以运行datanode和节点管理器的配置

    6. 格式化HDFS文件系统,hdfs namenode -format

    7. 启动和停止守护进程。start-dfs.sh、start-yarn.sh分别启动HDFS守护进程和YARN守护进程。此外stop-yarn.sh和stop-dfs.sh停止相应的守护进程

    8. 创建用户目录,hadoop fs -mkdir /usr/username,hadoop fs -chown username:username /user/username

    

    

大数据开发学习之构建Hadoop集群-(0)的更多相关文章

  1. 大数据系列(5)——Hadoop集群MYSQL的安装

    前言 有一段时间没写文章了,最近事情挺多的,现在咱们回归正题,经过前面四篇文章的介绍,已经通过VMware安装了Hadoop的集群环境,相关的两款软件VSFTP和SecureCRT也已经正常安装了. ...

  2. 大数据系列(4)——Hadoop集群VSFTP和SecureCRT安装配置

    前言 经过前三篇文章的介绍,已经通过VMware安装了Hadoop的集群环境,当然,我相信安装的过程肯定遇到或多或少的问题,这些都需要自己解决,解决的过程就是学习的过程,本篇的来介绍几个Hadoop环 ...

  3. 大数据系列(3)——Hadoop集群完全分布式坏境搭建

    前言 上一篇我们讲解了Hadoop单节点的安装,并且已经通过VMware安装了一台CentOS 6.8的Linux系统,咱们本篇的目标就是要配置一个真正的完全分布式的Hadoop集群,闲言少叙,进入本 ...

  4. 大数据系列(2)——Hadoop集群坏境CentOS安装

    前言 前面我们主要分析了搭建Hadoop集群所需要准备的内容和一些提前规划好的项,本篇我们主要来分析如何安装CentOS操作系统,以及一些基础的设置,闲言少叙,我们进入本篇的正题. 技术准备 VMwa ...

  5. 大数据系列(1)——Hadoop集群坏境搭建配置

    前言 关于时下最热的技术潮流,无疑大数据是首当其中最热的一个技术点,关于大数据的概念和方法论铺天盖地的到处宣扬,但其实很多公司或者技术人员也不能详细的讲解其真正的含义或者就没找到能被落地实施的可行性方 ...

  6. CentOS6安装各种大数据软件 第十章:Spark集群安装和部署

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  7. 构建hadoop集群时遇到的问题

    在构建hadoop集群时,出现过主节点中的namenode或datanode启动不成功的问题.在日志文件中往往会显示namenode和datanode中clusterID不相同的问题,这个问题往往都是 ...

  8. FusionInsight大数据开发学习总结(1)

    FusionInsight大数据开发 FusionInsight HD是一个大数据全栈商用平台,支持各种通用大数据应用场景. 技能需求 扎实的编程基础 Java/Scala/python/SQL/sh ...

  9. 吴裕雄--天生自然HADOOP学习笔记:hadoop集群实现PageRank算法实验报告

    实验课程名称:大数据处理技术 实验项目名称:hadoop集群实现PageRank算法 实验类型:综合性 实验日期:2018年 6 月4日-6月14日 学生姓名 吴裕雄 学号 15210120331 班 ...

随机推荐

  1. BZOJ_1812_[Ioi2005]riv_树形DP

    BZOJ_1812_[Ioi2005]riv_树形DP Description 几乎整个Byteland王国都被森林和河流所覆盖.小点的河汇聚到一起,形成了稍大点的河.就这样,所有的河水都汇聚并流进了 ...

  2. LINUX-进程的概念

    计算机中,CPU是最宝贵的资源,为了提高CPU的利用率,引入了多道程序设计的概念.当内存中多个程序存在时,如果不对人们熟悉的“程序”的概念加以扩充,就无法刻画多个程序共同运行时系统呈现出的特征. 一. ...

  3. 【转】IntelliJ IDEA搭建Spring环境

    //本来在草稿箱写好了,忘记发就被冲掉了,重新再写一遍. Spring初探 Spring初探 在IntelliJ IDEA中创建Spring项目 一个简单的例子介绍框架的作用 那么什么时候new的对象 ...

  4. 【转】Chrome headless 模式

    原文地址: http://www.cnblogs.com/fnng/p/7797839.html 我们在通过Selenium运行自动化测试时,必须要启动浏览器,浏览器的启动与关闭必然会影响执行效率,而 ...

  5. 【旧文章搬运】扩展一下ProcessNotify~~

    原文发表于百度空间,2009-01-08 看雪论坛地址:https://bbs.pediy.com/thread-80109.htm DebugMan论坛地址:http://www.debugman. ...

  6. 整合ssh的时候出现空指针java.lang.NullPointerException

    转自:https://blog.csdn.net/koudailidexiaolong/article/details/9468857 HTTP Status 500 - type Exception ...

  7. notepad++的NppFTP插件远程连接linux操作系统

    1.首先要有NppFTP插件,如果没有可以去下面链接或者其他网站下载:  https://sourceforge.net/projects/nppftp/files/latest/download   ...

  8. Android 用Animation-list实现逐帧动画 (转载)

    转自:http://blog.csdn.net/aminfo/article/details/7847761 第一步:先上图片素材,以下素材放到res/drawable目录下: http://blog ...

  9. 探究final在java中的作用

    目录 一. final修饰变量 1. 基础: final修饰基本数据类型变量和引用数据类型变量. 2. 进阶: 被final修饰的常量在编译阶段会被放入常量池中 3. 探索: 为什么局部/匿名内部类在 ...

  10. TP3.2单字母函数

    A方法 A方法用于在内部实例化控制器 调用格式:A(‘[项目://][分组/]模块’,’控制器层名称’) 最简单的用法: $User = A('User'); 表示实例化当前项目的UserAction ...