有多种方式来获取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. I.MX6 sdio 设备注册及识别

    /************************************************************************* * I.MX6 sdio 设备注册及识别 * 说明 ...

  2. 利用jenkins和docker实现持续交付

    利用jenkins和docker实现持续交付 一.什么是持续交付 让软件产品的产出过程在一个短周期内完成,以保证软件可以稳定.持续的保持在随时可以发布的状况.它的目标在于让软件的构建.测试与发布变得更 ...

  3. poj3069【贪心,水】

    妈蛋,题意看错-看了挑战时被标记的点还是给出的点,瞎搞了半个多小时... = =都想气的扔进水题系列了 #include <iostream> #include <cstdio> ...

  4. bzoj 4407: 于神之怒加强版【莫比乌斯反演+线性筛】

    看着就像反演,所以先推式子(默认n<m): \[ \sum_{d=1}^{n}d^k\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)==d] \] \[ =\sum_{d=1} ...

  5. JZOJ4307. 【NOIP2015模拟11.3晚】喝喝喝

    Description

  6. 腾讯QQ团队开源分布式后台毫秒服务引擎全解析:引擎架构、RPC、灰度……

    腾讯QQ团队将于12月4日开源一个服务开发运营框架,叫做毫秒服务引擎(Mass Service Engine in Cluster,MSEC),它集RPC.名字发现服务.负载均衡.业务监控.灰度发布. ...

  7. elasticsearch 查询 query

    对于 类型是 text的字段,并且分析器指明是ik_max_word的会建立倒排索引 查询的分类: match查询:  会自动转换大小写,会分词, term查询: 不会转换和分词,只能值匹配 term ...

  8. Sublime Text3 配置C++(附oj刷题常用模板)

    # 下载对应平台的sublime sublime最新版下载, 字体样式个人喜欢Consolas, 另附注册码: -– BEGIN LICENSE -– TwitterInc 200 User Lice ...

  9. 线段树(成段更新) POJ 3468 A Simple Problem with Integers

    题目传送门 /* 线段树-成段更新:裸题,成段增减,区间求和 注意:开long long:) */ #include <cstdio> #include <iostream> ...

  10. 利用uiautomator实现Android移动app启动时间的测试

    为了减少因手工测试的反应误差,这里介绍下如何利用Android自带的自动化测试工具uiautomator实现app启动时间的测试. 测试基本思路如下: 1.启动前记录当前的时间戳 2.启动app,直至 ...