- 博客(49)
- 收藏
- 关注
原创 hdfs API命令操作京东云主机,采坑记录
代码public class HDFSApp {public static final String HDFS_PATH="hdfs://hadoop001:9000";Configuration configuration;FileSystem fileSystem;@Beforepublic void setUp() throws Exception{ BasicCon...
2019-08-28 10:47:05
1075
原创 hdfs 安全模式的理解
hdfs 安全模式的理解安全模式是hadoop的一种保护机制,用于保证集群中的数据块的安全性。当集群启动的时候,会首先进入安全模式:当系统处于安全模式时会去检查数据块的完整性假设我们设置的副本数(即参数dfs.replication)是3,那么在datanode上就应该有3个副本存在,假设只存在1个副本,那么比例就是1/3=0.333,这个比例就是副本率;在配置文件hdfs-default....
2019-08-25 16:01:10
278
原创 hdfs dfs -ls命令的理解
hdfs dfs -ls 和hdfs dfs -ls / 和hdfs dfs -ls / hdfs://hostname:8020分别是查看的那个目录[hadoop@hadoop001 ~]$ hdfs dfs -ls /Found 2 itemsdrwxr-xr-x - hadoop hadoop 0 2019-08-25 11:59 /userdrwx...
2019-08-25 12:16:56
11156
原创 阿里云主机hadoop2.6.0-cdh5.15.1-HA环境搭建
1.版本组件版本备注centoscentos7.2JREjdk-8u45-linux-x64.gz-hadoophadoop-2.6.0-cdh5.15.1.tar.gz自己通过源码编译的,具有压缩工具zookeeperzookeeper-3.4.6.tar.gz热切,yarn存储数据使用的协调服务2.阿里云环境搭建具体步骤在这不详...
2019-08-23 01:43:47
636
原创 主从架构的hbase读写经过master进程吗?
1.hbase的整体架构图1.hbse是一个高效的、可靠的、可扩展的关系型数据库。2.hbase的最终存储位置是在hdfs上;具体存储目录可以在配置文件中进行指定3.hbase很依赖于zookeeper4.hbase的最基本存储单元是region;每一台服务器,对应都会有一个regionserver;通过regionServer对region进行处理,最终保存在hdfs上5.通过zoo...
2019-08-20 18:17:34
538
原创 hdfs和yarn HA 架构图梳理和总结
1.hdfs HA 架构图梳理HA使用active NN, standby NN两个节点解决单点问题。两个NN节点通过JN(JournalNode)集群,共享状态,通过ZKFC选举active,监控状态,自动备援。DN会同时向两个NN节点发送心跳。各个组件的作用active nn:接收client的rpc请求并处理,同时自己editlog写一份,也向JN的共享存储上的editlog写一份...
2019-08-20 17:38:46
527
原创 spark2.4.3源码编译支持hadoop-2.6.0-cdh5.15.1和scala 2.12.8
环境准备1.下载下面需要的软件mavenapache-maven-3.5.4-bin.tar.gzscalascala-2.12.8.tgzjavajdk-8u45-linux-x64.gzspark编译包spark-2.4.3.tgz2.在hadoop用户下创建目录,并上传这些软件[hadoop@hadoop001 ~]$ mkdir app s...
2019-08-06 13:21:36
571
原创 hadoop-2.6.0-cdh5.15.1源码编译安装遇到的问题
编译安装步骤还是安装之前的hadoop-2.6.0-cdh5.7.0,这里就不说了遇到的问题:[FATAL] Non-resolvable parent POM for org.apache.hadoop:hadoop-main:2.6.0-cdh5.15.1: Could not transfer artifact com.cloudera.cdh:cdh-root:pom:5.15....
2019-08-01 16:15:02
1349
原创 ntp时间同步
环境说明:现有三台主机:dfs01 dfs02 和dfs03 系统是centos7.4需求:以dfs01为ntp主服务器,其他连个节点来与其同步。dfs01:服务端1.安装ntp服务,配置服务(/etc/ntp.conf),最后启动ntp服务[root@dfs01 ~]# yum install -y ntp [root@dfs01 ~]# vim /etc/ntp.conf ...
2019-07-30 11:13:43
2638
原创 生产上完成TopN统计
需求:区域 下 受欢迎的产品的TOPNhive表里现在并没有区域信息区域信息和产品信息我们是存放在MySQL里面的(city_info和product_info两张表)user_click.tx用户行为日志,存放在/home/hadoop/data/user_click.txt这个目录,[hadoop@hadoop001 shell]$ head -10 /home/hadoop/data...
2019-07-28 18:54:08
137
原创 Sqoop-1.4.6-cdh5.7.0.tar.gz安装和使用
sqoop作用:sqoop是一个数据交换工具,最常用的两个工具是导入导出。导入导出的参照物是hadoop,向hadoop导数据就是导入。sqoop目前有两个版本,1.4.X为sqoop1;1.99.X为sqoop2。两个版本不兼容。一般都用sqoop1Sqoop安装1 下载Sqoop-1.4.6-cdh5.7.0.tar.gz包http://archive.cloudera.com/c...
2019-07-28 18:13:06
404
1
原创 Hive的分区表整理
1.分区表的介绍在Hive中处理数据时,当处理的一张表的数据量过大的时候,每次查询都是遍历整张表,显然对于计算机来说,是负担比较重的。所以我们可不可以针对数据进行分类,查询时只遍历该分类中的数据,这样就能有效的解决问题。所以就会Hive在表的架构下,就会有分区的这个概念,就是为了满足此需求。分区表的一个分区对应hdfs上的一个目录。分区表包括静态分区表和动态分区表,根据分区会不会自动创建来区...
2019-07-23 15:53:48
729
原创 hive的复杂数据类型
hive的复杂数据类型:Array(1,2,3,4) 装的数据类型是一样的Map(‘a’,1,‘b’,c) key的类型一样Struct(‘a’,1,2,34,4)装的数据是完全混乱的Array数据类型1.存放创建一张存放array数据类型的表[hadoop@hadoop001 data]$ cat hive_array.txt zhangsan beijing...
2019-07-22 10:49:37
1257
原创 hive_beeline和hiveserver2的使用
beeline和hiveserver2beeline和HS2(hiveserver2)的架构是C-S架构,如果想要用beeline作为与hive的交换工具,必须在hive中启动hiveserver2服务
2019-07-21 17:00:13
277
原创 hive_topN
hive中的窗口分析函数hive中的窗口分析函数:RANKROW_NUMBERDENSE_RANKCUME_DISTPERCENT_RANKNTILE但一般用的最多的还是ROW_NUMBER。用法 COUNT(DISTINCT a) OVER (PARTITION BY c)例如:在linux本地目录创建一个文件/home/hadoop/data/hive_row_number....
2019-07-21 15:55:40
284
原创 hive内置常用函数补充和举例
json_tuple函数的作用:用来解析json字符串中的多个字段hive (default)> create table rating_json(json string); >load data local inpath '/home/hadoop/data/rating.json' overwrite into table rating_json; //导入数据 hive...
2019-07-21 15:00:02
202
原创 Hive的查询语句整理
select查询hive (default)> > select * from emp;OKemp.empno emp.ename emp.job emp.mgr emp.hiredate emp.sal emp.comm emp.deptno7839 KING PRESIDENT ...
2019-07-19 17:47:47
660
原创 Hive - DDL 和DML整理
1. 相关说明DDL=Date Definition Language,数据定义语言。学习hive的HQL的DDL相关语法,建议对照官方WIKI,因为语法参数较多,而且和SQL多有相似,不建议记忆,梳理一下,记住相关可以实现的功能和注意点以及和SQL之间的区别即可。2.基本数据类型和分隔符Hive基本数据类型:stringintbigintfloatdoubleboolean...
2019-07-19 14:18:44
134
原创 linux_sed命令
sed(Stream EDitor),流式编辑器非交互式,基于模式匹配过滤及修改文本逐行处理,并将结果输出到屏幕sed之正则表达式^ 锚定行的开始 如:/^sed/匹配所有以sed开头的行。$ 锚定行的结束 如:/sed$/匹配所有以sed结尾的行。. 匹配一个非换行符的字符 如:/s.d/匹配s后接一个任意字符,然后是d。* 匹配零或多个字符 如:/*sed/匹配所...
2019-07-17 16:39:44
228
原创 bash shell脚本练习
用for实现判断/var目录下所有文件的类型 #!/bin/bash # for i in $(find /var); do if [ -b $i ];then echo "$i is block device" elif [ -c $i ]; then echo "$i is character device" elif [ -f $i ]; then echo "$i i...
2019-07-17 15:23:53
423
原创 hive的安装和部署
hive的产生背景MR来开发业务逻辑:繁琐、痛苦Hive:facebook 解决海量的结构化日志的统计问题刚开始时是作为Hadoop项目的一个子项目的,后面才单独成为一个项目Hive是构建在Hadoop之上的数据仓库 适合处理离线Hive是一个客户端,不是一个集群,把SQL提交到Hadoop集群上去运行Hive是一个类SQL的框架, HQL和SQL没有任何关系,只是类似Hive...
2019-07-16 15:05:28
170
原创 yarn的三种调度器详解
FIFO SchedulerFIFO是简单容易理解的调度器,它是一个先进先出的队列,也就是按照job提交顺序来排队,在进行资源分配的时候,先给队列中最头上的应用进行分配资源,待最头上的应用需求满足后再给下一个分配,以此类推。如上图所示,job1比job2先提交,只有当job1执行完了资源才会给与job2。 这种调度方式不需要配置,但是生产上不使用这种调度,因为一旦某个job需要的全部资源,那么...
2019-07-15 20:51:25
1726
原创 mapreduce 1的工作机制
MapReduce 1MapReduce 1 也就是Hadoop 2.0之前的工作机制,hadoop2.0后,工作原理就是之前博客提到的mapreduce on yarn工作原理构成MapReduce 1最主要的其实就是jobtracker和tasktracker:jobtracker,用来协调作业的运行。它也是一个Java程序,主类是JobTracker。tasktracker,用...
2019-07-15 20:23:54
213
原创 影响yarn资源调优的6个参数
内存参数yarn.nodemanager.resource.memory-mb表示该节点上YARN可使用的内存总数,默认是8Gyarn.scheduler.minimum-allocation-mb单个任务可申请的最小的内存大小,默认是1G,当内存不够时,会自动按照一定大小累加内存。yarn.scheduler.maximum-allocation-mb单个任务可申请的最大...
2019-07-11 16:50:53
552
原创 mr on yarn架构设计详解
流程图描述1.用户向yarn提交job,其中包含application master程序,启动application master的命令等2.RM为该job分配第一个container,与对应的NM通信,要求它在这个container启动作业的application master3.application master向applications manager注册,这样用户就可以通过RM...
2019-07-11 16:21:04
172
转载 YARN的Memory和CPU调优配置详解
Hadoop YARN同时支持内存和CPU两种资源的调度,本文介绍如何配置YARN对内存和CPU的使用。YARN作为一个资源调度器,应该考虑到集群里面每一台机子的计算资源,然后根据application申请的资源进行分配Container。Container是YARN里面资源分配的基本单位,具有一定的内存以及CPU资源。在YARN集群中,平衡内存、CPU、磁盘的资源的很重要的,根据经验,每两个...
2019-07-11 15:37:17
236
转载 YARN and MapReduce的【内存】优化配置详解
本分转载博客http://blog.itpub.net/30089851/viewspace-2127850/在Hadoop2.x中, YARN负责管理MapReduce中的资源(内存, CPU等)并且将其打包成Container。使之专注于其擅长的数据处理任务, 将无需考虑资源调度. 如下图所示YARN会管理集群中所有机器的可用计算资源. 基于这些资源YARN会调度应用(比如MapRed...
2019-07-11 14:30:20
97
原创 HDFS小文件危害以及解决方案
小文件的定义文件大小小于或者等于30M的文件小文件的危害(1)HDFS不适合大量小文件的存储,因namenode将文件系统的元数据存放在内存中,因此存储的文件数目受限于 namenode的内存大小。HDFS中每个文件、目录、数据块占用150Bytes。如果存放的文件数目过多的话会占用很大的内存甚至撑爆内存(2)HDFS适用于高吞吐量,而不适合低时间延迟的访问。如果同时存入大量的...
2019-07-10 10:57:01
3104
原创 详解SecondaryNameNode
作用定期合并NN节点的fsimage+editlog为新的fsimage,推送给NN,简称检查点 checkpoint。影响checkpoint的两个参数: dfs.namenode.checkpoint.period 3600 dfs.namenode.checkpoint.txns 1000000注意:dfs.namenode.checkpoint.period参数已经...
2019-07-10 10:40:19
163
原创 HDFS架构及其副本放置策略
架构blockHDFS会将文件分成若干block块来存储,这个dfs.blocksize参数默认block大小为128MNameNode(NN)主要是存储整个HDFS的文件系统,包括:文件名称/文件目录结构/文件属性(权限,创建时间,副本数等)/文件对应的哪些块(副本块),这里的文件和副本块的映射关系并不会持久化,而是在集群运行或者启动时,DN定期发送blockreport给NN来更新映...
2019-07-10 10:09:52
287
原创 生产HDFS Block损坏恢复最佳实践
上传文件ruozedata.md 上传: -bash-4.2$ hdfs dfs -mkdir /blockrecover -bash-4.2$ echo "www.ruozedata.com" > ruozedata.md -bash-4.2$ hdfs dfs -put ruozedata.md /blockrecover -bash-4.2$ hdfs dfs -ls...
2019-07-10 09:56:02
179
原创 hadoop_hadoop-2.6.0-cdh5.7.0源码编译支持压缩以及伪分布式部署
1.需求与设计1.1需求直接使用的hadoop-2.6.0-cdh5.7.0.tar.gz包部署的hadoop集群不支持文件压缩,生产上是不可接受的,故需要将hadoop源码下载重新编译支持压缩1.1概要设计下载hadoop源码,使用maven编译,使其支持压缩。并成功进行伪分布式集群部署验证压缩功能。|组件名称|组件版本 |百度网盘链接2.环境需求以及部署规划2.1 硬件环境一...
2019-07-09 22:22:55
485
原创 hadoop-hadoop常用命令
hadoop命令命令帮助 hadoop然后回车hadoop fs 等价于 hdfs dfs 命令 hadoop fs -ls 显示目录信息,递归-lsr hadoop fs -mkdir /user/tguigu 在hdfs上创建目录 hadoop fs -moveFromlocal test.txt /user/tguigu/data 从本地剪切粘贴到hdfs hadoo...
2019-07-08 16:38:27
232
原创 hadoop-hdfs读写流程整理
hdfs读流程Client通过FileSystem.open(filePath)方法,与NN节点进行【rpc】协议通信,校验是否有权限是否存在,假如都ok,返回该文件的部分或全部的block的列表(包含各个block块的分布在DN地址的列表),也就是返回【FSDataInputStream】对象;Clinet调用FSDataInputStream.read方法a.与第一个块的最近的DN...
2019-07-08 15:56:59
320
原创 linux命令(四)
一.vi命令命令行模式dd 删除当前行dG 删除光标所在行及以下的所有行ndd 删除光标所在行及以下的n-1行gg 跳转到第一行的首字母G 跳转到最后一行的首字母shift+$ 行尾0 行首vi清空这个文件:gg+dG 真正清空 0字节 但是文件内容假如很大 加载肯定很慢echo "" > install.log 伪清空 1个字节ech...
2019-07-05 16:53:26
234
转载 关于Linux系统清理/tmp/文件夹的清理时间等
关于Linux系统清理/tmp/文件夹的清理时间等本文转自http://www.opsers.org/base/clean-up-on-the-linux-system-tmp-folder-you-may-want-to-know.html我们知道,在Linux系统中/tmp文件夹里面的文件会被清空,至于多长时间被清空,如何清空的,可能大家知识的就不多了,所以,今天我们就来剖析一个这两个问题...
2019-07-05 14:56:37
2978
原创 以hostname启动hadoop各个服务
背景:在Hadoop伪分布式部署中我们没有设置相关参数使得,NN和DN使用得是localhost启动得,而SNN是0.0.0.0启动得。在真正生产中,不可能使用IP来启动相关组件得,因为IP很有可能会变动,当ip变动的时候,可能你就得修改大量代码中得IP。因此,使用hostname来启动各组件是最稳妥得。解决方案:1.配置hostname [root@hadoop001 ~]$ vim ...
2019-07-05 13:08:31
229
原创 hadoop系统重启过后,namenode不能启动问题
问题描述:hadoop系统重启过后,执行sbin/start_dfs.sh启动脚本[hadoop@ruozedata001 hadoop]$ jps6033 Jps5304 SecondaryNameNode5119 DataNode[hadoop@ruozedata001 hadoop]$ namenode始终起不来查看namenode日志,报错如下tail -F /home...
2019-07-05 12:41:56
1301
原创 hadoop jps使用
一.jps和java在java包的同一目录[hadoop@ruozedata001 ~]$ which jps/usr/java/jdk1.8.0_45/bin/jps[hadoop@ruozedata001 ~]$ which java/usr/java/jdk1.8.0_45/bin/java[hadoop@ruozedata001 ~]$ 注意:前提是必须安装jdk,必须配置好环...
2019-07-05 11:26:42
709
原创 hadoop访问ssh非默认端口问题
1.linux系统为了安全加固,修改ssh访问的默认端口号为2222 [root@ruozedata001 ~]# vim /etc/ssh/sshd_config 将里面的Port 22 修改为 Port 2222 [root@ruozedata001 ~]#reboot 2.安装hadoop时,启动hadoop报错 [hadoop@ruozedata001 hadoop]$ s...
2019-07-02 10:14:39
1653
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人