大数据技术之dolphinscheduler

江南独孤客 江南独孤客     2022-11-29     247

关键词:


架构设计​

1.1系统架构图​

大数据技术之DolphinScheduler_mysql


1.2启动流程图​

大数据技术之DolphinScheduler_java_02


1.3架构说明​

  1. MasterServerMasterServer采用分布式无中心设计理念,MasterServer主要负责 DAG 任务切分、任务提交监控,并同时监听其它MasterServer和WorkerServer的健康状态。 MasterServer服务启动时向Zookeeper注册临时节点,通过监听Zookeeper临时节点变化来进行容错处理。 MasterServer基于netty提供监听服务。
    该服务内主要包含:
    Distributed Quartz分布式调度组件,主要负责定时任务的启停操作,当quartz调起任务后,Master内部会有线程池具体负责处理任务的后续操作
    MasterSchedulerThread是一个扫描线程,定时扫描数据库中的 command 表,根据不同的命令类型进行不同的业务操作
    MasterExecThread主要是负责DAG任务切分、任务提交监控、各种不同命令类型的逻辑处
    MasterTaskExecThread主要负责任务的持久化
  2. WorkerServerWorkerServer也采用分布式无中心设计理念,WorkerServer主要负责任务的执行和提供日志服务。 WorkerServer服务启动时向Zookeeper注册临时节点,并维持心跳。 Server基于netty提供监听服务。Worker
    该服务包含:
    FetchTaskThread主要负责不断从Task Queue中领取任务,并根据不同任务类型调用TaskScheduleThread对应执行器。
    LoggerServer是一个RPC服务,提供日志分片查看、刷新和下载等功能
  3. ZooKeeperZooKeeper服务,系统中的MasterServer和WorkerServer节点都通过ZooKeeper来进行集群管理和容错。另外系统还基于ZooKeeper进行事件监听和分布式锁。 我们也曾经基于Redis实现过队列,不过我们希望DolphinScheduler依赖到的组件尽量地少,所以最后还是去掉了Redis实现。
  4. Task Queue提供任务队列的操作,目前队列也是基于Zookeeper来实现。由于队列中存的信息较少,不必担心队列里数据过多的情况,实际上我们压测过百万级数据存队列,对系统稳定性和性能没影响。
  5. Alert提供告警相关接口,接口主要包括告警两种类型的告警数据的存储、查询和通知功能。其中通知功能又有邮件通知和**SNMP(暂未实现)**两种。
  6. APIAPI接口层,主要负责处理前端UI层的请求。该服务统一提供RESTful api向外部提供请求服务。 接口包括工作流的创建、定义、查询、修改、发布、下线、手工启动、停止、暂停、恢复、从该节点开始执行等等。
  7. UI系统的前端页面,提供系统的各种可视化操作界面

1.4去中心化vs中心化​

中心化思想

中心化的设计理念比较简单,分布式集群中的节点按照角色分工,大体上分为两种角色:

Master的角色主要负责任务分发并监督Slave的健康状态,可以动态的将任务均衡到Slave上,以致Slave节点不至于“忙死”或”闲死”的状态。

Worker的角色主要负责任务的执行工作并维护和Master的心跳,以便Master可以分配任务给Slave。

中心化思想设计存在的问题:

一旦Master出现了问题,则群龙无首,整个集群就会崩溃。为了解决这个问题,大多数Master/Slave架构模式都采用了主备Master的设计方案,可以是热备或者冷备,也可以是自动切换或手动切换,而且越来越多的新系统都开始具备自动选举切换Master的能力,以提升系统的可用性。

另外一个问题是如果Scheduler在Master上,虽然可以支持一个DAG中不同的任务运行在不同的机器上,但是会产生Master的过负载。如果Scheduler在Slave上,则一个DAG中所有的任务都只能在某一台机器上进行作业提交,则并行任务比较多的时候,Slave的压力可能会比较大。

去中心化

在去中心化设计里,通常没有Master/Slave的概念,所有的角色都是一样的,地位是平等的,全球互联网就是一个典型的去中心化的分布式系统,联网的任意节点设备down机,都只会影响很小范围的功能。

去中心化设计的核心设计在于整个分布式系统中不存在一个区别于其他节点的”管理者”,因此不存在单点故障问题。但由于不存在” 管理者”节点所以每个节点都需要跟其他节点通信才得到必须要的机器信息,而分布式系统通信的不可靠性,则大大增加了上述功能的实现难度。

