HDFS

hadoop 2.9.2 完全分布式安装

余生颓废 提交于 2020-04-10 09:11:18
完全分布式安装 完全分布式环境部署Hadoop 完全分布式是真正利用多台Linux主机进行部署Hadoop,对Linux机器集群进行规划,使Hadoop各个模块分别部署在不同的多台机器上; 1.环境准备 虚拟机安装,在此使用KVM虚拟机; 2.网络配置 配置完成后可以访问外网即可; 3.hostname配置 将三台主机分别命名加以区分; 4.hosts配置 修改主机名 hostname hadoop-node1 hostname hadoop-node2 hostname hadoop-node3 将三台主机名和IP地址对应关系写入hosts文件; vim /etc/hosts 10.10.2.177 hadoop-node1 10.10.2.178 hadoop-node2 10.10.2.179 hadoop-node3 5.服务器功能角色规划 hadoop-node1 hadoop-node2 hadoop-node3 NameNode ResourceManage DataNode DataNode DataNode NodeManager NodeManager NodeManager HistoryServer SecondaryNameNode 6.在一台机器上安装Hadoop #在此,先在第一台机器上解压、配置hadoop

HDFS重要特性

只谈情不闲聊 提交于 2020-04-10 08:30:21
首先,它是一个文件系统,用于存储文件,通过统一的命名空间目录树来定位文件; 其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。 1. master/slave 架构   HDFS 采用 master/slave 架构。一般一个 HDFS 集群是有一个 Namenode 和一定数目的 Datanode 组成。Namenode 是 HDFS 集群主节点,Datanode 是 HDFS 集群从节点,两种角色各司其职,共同协调完成分布式的文件存储服务。 2. 分块存储   HDFS 中的文件在物理上是分块存储(block)的,块的大小可以通过配置参数来规定,默认大小在 hadoop2.x 版本中是 128M。 3. 名字空间(NameSpace )   HDFS 支持传统的层次型文件组织结构。用户或者应用程序可以创建目录,然后将文件保存在这些目录里。文件系统名字空间的层次结构和大多数现有的文件系统类似:用户可以创建、删除、移动或重命名文件。   Namenode 负责维护文件系统的名字空间,任何对文件系统名字空间或属性的修改都将被 Namenode 记录下来。   HDFS 会给客户端提供一个统一的抽象目录树,客户端通过路径来访问文件,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data。 4.

Is there a way to control number of part files in hdfs created from spark dataframe? [duplicate]

和自甴很熟 提交于 2020-04-10 06:39:28
问题 This question already has answers here : Spark How to Specify Number of Resulting Files for DataFrame While/After Writing (1 answer) How to control the number of output part files created by Spark job upon writing? (2 answers) Closed 17 days ago . When i save the DataFrame resulting from sparksql query in HDFS, it generates large number of part files with each one at 1.4 KB. is there a way to increase size of file as every part file contains about 2 records. df_crimes_dates_formated = spark

Hadoop运行在Kubernetes平台实践

孤街醉人 提交于 2020-04-09 06:17:19
Hadoop与Kubernetes就好像江湖里的两大绝世高手,一个是成名已久的长者,至今仍然名声远扬,一个则是初出茅庐的青涩少年,骨骼惊奇,不走寻常路,一出手便惊诧了整个武林。Hadoop与Kubernetes之间有很深的渊源,因为都出自IT豪门——Google,只不过,后者是亲儿子,正因为有大佬背书,所以Kubernetes一出山,江湖各路门派便都蜂拥而至,拥护称王。 不知道是因为Hadoop是干儿子的缘故还是因为“廉颇老矣”,总之,Hadoop朋友圈的后辈们如Spark、Storm等早都有了在Kubernetes上部署运行的各种资料和案例,但Hadoop却一直游离于Kubernetes体系之外,本文我们给出Hadoop在Kubernetes上的实践案例,以弥补这种缺憾。 Hadoop容器化的资料不少,但Hadoop部署在Kubernetes上的资料几乎没有,这主要是以下几个原因导致的: 第一, Hadoop集群重度依赖DNS机制,一些组件还使用了反向域名解析,以确定集群中的节点身份,这对Hadoop在Kubernetes上的建模和运行带来极大挑战,需要深入了解Hadoop集群工作原理并且精通Kubernetes,才能很好解决这一难题。 第二, Hadoop新的Map-Reduce计算框架Yarn的模型出现的比较晚,它的集群机制要比HDFS复杂,资料也相对较少

Hadoop入门之hdfs

限于喜欢 提交于 2020-04-08 22:11:57
大数据技术开篇之Hadoop入门【hdfs】     学习都是从了解到熟悉的过程,而学习一项新的技术的时候都是从这个技术是什么?可以干什么?怎么用?如何优化?这几点开始。今天这篇文章分为两个部分。一、hadoop概述 二、hadoop核心技术之一的hdfs的讲解。 【hadoop概述】 一、hadoop是什么? Hadoop是一个由Apache基金会所开发的 分布式系统 基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个 分布式文件系统 (Hadoop Distributed File System),简称HDFS。HDFS有高 容错性 的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问 应用程序 的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。   简单概况就是hadoop是一个分布式系统的基础架构,通过分布式来进行高速运算和存储。 二、用来干什么?  

一、Spark性能优化:开发调优篇

