大数据开发学习之构建Hadoop集群-(0)
有多种方式来获取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)的更多相关文章
- 大数据系列(5)——Hadoop集群MYSQL的安装
前言 有一段时间没写文章了,最近事情挺多的,现在咱们回归正题,经过前面四篇文章的介绍,已经通过VMware安装了Hadoop的集群环境,相关的两款软件VSFTP和SecureCRT也已经正常安装了. ...
- 大数据系列(4)——Hadoop集群VSFTP和SecureCRT安装配置
前言 经过前三篇文章的介绍,已经通过VMware安装了Hadoop的集群环境,当然,我相信安装的过程肯定遇到或多或少的问题,这些都需要自己解决,解决的过程就是学习的过程,本篇的来介绍几个Hadoop环 ...
- 大数据系列(3)——Hadoop集群完全分布式坏境搭建
前言 上一篇我们讲解了Hadoop单节点的安装,并且已经通过VMware安装了一台CentOS 6.8的Linux系统,咱们本篇的目标就是要配置一个真正的完全分布式的Hadoop集群,闲言少叙,进入本 ...
- 大数据系列(2)——Hadoop集群坏境CentOS安装
前言 前面我们主要分析了搭建Hadoop集群所需要准备的内容和一些提前规划好的项,本篇我们主要来分析如何安装CentOS操作系统,以及一些基础的设置,闲言少叙,我们进入本篇的正题. 技术准备 VMwa ...
- 大数据系列(1)——Hadoop集群坏境搭建配置
前言 关于时下最热的技术潮流,无疑大数据是首当其中最热的一个技术点,关于大数据的概念和方法论铺天盖地的到处宣扬,但其实很多公司或者技术人员也不能详细的讲解其真正的含义或者就没找到能被落地实施的可行性方 ...
- CentOS6安装各种大数据软件 第十章:Spark集群安装和部署
相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...
- 构建hadoop集群时遇到的问题
在构建hadoop集群时,出现过主节点中的namenode或datanode启动不成功的问题.在日志文件中往往会显示namenode和datanode中clusterID不相同的问题,这个问题往往都是 ...
- FusionInsight大数据开发学习总结(1)
FusionInsight大数据开发 FusionInsight HD是一个大数据全栈商用平台,支持各种通用大数据应用场景. 技能需求 扎实的编程基础 Java/Scala/python/SQL/sh ...
- 吴裕雄--天生自然HADOOP学习笔记:hadoop集群实现PageRank算法实验报告
实验课程名称:大数据处理技术 实验项目名称:hadoop集群实现PageRank算法 实验类型:综合性 实验日期:2018年 6 月4日-6月14日 学生姓名 吴裕雄 学号 15210120331 班 ...
随机推荐
- codeforces 414C C. Mashmokh and Reverse Operation(归并排序求逆序对)
题目链接: C. Mashmokh and Reverse Operation time limit per test 4 seconds memory limit per test 512 mega ...
- [laravel]phpunit
step1.install phpunit composer.json require中增加 "phpunit/phpunit":"4.0.*" 执行 comp ...
- bzoj3270博物馆——期望概率DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3270 设计一个状态表示两个人分别在两个点的状态,带个标号num[i][j]: 据此得到状态之 ...
- 使用lsyncd配置数据库备份多异地同步
lsyncd配置文件 settings { logfile = "/var/log/lsyncd.log", --日志路径 status = "/var/log/lsyn ...
- rtmplib rtmp协议过程分析
转自:http://chenzhenianqing.cn/articles/1009.html 写的很好,收藏如下,向作者致敬! 没事碰到了librtmp库,这个库是ffmpeg的依赖库,用来接收,发 ...
- Linux2.6 内核中结构体初始化(转载)
转自:http://hnniyan123.blog.chinaunix.net/uid-29917301-id-4989879.html 在Linux2.6版本的内核中,我们经常可以看到下面的结构体的 ...
- Mac下Apache服务器和webDav服务器快速配置
当自己在家敲代码需要发请求时,就可以配置本地Apache,Mac电脑自带的服务器.这个比windows上的本地服务器还要好用,下面写下最快速配置方案. 0.在开始之前需要给自己的电脑设置下开机密码,想 ...
- 【水水水】678A - Johny Likes Numbers
#include<stdio.h> #include<iostream> #include<cstdio> #include<queue> #inclu ...
- IT兄弟连 JavaWeb教程 Servlet表单数据
很多情况下,需要传递一些信息,从浏览器到Web服务器,最终到后台程序.浏览器使用两种方法可将这些信息传递到Web服务器,分别为GET方法和POST方法. 1.GET方法 GET 方法向页面请求发送已编 ...
- 常用JSTL标签
1.判断是否为空 <c:choose> <c:when test="${not empty reportInfo.user_register_orgs.register_o ...