实际上,真正去中心化的分布式系统并不多见。反而动态中心化分布式系统正在不断涌出。在这种架构下,集群中的管理者是被动态选择出来的,而不是预置的,并且集群在发生故障的时候,集群的节点会自发的举行"会议"来选举新的"管理者"去主持工作。最典型的案例就是ZooKeeper及Go语言实现的Etcd。

DolphinScheduler的去中心化是Master/Worker注册到Zookeeper中,实现Master集群和Worker集群无中心,并使用Zookeeper分布式锁来选举其中的一台Master或Worker为“管理者”来执行任务。

第2章 集群部署​

2.1 基础软件安装​

  1. PostgreSQL (8.2.15+) or MySQL (5.7系列) : 两者任选其一即可
  2. JDK必装,请安装好后在/etc/profile下配置 JAVA_HOME 及 PATH 变量
  3. ZooKeeper (3.4.6+) :必装
  4. Hadoop (2.6+) or MinIO :选装,如果需要用到资源上传功能,可以选择上传到Hadoop or MinIO上

注意:DolphinScheduler本身不依赖Hadoop、Hive、Spark,仅是会调用他们的Client,用于对应任务的提交。

2.2安装部署​

2.2.1安装并配置​

  1. 下载安装包,并上传解压[root@hadoop103 module]# mkdir /opt/module/dolphinscheduler
    [root@hadoop103 module]# cd dolphinscheduler/
    [root@hadoop103 dolphinscheduler]# tar -zxvf apache-dolphinscheduler-incubating-1.3.3-dolphinscheduler-bin.tar.gz
    [root@hadoop103 dolphinscheduler]# mv apache-dolphinscheduler-incubating-1.3.3-dolphinscheduler-bin dolphinscheduler-bin
  2. 创建部署用户和hosts映射。分别给hadoop101,hadoop102,hadoop103三台机器创建dolphinscheduler用户。并且一定要配置sudo免密[root@hadoop101 ~]# useradd dolphinscheduler
    [root@hadoop101 ~]# echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
    Changing password for user dolphinscheduler.
    passwd: all authentication tokens updated successfully.
    [root@hadoop101 ~]# echo dolphinscheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL >> /etc/sudoers
    [root@hadoop101 ~]# sed -i s/Defaults requirett/#Defaults requirett/g /etc/sudoers

    [root@hadoop102 ~]# useradd dolphinscheduler
    [root@hadoop102 ~]# echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
    Changing password for user dolphinscheduler.
    passwd: all authentication tokens updated successfully.
    [root@hadoop102 ~]# echo dolphinscheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL >> /etc/sudoers
    [root@hadoop102 ~]# sed -i s/Defaults requirett/#Defaults requirett/g /etc/sudoers

    [root@hadoop103 ~]# useradd dolphinscheduler
    [root@hadoop103 ~]# echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
    Changing password for user dolphinscheduler.
    passwd: all authentication tokens updated successfully.
    [root@hadoop103 ~]# echo dolphinscheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL >> /etc/sudoers
    [root@hadoop103 ~]# sed -i s/Defaults requirett/#Defaults requirett/g /etc/sudoers
    (3)配置hosts映射,并配置ssh免密登录
  3. 大数据技术之DolphinScheduler_mysql_03

  4. [root@hadoop103 ~]$ su dolphinscheduler
    [dolphinscheduler@hadoop103 ~]$ ssh-keygen -t rsa -P -f ~/.ssh/id_rsa
    [dolphinscheduler@hadoop103 ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    [dolphinscheduler@hadoop103 ~]$ chmod 600 ~/.ssh/authorized_keys

    [root@hadoop103 module]# for ip in hadoop101 hadoop102;
    > do
    > ssh-copy-id $ip
    > done
    (4)数据库初始化,dolphinscheduler默认使用的数据库是PostgreSQL,可以选择MySQL,需要添加mysql-connector-java驱动包到dolphinscheduler的lib目录下。我这边使用MySQL5.6.24
    [root@hadoop103 software]# cp mysql-connector-java.jar /opt/module/dolphinscheduler/dolphinscheduler-bin/lib/
    MySQL安装在hadoop101,进入到数据库,创建dolphinscheduer所需数据库
    [root@hadoop101 ~]# mysql -uroot -p123456
    mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO dolphinscheduler@% IDENTIFIED BY 123456;
    mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO dolphinscheduler@localhost IDENTIFIED BY 123456;
    mysql> flush privileges;
  1. 创建表和导入基础数据

[root@hadoop103 module]# cd dolphinscheduler/dolphinscheduler-bin/

[root@hadoop103 dolphinscheduler-bin]# cd conf/

[root@hadoop103 conf]# vim datasource.properties

将postgresql的配置注释,并添加mysql地址

#spring.datasource.driver-class-name=org.postgresql.Driver

#spring.datasource.url=jdbc:postgresql://localhost:5432/dolphinscheduler

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.url=jdbc:mysql://hadoop101:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true

spring.datasource.username=dophinscheduler

spring.datasource.password=123456

导入脚本,导脚本之前确保配置了JAVA_HOME

[root@hadoop103 conf]# cd ..

[root@hadoop103 dolphinscheduler-bin]# sh script/create-dolphinscheduler.sh

2.2.2修改运行参数​

(1)修改dolphinscheduler_env.sh的环境变量,没有用到的可以注释或者忽略,JAVA_HOME和PATH是必须配置的。

[root@hadoop103 dolphinscheduler-bin]# vim conf/env/dolphinscheduler_env.sh

export HADOOP_HOME=/opt/module/hadoop-3.1.3

export HADOOP_CONF_DIR=/opt/module/hadoop-3.1.3/etc/hadoop

#export SPARK_HOME1=/opt/soft/spark1

export SPARK_HOME2=/opt/module/spark-3.0.0-bin-hadoop2.7

#export PYTHON_HOME=/opt/soft/python

export JAVA_HOME=/opt/module/jdk1.8.0_211

export HIVE_HOME=/opt/module/apache-hive-3.1.2-bin

#export FLINK_HOME=/opt/soft/flink

#export DATAX_HOME=/opt/soft/datax/bin/datax.py

export PATH=$HADOOP_HOME/bin:$SPARK_HOME1/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH:$FLINK_HOME/bin:$DATAX_HOME:$PATH

(2)将jdk软链到/usr/bin/java下

[root@hadoop103 dolphinscheduler-bin]# ln -s /opt/module/jdk1.8.0_211/bin/java /usr/bin/java

  1. 修改conf/config/install_config.conf各参数dbtype="mysql"
    dbhost="hadoop101:3306"
    username="dolphinscheduler"
    dbname="dolphinscheduler"
    password="123456"
    zkQuorum="hadoop101:2181,hadoop102:2181,hadoop103:2181"

    # ds安装目录 不同于/opt/module/dolphinscheduler
    installPath="/opt/module/ds"

    deployUser="dolphinscheduler"
    mailServerHost="smtp.qq.com"
    mailServerPort="25"

    # sender,配置了和mailUser一样就行
    mailSender="2473196869@qq.com"

    # user
    mailUser="2473196869@qq.com"

    #邮箱密码
    mailPassword="xxxxxx"

    #starttlsEnablesslEnable不能同时为true
    starttlsEnable="true"
    sslEnable="false"
    sslTrust="smtp.qq.com"

    resourceStorageType="HDFS"
    defaultFS="hdfs://mycluster"

    #resourcemanager HA对应的地址
    yarnHaIps="hadoop101,hadoop103"

    #因为使用了resourcemaanger Ha所以保持默认,如果是单resourcemanager配置对应ip
    singleYarnIp="yarnIp1"

    #资源上传根路径,支持hdfs和s3
    resourceUploadPath="/data/dolphinscheduler"

    hdfsRootUser="hdfs"

    #需要部署ds的机器
    ips="hadoop101,hadoop102,hadoop103"
    sshPort="22"

    #指定master
    masters="hadoop101"

    #指定workers,并且可以指定组名,default为默认组名
    workers="hadoop102:default,hadoop103:default"

    #报警服务器地址
    alertServer="hadoop102"

    #后台api服务器地址
    apiServers="hadoop101"
  2. 如果需要将资源上传到HDFS功能,并且开启了NAMENODE HA则需要将配置文件复制到/opt/module/dolphinscheduler/conf下。非NAMENODE HA则可以忽略

[root@hadoop103 dolphinscheduler-bin]# cp /opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml /opt/module/dolphinscheduler/dolphinscheduler-bin/conf/

[root@hadoop103 dolphinscheduler-bin]#/opt/module/dolphinscheduler/dolphinscheduler-bin/conf/

cp /opt/module/hadoop-3.1.3/etc/hadoop/hdfs-site.xml /opt/module/dolphinscheduler/dolphinscheduler-bin/conf/

2.2.3一键部署

  1. 切换用户,执行脚本[root@hadoop103 module]# chown -R dolphinscheduler:dolphinscheduler dolphinscheduler/
    [root@hadoop103 dolphinscheduler]# su dolphinscheduler
    [dolphinscheduler@hadoop103 dolphinscheduler]$ cd dolphinscheduler-bin/
    [dolphinscheduler@hadoop103 dolphinscheduler-bin]$ pwd
    /opt/module/dolphinscheduler/dolphinscheduler-bin
    (2)因为alert服务需要访问mysql,所以hadoop102上也需要mysql驱动包
    [root@hadoop101 mysql-connector-java-5.1.27]# scp mysql-connector-java-5.1.27-bin.jar hadoop102:/usr/share/java
    [root@hadoop102 java]# mv mysql-connector-java-5.1.27-bin.jar mysql-connector-java.jar

    (3)一键部署
    [root@hadoop103 dolphinscheduler-bin]# sh install.sh
  2. 脚本完成后,会启动一下5个服务MasterServer ----- master服务 WorkerServer ----- worker服务 LoggerServer ----- logger服务 ApiApplicationServer ----- api服务 AlertServer ----- alert服务
  3. 大数据技术之DolphinScheduler_java_04


  4. 大数据技术之DolphinScheduler_hadoop_05


  5. 大数据技术之DolphinScheduler_hadoop_06


  6. 根据配置文件访问http地址
  7. 大数据技术之DolphinScheduler_hadoop_07


  8. 大数据技术之DolphinScheduler_mysql_08


  9. 用户名和密码是admin/dolphinscheduler123

大数据技术之DolphinScheduler_hadoop_09


第3章 使用


3.1 快速上手


(1)创建队列

大数据技术之DolphinScheduler_hadoop_10


  1. 创建租户,创建租户前,确保hdfs / 目录下所属者都是hdfs,与ds配置文件保持一致。否则会创建失败
  2. 大数据技术之DolphinScheduler_mysql_11


  3. 大数据技术之DolphinScheduler_hadoop_12


  4. 大数据技术之DolphinScheduler_mysql_13


  5. 大数据技术之DolphinScheduler_mysql_14


  6. 创建普通用户
  7. 大数据技术之DolphinScheduler_mysql_15


  8. 大数据技术之DolphinScheduler_mysql_16


  9. 创建告警组
  10. 大数据技术之DolphinScheduler_java_17


  11. 大数据技术之DolphinScheduler_java_18


  12. 创建token令牌
  13. 大数据技术之DolphinScheduler_hadoop_19


  14. 大数据技术之DolphinScheduler_hadoop_20


  15. 退出账号,切换到test用户
  16. 大数据技术之DolphinScheduler_java_21


  17. 大数据技术之DolphinScheduler_java_22


  18. 大数据技术之DolphinScheduler_hadoop_23


  19. 创建项目
  20. 大数据技术之DolphinScheduler_java_24


  21. 大数据技术之DolphinScheduler_java_25


  22. 大数据技术之DolphinScheduler_java_26


  23. 创建工作流
  24. 大数据技术之DolphinScheduler_mysql_27


  25. 大数据技术之DolphinScheduler_java_28


  26. 大数据技术之DolphinScheduler_hadoop_29


  27. 大数据技术之DolphinScheduler_mysql_30


  28. 执行简单输出,输出hello world
  29. 大数据技术之DolphinScheduler_java_31


  30. 大数据技术之DolphinScheduler_java_32


  31. 大数据技术之DolphinScheduler_mysql_33


  32. 选中箭头,将节点进行连接
  33. 大数据技术之DolphinScheduler_java_34


  34. 大数据技术之DolphinScheduler_mysql_35


  35. 大数据技术之DolphinScheduler_mysql_36


  36. 测试,上线。
  37. 大数据技术之DolphinScheduler_mysql_37


  38. 大数据技术之DolphinScheduler_hadoop_38


  39. 大数据技术之DolphinScheduler_java_39


  40. 大数据技术之DolphinScheduler_java_40


  41. 查看是否成功和日志

大数据技术之DolphinScheduler_hadoop_41


大数据技术之DolphinScheduler_hadoop_42


大数据技术之DolphinScheduler_hadoop_43


大数据技术之DolphinScheduler_java_44


大数据技术之DolphinScheduler_java_45


大数据技术之DolphinScheduler_java_46


3.2 资源中心

(1)资源中心用于上传文件和udf函数,所有上传的文件和资源都会被存储到hdfs上(在安装是配置了相关参数)

大数据技术之DolphinScheduler_java_47


  1. 将jar包上传上去,用于后面测试
  2. 大数据技术之DolphinScheduler_hadoop_48

3.3 Spark节点

(1)创建hdfs(需要和hdf路径上的owner对应)租户

(2)创建用户

(3)切换用户,创建spark节点

上线测试

启动后查看日志,任务已运行

查看甘特图

三个任务已全部跑完

3.4 创建hive数据源

3.5 Sql节点

(1)测试sql节点,简单做个测试创建一张表并插入测试数据,再从这张表数据并行导入到第二张和第三张表。

(2)创建测试库

Create database testdb;

  1. 创建三张表CREATE TABLE `testa`(
    `id` int,
    `name` string);

    CREATE TABLE `testb`(
    `id` int,
    `name` string);
    CREATE TABLE `testc`(
    `id` int,
    `name` string);
    (4)配置sql节点
  2. 大数据技术之DolphinScheduler_mysql_49


  3. 大数据技术之DolphinScheduler_hadoop_50


  4. 大数据技术之DolphinScheduler_hadoop_51


  5. 大数据技术之DolphinScheduler_hadoop_52


  6. 大数据技术之DolphinScheduler_hadoop_53


  7. 大数据技术之DolphinScheduler_hadoop_54

    大数据技术之DolphinScheduler_hadoop_55

  8. 运行成功
  9. 大数据技术之DolphinScheduler_java_56


  10. 大数据技术之DolphinScheduler_mysql_57


  11. 注意,bug提示:当时我测试的hive是apache版3.1.2,该版hive存在bug,跑任务时会报一下错误,需要修复或替换hive版本。修复后的hive放在文件夹中
  12. 大数据技术之DolphinScheduler_hadoop_58


  13. 大数据技术之DolphinScheduler_mysql_59


  14. 大数据技术之DolphinScheduler_java_60

3.6 Datax节点

(1)因为在安装时没有配置datax路径,先停止ds集群。演示一个从hive数据导入到mysql的例子

[root@hadoop101 ds]# sh bin/stop-all.sh

(2)在worker节点102,103安装datax

[root@hadoop102 module]# wget datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

[root@hadoop102 module]# tar -zxvf datax.tar.gz

[root@hadoop102 module]# scp -r datax hadoop103:/opt/module/

(3)配置DolphinScheduler env下的dolphinscheduler_env.sh,设置datax路径

[root@hadoop101 ds]# vim conf/env/dolphinscheduler_env.sh

export DATAX_HOME=/opt/module/datax/bin/datax.py

[root@hadoop101 ds]# scp conf/env/dolphinscheduler_env.sh hadoop102:/opt/module/ds/conf/env/

[root@hadoop101 ds]# scp conf/env/dolphinscheduler_env.sh hadoop103:/opt/module/ds/conf/env/

  1. 重启ds,创建datax节点[root@hadoop101 ds]# sh bin/start-all.sh
  2. 大数据技术之DolphinScheduler_java_61


  3. 大数据技术之DolphinScheduler_java_62


  4. 由于默认数据源中不存在hive,所以开启自定义模板,放入对应json
  5. 大数据技术之DolphinScheduler_mysql_63


  6. json写完后,但是hdfs路径上存在分区目录,在实际情况导数据的时候分区肯定不能写死,需要传参,所以使用自定义参数
  7. 大数据技术之DolphinScheduler_java_64


  8. 大数据技术之DolphinScheduler_mysql_65


  9. 设置对应参数。启动任务
  10. 查看详情

    大数据任务调度工具apachedolphinscheduler

    文章目录大数据任务调度工具ApacheDolphinScheduler项目亮点DolphinScheduler简介调度系统选型为什么大数据要选择DolphinSchedulerDolphinScheduler的技术栈大数据任务调度工具ApacheDolphinScheduler项目亮点专门针对大数据平台国人开发支持单机、... 查看详情

    大数据技术之hadoop入门

    ?第1章大数据概论1.1大数据概念 大数据概念如图2-1所示。 图2-1大数据概念 1.2大数据特点(4V) 大数据特点如图2-2,2-3,2-4,2-5所示 图2-2大数据特点之大量 图2-3大数据特点之高速 图2-4大数据特点之多样 图2-5大数据... 查看详情

    花一分钟体验大数据任务调度系统-apachedolphinscheduler第一个官方docker镜像(代码片段)

    新一代大数据任务调度-ApacheDolphinScheduler(incubator)在近期发布了其第一个官方Docker镜像。下面就带大家来 快速试用DolphinScheduler官方推荐以docker-compose的方式启动,这种方式需要先安装docker-compose,docker-compose的安装网上已经有... 查看详情

    大数据技术之大数据概论

    大数据概论第1章大数据概念第2章大数据特点(4V)1、Volume(大量)2、Velocity(高速)3、Variety(多样)4、Value(低价值密度)第3章大数据应用场景第4章大数据发展前景第5章大数据部门间业... 查看详情

    大数据技术之大数据概论

    第1章大数据概念大数据(BigData):指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。大... 查看详情

    大数据技术之大数据概论

    一、大数据概念   大数据(bigdata),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的... 查看详情

    大数据分析之技术框架整理

    大数据离线部分HDFS1:HDFS的架构部分及工作原理NameNode:负责管理元素据,将信息保存在内存中DataNode:保存数据,以块的形式保存。启动后需要定时的向NameNode发送心跳,报告自身存储的块信息2:HDFS的上传过程3:HDFS的下载4:N... 查看详情

    大数据技术之数据采集篇

    【导读】数据采集是进行大数据分析的前提也是必要条件,在整个流程中占据重要地位。本文将介绍大数据三种采集形式:系统日志采集法、网络数据采集法以及其他数据采集法。(一)系统日志采集法系统日志是记录系统中硬... 查看详情

    大数据调度平台分类(oozie/azkaban/airflow/dolphinscheduler)

    参考技术A大数据调度系统,是整个离线批处理任务和准实时计算计算任务的驱动器。这里我把几个常见的调度系统做了一下分类总结,结合目前阿里云上的MaxCompute中的调度系统,做个对比。Oozie是一个workflow(工作流)协调系统,是... 查看详情

    大数据技术之linux(上)

    ...了JAVASE基础这座大山之后,终于能够学习我最爱的大数据技术啦!    第一天学习的是Linux知识,那么----                 它是什么& 查看详情

    大数据技术之dataxdatax之opentsdbwriter插件开发(代码片段)

    大家好,我是脚丫先生(o^^o)大数据项目之数据集成模块,按照项目需求需要集成时序数据库OpenTSDB。于是着手进行调研,https://github.com/alibaba/DataX发现关于该时序数据库的插件只有单一的读插件,而阿里自研的TSDB... 查看详情

    大数据技术之hadoop(mapreduce)

    ...e核心思想WordCount案例Hadoop序列化MapReduce框架原理InputFormat数据输入MapReduce定义MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。MapReduce核心功能是将用户编写的业务逻辑代码和... 查看详情

    一文带你了解大数据技术之hdfs

    大数据技术之Hadoop-HDFS概述1.HDFS产出背景及定义2.HDFS优缺点3.HDFS组成架构4.HDFS文件块大小1.HDFS产出背景及定义1)HDFS产生背景随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管... 查看详情

    大数据技术之hadoop(hdfs)

    第1章HDFS概述1.1HDFS产出背景及定义 1.2HDFS优缺点 1.3HDFS组成架构 1.4HDFS文件块大小(面试重点) 第2章HDFS的Shell操作(开发重点)1.基本语法 bin/hadoopfs具体命令ORbin/hdfsdfs具体命令dfs是fs的实现类。2.命令大全 [[em... 查看详情

    奇点云数据中台技术汇|datasimba系列之计算引擎篇

    随着移动互联网、云计算、物联网和大数据技术的广泛应用,现代社会已经迈入全新的大数据时代。数据的爆炸式增长以及价值的扩大化,将对企业未来的发展产生深远的影响,数据将成为企业的核心资产。如何处理大数据,挖... 查看详情

    建议收藏大数据技术之hadoop(生产调优手册)(代码片段)

    大数据技术之Hadoop(生产调优手册)1.HDFS—核心参数1.1NameNode内存生产配置1.2NameNode心跳并发配置1.3开启回收站配置2.HDFS—集群压测2.1测试HDFS写性能2.2测试HDFS读性能3.HDFS—多目录3.1NameNode多目录配置3.2DataNode多目录配置3.3... 查看详情

    大数据技术之hive(代码片段)

    ...质1.2Hive的优缺点1.2.1优点1.2.2缺点1.3Hive架构原理1.4Hive和数据库比较1.4.1查询语言1.4.2数据更新1.4.3执行延迟1.4.4数据规模第2章Hive常用命令第3章Hive数据类型3.1基本数据类型3.2类型转化第4章DDL数据定义4.1创建数据库4.2查询数据库4.2.... 查看详情