用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。
广义的Hadoop,一般称为Hadoop生态系统,如下所示。
Hadoop生态系统中这些软件的作用:
HDFS 采用了主从(Master/Slave)结构模型,一个HDFS集群包括一个名称节点(NameNode)和若干个数据节点(DataNode)。
HDFS采用Java语言开发,因此任何支持JVM的机器都可以部署名称节点和数据节点。
在配置好Hadoop 集群之后,可以通过浏览器访问 >最好是两个做成HA
关于硬盘:
6T的数据容量,看你副本数量设置是多少,一般默认为3,那么仅这些就需要18T硬盘,稍微大一点20T吧;这仅仅是HDFS存储;(这里我说的是一个月的,你数据保存几个月,就乘几倍)
如果你集群上面要跑计算,MR计算出来的数据要保存HDFS的,所以,还是要根据你的结果数据来做判断,大小就看你计算任务了
一般是这样计算硬盘大小
(原始数据+中间数据+结果数据)副本数量=总硬盘大小
关于内存:
namenode不用说了,主要就是用内存保存block和node之间对应关系的,也是要根据数据大小计算的,6T/Block大小(默认为128M)=有多少block-->M个
一个block占多少内存: 保守地设置每一百万数据块需要1000MB内存
namenode总内存(兆M)=M1000MB/100万
datanode的内存: 一般问题不大,一般都是用于mr的计算,这个东西根据你性能的需要设置
关于多少台机器
根据Task任务的数量和你的性能指标来做决定
一个Block对应一个Mapper任务,上面算出来M个Block了,mapper任务也是那么多
实际测试一下,一定数据量在x台机器上运行时间,根据你的指标去评定要多少台机器
hadoop集群的性能和节点个数近似成正向关系据国外媒体消息,为应对海量数据浪潮,VMware启动Serengeti开放原始码计划,便于企业在VMware vSphere虚拟化平台上快速部署与管理Apache Hadoop集群,部署虚拟化技术与分布式计算混用的基础架构。
通过Serengeti计划,VMware开放一组工具组,可在Apache 20网页免费下载,让企业IT人员利用指令接口(Command Line Interface,CLI)在vSphere平台建立、设定、启用与管理Hadoop集群,包括Hadoop共通组件如Apache Pig与Apache Hive等。例如,IT人员可用这些工具组设定单台虚拟计算节配置多少内存、存储与网络资源。目前VMware已和Cloudera、Greenplum、Hortonworks、IBM及MapR等Hadoop厂商合作推广Serengeti计划。
此外,VMware还为Hadoop放出新的原始码,包括HDFS(Hadoop Distributed File System)和Hadoop MapReduce项目的扩展组件,可在虚拟化平台当中,将数据和计算任务分散到不同虚拟计算节点。并且VMware发布了Spring for Apache Hadoop分布式计算开发平台的更新版本,让企业开发人员整合HBase数据库、Cascading函数库及Hadoop安全功能,来开发采Hadoop技术的应用系统。完全分布式HA
服务器规划
技术栈包含
hdfs
hive on spark
presto
doris
superset
azkaban
kafka
fluent\flume
sqoop\kettle\flink-cdc
atlas
禁用swap/selinux
修改 IP/修改主机名/及主机名和 IP 地址的映射
时间同步/设置时区/自动时间同步
关闭防火墙
关闭SELINUX
新建用户
免密登录(先升级openssh)
发送密钥(dw01上执行)
授权
Tencent Kona v808-GA
腾讯开源的konaJDK,针对大数据场景下优化
解压并重命名至安装地址:/usr/local/java/
zookeeper-359
解压并重命名至安装地址:/usr/local/zookeeper
apache-hadoop-313 解压至安装地址:/usr/local/hadoop
修改环境变量
/usr/local/zookeeper/conf
启动zookeeper集群(每台执行)
三台服务器启动
格式化namenode(dw01执行)
启动namenode(dw01上执行)
在[nn2]和[nn3]上分别执行,同步 nn1 的元数据信息
启动nn2 nn3,分别执行
所有节点上启动datanode
将[nn1]切换为 Active
查看状态
配置yarn-sitexml
配置mapred-sitexml
分发配置文件,启动yarn(dw03 启动)
dw03节点
dw01节点
dw01执行
dw03执行
测试样例
启动脚本
HA切换namenode手动
修改yarn显示log的bug
安装流程
我们先来回顾上一篇我们完成的单节点的Hadoop环境配置,已经配置了一个CentOS 68 并且完成了java运行环境的搭建,Hosts文件的配置、计算机名等诸多细节。
其实完成这一步之后我们就已经完成了Hadoop集群的搭建的一半的工作了,因为我们知道通过虚拟机搭建所搭建的好处就是直接拷贝机器。多台同步进行 *** 作,减少分别配置的时间消耗浪费。这也是虚拟化技术所带来的优势。
下面,咱们进去分布式系统的详细 *** 作过程。
1、首先需要在VMWare中将之前创建的单实例的计算机进行拷贝。
这里根据之前第一篇文章的规划,我们至少需要再克隆出三台计算机,作为DataNode数据节点的数据存储。之前的上一台机器作为Master主节点进行管理。
这里先来梳理一下整个Hadoop集群的物理架构图,大家有一个直接的观念和认识,上表中已经和明确了,总共需要5台服务器来使用,四台用来搭建Hadoop集群使用,另外一台(可选)作为MySQL等外围管理Hadoop集群来使用。
1、下载hive(>欢迎分享,转载请注明来源:内存溢出
评论列表(0条)