hadoop
文章平均质量分 76
字母的艺术
make it happen !
展开
-
Hadoop 之 动态添加一个新节点(dataNode)到集群中(nameNode)
目录1、新节点操作 2、主节点操作 3、web UI 查看 4、修改副本数1、新节点操作手动启动 datanode命令:hadoop-daemon.sh start datanode手动启动 nodemanager命令:yarn-daemon.sh start nodemanager2、主节点操作刷新datanode节点命令:hadoop dfsadmin...原创 2019-07-11 22:40:55 · 1655 阅读 · 0 评论 -
spark 中 RPC 通信过程----部分源代码分析
目录生命周期 子类实现1.生命周期RpcEnv 生命周期为: constructor -> onStart -> receive* -> onStop源码分析如下:/** * A factory class to create the [[RpcEnv]]. It must have an empty constructor so that it can...原创 2019-03-07 22:59:37 · 223 阅读 · 0 评论 -
Spark streaming 与 Flume 结合消息处理机制 Push 与 Poll 对比分析
1. Push 方式(flume 主动)Flume 将消息推送到 SparkStreaming 中 worker 的 executor 处理,但是其缺点是 flume 只能指定一个executor 来处理,这样会给单个节点中executor造成很大的压力,故不推荐该方式。部分实例代码//推送方式: flume向spark(spark 地址一个,具体来说启动的是spark集群中某个w...原创 2019-03-03 17:08:55 · 392 阅读 · 0 评论 -
分析 Spark 程序 helloWord 过程中产生多少 RDD ?
目录问题:分析 Spark 程序 helloWord 过程中产生多少 个RDD ? 答案:六个问题待分析spark 程序 wordCount val res = sc.textFile("hdfs://node-1:9000/wordCount").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFil...原创 2019-02-27 10:43:51 · 142 阅读 · 0 评论 -
windows 客户端使用IDEA远程调试Linux中 spark 代码
1. 修改配置文件在spark-env.sh , 添加 一行配置,内容如下:export SPARK_MASTER_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=10000"注意调试端口为10000,在客户端调试是也使用该端口号。2. 客户端远程链接并调试客户端使用IDEA进行远程调...原创 2019-03-02 20:46:00 · 812 阅读 · 0 评论 -
报 error: not found: value sqlContext import sqlContext.implicits._ 和 import sqlContext.sql 错误的解决方案
问题:<console>:16: error: not found: value sqlContext import sqlContext.implicits._ ^<console>:16: error: not found: value sqlContext import sqlContext.s...原创 2019-03-05 20:00:58 · 3700 阅读 · 0 评论 -
sparkSQL 将结果数据写入 mysql【demo 程序篇 WriteDataToMysql】
Demo 测试代码 WriteDataToMysql package cn.demo.sqlimport java.util.Propertiesimport org.apache.spark.sql.types.{StringType, StructField, StructType}import org.apache.spark.sql.{Row, SQLContext}i...原创 2019-03-01 12:47:44 · 651 阅读 · 0 评论 -
sparkSQL 从MySQL数据源 读取数据【demo 程序篇 ReadDataFromMysql】
demo 程序篇package cn.demo.sqlimport org.apache.spark.sql.SQLContextimport org.apache.spark.{SparkConf, SparkContext}object ReadDataFromMysql { def main(args: Array[String]): Unit = { // 设...原创 2019-03-01 11:39:29 · 619 阅读 · 0 评论 -
spark shell 启动报找不到 com.mysql.jdbc.Driver was not found
问题spark shell 启动报找不到 com.mysql.jdbc.Driver was not found解决1./apache-hive-1.2.1-bin/lib/目录中添加 mysql-connector-java-5.1.35-bin.jar2. 转到spark 目录中 启动spark-shell/bin/spark-shell --master s...原创 2019-02-28 21:44:18 · 2716 阅读 · 0 评论 -
在scala中 int 中没有 to 方法,而实际中可以调用该方法,原因何在?(源码分析)
1. 问题:在scala中 int 中没有 to 方法,而实际中可以调用该方法,原因何在?2. 源码:在scala中 Int 隐式转换为 RichInt3. 分析如下: scala 包下有个一个predef 门面类,该类中包含了scala中提供所有的隐式转换,并且默认导入该类。源码查看如下:predef 类 继承 LowPriorityImplicits, 该类使用了...原创 2019-02-23 11:29:28 · 676 阅读 · 0 评论 -
HADOOP 集群搭建
目录1. 集群简介 2. 软件准备 3. 网络配置 4. 系统设置 5.JDK安装 6. HADOOP安装 7. 启动集群 8. 测试试验1. 集群简介 HADOOP集群五个节点角色分配如下: mini1 NameNode SecondNameNode mini2 ResourceManager mini3 DataN...原创 2019-03-16 14:24:59 · 181 阅读 · 0 评论 -
HDFS 相关细节研究
1.hdfs-可拓展性----hsdf配置文件中slaves文件是为了在namenode端使用ssh命令方便启动目前系统所有的datanode节点。当需要扩容时,只需要配置好一个新的datanode后,使用hadoop-daemon.sh start datanode 命令启动即可,不一定将新数据节点加入slaves中,不加入该文件时,启动时需要手动开启而已。手动开启新的数据节点,此时namen...原创 2019-03-17 23:03:33 · 129 阅读 · 0 评论 -
本地文件上传到 HDFS 的shell执行脚本
目录1.功能:将本地日志上传到hdfs中。 2.实现:分两步进行,第一步将文件复制到待上传目录,第二步将文件设置标志(copy)循环逐条复制hdfs中,并更改标志(done) 3.代码及结果展示1.功能:将本地日志上传到hdfs中。2.实现:分两步进行,第一步将文件复制到待上传目录, 第二步将文件设置标志(copy)循环逐条复制hdfs中,并更改标志(done)3.代...原创 2019-03-19 10:16:48 · 6426 阅读 · 1 评论 -
hadoop 之 yarn 使用命令行查看日志、结束作业
目录1、yarn 命令行查看日志 2、yarn 命令行结束作业1、yarn 命令行查看日志yarn logs -applicationId 【作业id】例如yarn logs -applicationId application_1562937465914_0001【注意】在yarn-site.xml 中添加以下配置<property> <name...原创 2019-07-12 22:17:09 · 5056 阅读 · 0 评论 -
spark 作业性能调优
目录1、分配更多资源、并行度、RDD架构与缓存 2、shuffle 调优 3、算子调优 4、JVM调优、广播大变量、kryo序列化、fastutil优化数据格式等 5、troubleshooting 6、数据倾斜1、分配更多资源、并行度、RDD架构与缓存分配更多资源:spark作业分配更多的executor 对与每个executor分配更多的memory 对于每个exe...原创 2019-05-18 06:33:41 · 191 阅读 · 0 评论 -
运行spark程序报 must be at least 4.718592E8. Please use a larger heap size.错误及解决方法
目录:1/ 出现问题:运行spark程序时,控制台出现 System memory 202768384 must be at least 4.718592E8. Please use a larger heap size.2/解决方法:conf.set("spark.testing.memory", "2147480000");//后面的值大于512m即可,将jvm运行的最小内存...原创 2019-04-23 23:09:36 · 480 阅读 · 0 评论 -
大数据常见命令汇总ING....
1/hdfs 启动 start-dfs.sh2/yarn 启动 start-yarn.sh3/hive 启动 hive4/hive 创建表 create table users(id int, name string) row format delimited fields terminated by '/t';5/hive 导入数据 load da...原创 2019-04-14 23:11:00 · 483 阅读 · 0 评论 -
mysql 查询 count(*)、count(1)、count(field)的区别.及 order by 同 hive 中 sort by、 cluster by 的区别
目录1、mysql 查询 count(*)、count(1)、count(field)的区别 2、mysql中 order by 同 hive 中 sort by、 cluster by 的区别1、mysql 查询 count(*)、count(1)、count(field)的区别count(*)对行的数目进行计算,包含NULL ; count(1)这个用法和count(*)的结果...原创 2019-03-29 10:53:49 · 532 阅读 · 0 评论 -
hive 联级求和
目录1/原生数据 t_access_times.dat: 2/创建表 3/导入数据 4/按照username、month分组 5/自己 inner join 自己 6/按照用户、月份,联级求和salary1/原生数据 t_access_times.dat:A,2015-01,5A,2015-01,15B,2015-01,5A,2015-01,8B,2015-01,25A...原创 2019-03-31 19:43:09 · 602 阅读 · 0 评论 -
数据仓库 DataWarehouse 学习
目录1、定义 2、特点 3、元数据 4、建模方法 5、星型模型与雪花模型 6、数据库与数据仓库区别1、定义出于分析性报告和决策支持目的而创建,提供所有类型数据支持的战略集合。2、特点数据面向主题 数据是集成的 数据是不可更新的 数据是随时间变化的3、元数据存储方式一:数据集 存储方式二:元数据库,一般使用MySQL4、建模方法范式建模 维度建模 实...原创 2019-04-05 10:26:14 · 2090 阅读 · 0 评论 -
CAP定理
1. 概述Consistency Availability Partition tolerance2. 关系它们的第一个字母分别是 C、A、P。Eric Brewer 说,这三个指标不可能同时做到,这个结论就叫做 CAP 定理。一般来说,分区容错无法避免,因此可以认为 CAP 的 P 总是成立。CAP 定理告诉我们,剩下的 C 和 A 无法同时做到。3. 一致性C 和可用性A,为...原创 2019-03-26 23:25:40 · 147 阅读 · 0 评论 -
离线计算两两之间的共同好友
目录1.需求:离线计算两两之间的共同好友 2.思路:分两步1.需求:离线计算两两之间的共同好友2.思路:分两步第一步:计算<友,[人,人,..]>static class sharedFriendsStepOneMapper extends Mapper<LongWritable, Text, Text, Text>{ String pe...原创 2019-03-26 09:05:54 · 224 阅读 · 0 评论 -
Spark on YARN 的 Cluster 模式和Client 模式原理分析及区别对比分析
目录1. Cluster 模式原理分析 2. Client 模式原理分析 3. 两种模式区别分析1. Cluster 模式原理分析客户端提交给ResourceManager的每一个job都会在集群的NodeManager节点上分配一个唯一的ApplicationMaster,由该ApplicationMaster管理全生命周期的应用,Spark Driver首先作为一个Appli...原创 2019-02-18 11:00:40 · 1369 阅读 · 0 评论 -
解决 bash: nc: command not found 和 nc: Protocol not available 问题
目录:1.问题 2.方案1.问题 解决 bash: nc: command not found 和 nc: Protocol not available 问题2.方案步骤如下:yum erase nc wget http://vault.centos.org/6.6/os/x86_64/Packages/nc-1.84-22.el6.x86_64.rpm rpm ...原创 2019-01-28 00:14:13 · 1146 阅读 · 1 评论 -
spark-sql 中不能使用hive创建表,报/user/hive/warehouse is not a directory or unable to create one错误
目录1.问题 :/user/hive/warehouse is not a directory or unable to create one错误 2.方案:修改spark 配置文件1.问题spark-sql 中不能使用hive创建表,报/user/hive/warehouse is not a directory or unable to create one 错误2.方案...原创 2019-01-27 19:15:17 · 4175 阅读 · 0 评论 -
数据迁移工具 sqoop 安装部署及实战
目录概述 工作机制 安装部署 实战1.概述sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具。导入数据:MySQL,Oracle导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统; 导出数据:从Hadoop的文件系统中导出数据到关系数据库。2.工作机制 将导入或导出命令翻译成mapreduce程序来实现,在...原创 2018-12-09 10:38:03 · 246 阅读 · 0 评论 -
MR中自定义bean作为key,输出某组排序中最大值。
目录需求:MR中自定义bean作为key,输出某组排序中最大值。 方案:重写MR中groupingcomparator方法1.需求:MR中自定义bean作为key,输出某组排序中最大值。 场景:求出多个订单中,金额最大的商品价格。2.方案:重写MR中 groupingcomparator 方法 定义排序:orderBean 类,重写compareto方法,订单相同...原创 2018-12-13 11:51:52 · 558 阅读 · 1 评论 -
Hive 中 各种Join 操作及实例
目录:数据 建表 操作正文:1、数据a:+-------+---------+--+| a.id | a.name |+-------+---------+--+| 1 | a || 2 | b || 3 | c || 4 | d || 7 | y || 8 ...原创 2018-12-03 22:00:20 · 527 阅读 · 0 评论 -
hadoop 之 flume 日志采集框架
目录概述 运行机制 简单结构 复杂结构1、概述 Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。Flume可以采集文件,socket数据包等各种形式源数据,又可以将采集到的数据输出到HDFS、hbase、hive、kafka等众多外部存储系统中,一般的采集需求,通过对flume的简单配置即可实现。Flume针对特殊场景也具备良好的自定义扩展能力,...转载 2018-12-06 08:59:15 · 286 阅读 · 0 评论 -
工作流调度器 azkaban 安装部署
目录准备工作 安装 azkaban web服务器安装 azkaban executor 安装 配置SSL 配置文件 启动 备注 1.准备工作Azkaban Web服务器 azkaban-web-server-2.5.0.tar.gz Azkaban执行服务器 azkaban-executor-server-2.5.0.tar.gz MySQL目前azkab...原创 2018-12-08 21:10:39 · 250 阅读 · 0 评论 -
关键路径转换分析---漏斗模型
目录需求 方案 总结1.需求 在一条指定的业务流程中,各个步骤的完成人数及相对上一个步骤的百分比。2.方案: 使用漏斗模型 查询每一个步骤的总访问人数 create table dw_route_numbs as select 'step1' as step,count(distinct remote_addr) as num...原创 2018-12-12 15:02:24 · 774 阅读 · 0 评论 -
Hadoop 之 HDFS原理
HDFS原理概述HDFS集群分为两大角色:NameNode、DataNode (Secondary Namenode) NameNode负责管理整个文件系统的元数据 DataNode 负责管理用户的文件数据块 文件会按照固定的大小(blocksize)切成若干块后分布式存储在若干台datanode上 每一个文件块可以有多个副本,并存放在不同的datanode上 Datanode会定...原创 2018-11-20 23:24:55 · 147 阅读 · 0 评论 -
Hadoop 之 MapReduce
MapReduce 过程细节分析1/ map阶段结果<key, value>传递给reduce阶段时, 默认是按照key中ASCII 排序的,若key 被构造成bean,则需要制定bean的compareTo方法,此时bean对应的class需要实现writableComparable接口。 2/ reduce阶段,将map阶段结果<key, value>进行...原创 2018-11-24 23:06:44 · 101 阅读 · 0 评论 -
MapReduce 程序的几种提交运行模式
目录 本地模式运行 集群模式运行 本地模型运行1/在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行 ----输入输出数据可以放在本地路径下(c:/wc/srcdata/) ----输入输出数据也可以放在hdfs中(hdfs://weekend110:9000/wc/srcdata)...原创 2018-11-08 21:55:05 · 236 阅读 · 0 评论 -
搭建三节点的 Hbase 环境及动态添加主从节点
目录试验环境 hadoop-2.6.4 + zookeeper-3.4.5 + hbase-0.99.2 搭建过程 hbase-0.99.2 动态添加主节点、从节点1、试验环境1.1 节点为三个:192.168.2.181 hbase1 (主节点) 192.168.2.182 hbase2 (从节点) 192.168.2.183 hbase3 (...原创 2018-12-20 11:32:43 · 2041 阅读 · 0 评论 -
解决 Hadoop 中 从节点 不能远程登录 主节点的MySQL数据库.
目录:Host 'shizhan04' is not allowed to connect to this MySQL server问题,及解决方案 Access denied for user 'root'@'localhost' (using password: YES) 问题,及解决方案1.问题: "Host 'shizhan04' is not allowed to conne...原创 2018-12-09 17:15:58 · 751 阅读 · 0 评论 -
hadoop 之 hbase 原理 (hmaster, hregionserver, zookeeper, 读写流程及组件职责)
目录1、体系图 2、写流程 3、flush过程 4、合并过程 5、读过程 6、hmaster职责 7、hregionserver职责 8、client职责 1、体系图2、写流程client向hregionserver发送写请求。 hregionserver将数据写到hlog(write ahead log),为了数据的持久化和恢复。 hregionserve...原创 2018-12-23 19:29:01 · 1537 阅读 · 1 评论 -
scala版 wordcount 程序整体分析及分步分析
目录1.待处理数据 2.scala版 wordcount 程序之整体分析 3.scala版 wordcount 程序之分部分析1. 待处理数据lines = List("hello tom hello jerry", "hello jerry", "hello kitty")2.scala版 wordcount 程序之整体分析处理程序val result = lines....原创 2019-01-15 21:03:58 · 229 阅读 · 0 评论 -
spark 版 WordCount 程序分析
目录1、开发环境 idea+maven+spark 2、程序代码 3、集群提交1、开发环境 idea+maven+spark使用idea,创建maven工程,使用scala 编写程序,打包jar并运行在集群中2、程序代码package cn.learn.sparkimport org.apache.spark.{SparkConf, SparkContext}obj...原创 2019-01-20 22:21:09 · 305 阅读 · 0 评论 -
推荐系统基础知识
目录1、定义 2、分类 3、常用推荐算法 4、应用场景 5、实现步骤1、定义为了解决信息过载、用户无明确需求的问题,找到用户感兴趣的物品,才有了个性化推荐系统。2、分类按照目标用户划分:基于大众行为推荐,基于个性化推荐;按照数据源划分:基于人口统计学推荐,基于内容推荐,基于协同过滤推荐;按照推荐模型划分:基于关联规则推荐,基于机器学习模型推荐。3、常用推荐算法...原创 2019-01-13 21:11:25 · 513 阅读 · 0 评论