牧云@^-^@ 提交于 2020-04-08 15:05:12
1、前言 在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spark。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据计算作业的执行速度更快、性能更高。 然而,通过Spark开发出高性能的大数据计算作业,并不是那么简单的。如果没有对Spark作业进行合理的调优,Spark作业的执行速度可能会很慢,这样就完全体现不出Spark作为一种快速大数据计算引擎的优势来。因此,想要用好Spark,就必须对其进行合理的性能优化。 Spark的性能调优实际上是由很多部分组成的,不是调节几个参数就可以立竿见影提升作业性能的。我们需要根据不同的业务场景以及数据情况,对Spark作业进行综合性的分析,然后进行多个方面的调节和优化,才能获得最佳性能。 笔者根据之前的Spark作业开发经验以及实践积累,总结出了一套Spark作业的性能优化方案。整套方案主要分为开发调优、资源调优、数据倾斜调优、shuffle调优几个部分。开发调优和资源调优是所有Spark作业都需要注意和遵循的一些基本原则,是高性能Spark作业的基础;数据倾斜调优

大数据Hadoop第六周——启动集群并验证

对着背影说爱祢 提交于 2020-04-08 13:52:15
大数据第6周 1.启动集群并验证 启动集群:start-all.sh 启动后先用jps验证线程数是否正确,按照我的配置,master节点线程: ​ 连个slave节点: ​ 为了验证集群mapreduce工作是否正常,可以运行例子程序,例如: 进入相应目录hadoop-2.7/share/hadoop/mapreduce,执行: hadoop jar hadoop-mapreduce-examples-2.7.7.jar pi 10 10 其中:第一个10是指运行10次map任务,第二个10是指每个map任务投掷次数,所以总投掷次数是10×10=100。如果显示: ​ 表明没有关闭安全模式,用下面的命令把安全模式关闭: hdfs dfsadmin -safemode leave 然后再次执行后结果显示: ​ HDFS命令 hadoop fs展示所有命令 ​ 新建一个aaa的目录: ​ ​ 在浏览器中也可以查看,输入地址:master:50070 ​ 新建一个有内容的文件,上传至hdfs文件系统。 echo hello world >> abc.txt hadoop fs -put abc.txt /aaa/ 查找存储的具体位置,理解hdfs的工作基本原理。 ​ 也可以通过命令查看上传在即群里的文件。 ​ ​ 在master节点里存储的是文件的存储位置,在相应节点里可以找到上传的文件

Hadoop常用操作

青春壹個敷衍的年華 提交于 2020-04-08 07:44:17
Hadoop常用操作 1、Hadoop安装 略 2、Hadoop配置 略 3、Hadoop多目录配置 namenode和datanode节点下都可以进行多个目录的配置,但是意义不同。namenode的多目录配置是副本策略,保证数据可靠性,datanode多目录配置是对容量进行扩容,由于datanode已经有副本机制了。 [hdfs-site.xml] <!-- namenode多目录配置 --> <property> <name>dfs.namenode.name.dir</name> <value>file://${hadoop.tmp.dir}/dfs/name1,file://${hadoop.tmp.dir}/dfs/name2</value> </property> <!-- datanode多目录配置 --> <property> <name>dfs.datanode.data.dir</name> <value>file://${hadoop.tmp.dir}/dfs/data1,file://${hadoop.tmp.dir}/dfs/data2</value> </property> 其中${hadoop.tmp.dir}是hadoop临时目录配置。 [core-site.xml] <property> <name>hadoop.tmp.dir</name>

sqoop命令,mysql导入到hdfs、hbase、hive

空扰寡人 提交于 2020-04-08 07:01:00
1.测试MySQL连接 bin/sqoop list-databases --connect jdbc: mysql://192.168.1.187:3306/trade_dev --username 'mysql' --password '111111' 2.检验SQL语句 bin/sqoop eval --connect jdbc: mysql://192.168.1.187:3306/trade_dev --username 'mysql' --password '111111' --query "SELECT * FROM TB_REGION WHERE REGION_ID = '00A1719A489D4F49906A8CA9661CCBE8'" 3.导入hdfs 3.1 导入 bin/sqoop import --connect jdbc: mysql://192.168.1.187:3306/trade_dev --username 'mysql' --password '111111' --table TB_REGION --target-dir /sqoop/mysql/trade_dev/tb_region -m 5 --columns "code,name,category,farthercode,visible,regionlevel,region_id"

﹥>﹥吖頭↗ 提交于 2020-04-07 13:44:18
1.外面的电脑可以访问本机的虚拟机(共享虚拟机服务) iptables -t nat -A PREROUTING -i enp2s0 -d 172.40.5.1 -p tcp --dport 2222 -j DNAT --to 192.168.4.10:22(路由前iptables作目的地址转发) 2.虚拟机连接外网 1)关闭本机防火墙服务 systemctl stop firewalld.service 2)开启本机路由转发功能 sysctl -w net.ipv4.ip_forward=1 3)iptables作源地址伪装 iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -o p8p1 -j MASQUERADE 4)在虚拟机里添加网关地址:route add default gw 192.168.4.254 3.brctl show 查看网桥 brctl addbr lo1 创建网桥 brctl delbr lo1 删除网桥 brctl addif lo1 连接网桥 brctl delif lo1 断开连接 一 。ansible介绍 1.自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。 二。ansible特点