• [热门活动] HDC.Cloud2021 | 问卷抽奖,好礼不停!华为云FusionInsight MRS云原生数据湖精彩不断!
    HDC.Cloud2021        作为华为ICT基础设施业务面向全球开发者的年度盛会,华为开发者大会2021(Cloud)将于2021年4月24日-26日在深圳举行。本届大会以#每一个开发者都了不起#为主题,将汇聚业界大咖、华为科学家、顶级技术专家、天才少年和众多开发者,共同探讨和分享云、计算、人工智能等最新ICT技术在行业的深度创新和应用。智能时代,每一个开发者都在创造一往无前的奔腾时代。世界有你,了不起!华为云FusionInsight MRS云原生数据湖作为大数据行业的佼佼者,携最新硬核能力亮相。华为云FusionInsight MRS云原生数据湖一个架构实现三种数据湖:逻辑数据湖、实时数据湖、离线数据湖,助力政企客户实现一企一湖、一城一湖,业务洞见更准,价值兑现更快!逻辑数据湖:HetuEngine提供跨湖、跨仓、跨云统一访问,减少数据搬迁,数据高效流动,全域数据秒级协同分析秒级响应,业务上线效率提升10倍,由周级缩短至天级。实时数据湖:流处理 + Hudi实现数据更新入湖,从T+1到T+0; ClickHouse提供毫秒级实时OLAP分析能力;Flink提供FlinkSQL能力,批流SQL接口统一,实现流批一体。       离线数据湖:HetuEngine提供秒级交互式查询能力,数据不出湖,分析链路短,性能比Impala快30%+,分析提效10倍+;DLC提供统一的元数据,数据全局可视; HetuEngine提供湖内统一SQL接口:HDFS、Hive、HBase、ES等,简化用数。        在华为云FuisonInsight MRS云原生数据湖展台,您不仅能感受到数据湖前沿科技的魅力,更能参与问卷抽奖活动,精美好礼送不停!        问卷链接:   https://devcloud.huaweicloud.com/expert/open-assessment/qtn?id=86a27a8138c34a4eb63ce04b07e2fd0d 华为云FusionInsight MRS云原生数据湖宣传海报活动步骤通过活动指引中的链接或展台扫码二维码进入调查问卷页面;登录华为云账号进入问卷填写;填写问卷获取抽奖资格;问卷提交后进行抽奖;中奖者现场领取奖品并拍照留念。活动奖品        系统随机抽取幸运用户,获奖奖品有华为手环4及三合一数据线。注意事项        中奖兑换时间:2021年4月24日-2021年4月26日;        中奖兑换地点:深圳大学城(西丽)HDC展区,华为云FusionInsight展台。        请中奖者凭中奖记录截图在指定时间内到指定地点兑换奖品。        FusionInsight在4月26号的名师大讲堂中,        1.将由许田立在15:30宣讲“千级节点的大数据集群如何无业务中断升级?”        2.由武文博14:30宣讲“跨源、跨域场景下如何实现海量数据分钟级分析?”        如有兴趣可以点击预约问卷链接:  https://devcloud.huaweicloud.com/expert/open-assessment/qtn?id=86a27a8138c34a4eb63ce04b07e2fd0d 
  • [赋能学习] 基于FusionInsight HD的Hudi快速开始示例
    ## 背景说明 本文是参考开源Hudi的快速开始指导操作,链接为 https://hudi.apache.org/cn/docs/spark_quick-start-guide.html FusionInsight HD版本 8.1.0,下载链接 https://support.huawei.com/enterprise/zh/cloud-computing/mapreduce-service-pid-22396131/software/252491775?idAbsPath=fixnode01%7C22658044%7C22662728%7C22666212%7C22396131 集群安装模式:安全模式 必选安装服务:Spark2X 、Hive ## 操作步骤 1、集群安装(略) 2、集群客户端安装 参考产品文档,本示例中客户端默认安装到了/opt/client目录 3、创建安全认证用户 参考产品文档,例如用户名 developuser 密码 Haosuwei123 4、ssh登录客户端 (1)安全认证 ``` source /opt/client/bigdata_env echo Haosuwei123 | kinit developuser ``` (2)进入spark-shell 注意这里和开源指导文档不一样,这里将所有的依赖包通过--jars导入,各个jar包之间使用逗号隔开 ``` spark-shell --jars /opt/client/Hudi/hudi/lib/hudi-spark-common-0.7.0-hw-ei-310003.jar,/opt/client/Hudi/hudi/lib/hudi-spark2_2.11-0.7.0-hw-ei-310003.jar,/opt/client/Hudi/hudi/lib/hudi-client-common-0.7.0-hw-ei-310003.jar,/opt/client/Hudi/hudi/lib/hudi-common-0.7.0-hw-ei-310003.jar,/opt/client/Hudi/hudi/lib/hudi-spark-client-0.7.0-hw-ei-310003.jar,/opt/client/Hudi/hudi/lib/hudi-hive-sync-0.7.0-hw-ei-310003.jar,/opt/client/Hudi/hudi/lib/hudi-sync-common-0.7.0-hw-ei-310003.jar,/opt/client/Hudi/hudi/lib/hudi-spark_2.11-0.7.0-hw-ei-310003.jar,/opt/client/Hudi/hudi/lib/parquet-avro-1.12.0-hw-ei-1.0.jar,/opt/client/Hudi/hudi/lib/hudi-hadoop-mr-0.7.0-hw-ei-310003.jar --conf 'spark.serializer=org.apache.spark.serializer.KryoSerializer' ``` (3)从第三步开始所有命令在spark-shell中执行 ### Hudi样例 #### 准备 设置表名、基本路径和数据生成器来为本示例生成记录。 ``` import org.apache.hudi.QuickstartUtils._ import scala.collection.JavaConversions._ import org.apache.spark.sql.SaveMode._ import org.apache.hudi.DataSourceReadOptions._ import org.apache.hudi.DataSourceWriteOptions._ import org.apache.hudi.config.HoodieWriteConfig._ val tableName = "hudi_cow_table" val basePath = "hdfs:///tmp/hudi_cow_table" val dataGen = new DataGenerator ``` #### 插入数据 生成一些新的行程样本,将其加载到DataFrame中,然后将DataFrame写入Hudi数据集中,如下所示。 ``` val inserts = convertToStringList(dataGen.generateInserts(10)) val df = spark.read.json(spark.sparkContext.parallelize(inserts, 2)) df.write.format("org.apache.hudi"). options(getQuickstartWriteConfigs). option(PRECOMBINE_FIELD_OPT_KEY, "ts"). option(RECORDKEY_FIELD_OPT_KEY, "uuid"). option(PARTITIONPATH_FIELD_OPT_KEY, "partitionpath"). option(TABLE_NAME, tableName). mode(Overwrite). save(basePath); ``` #### 查询数据 将数据文件加载到DataFrame中,通过spark-sql查询 ``` val roViewDF = spark. read. format("org.apache.hudi"). load(basePath + "/*/*/*/*") roViewDF.registerTempTable("hudi_ro_table") spark.sql("select fare, begin_lon, begin_lat, ts from hudi_ro_table where fare > 20.0").show() spark.sql("select _hoodie_commit_time, _hoodie_record_key, _hoodie_partition_path, rider, driver, fare from hudi_ro_table").show() ``` 执行结果示例 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202104/21/162343i0nh46usabcrnjx0.png) #### 更新数据 这类似于插入新数据。使用数据生成器生成对现有行程的更新,加载到DataFrame中并将DataFrame写入hudi数据集。 ``` val updates = convertToStringList(dataGen.generateUpdates(10)) val df = spark.read.json(spark.sparkContext.parallelize(updates, 2)); df.write.format("org.apache.hudi"). options(getQuickstartWriteConfigs). option(PRECOMBINE_FIELD_OPT_KEY, "ts"). option(RECORDKEY_FIELD_OPT_KEY, "uuid"). option(PARTITIONPATH_FIELD_OPT_KEY, "partitionpath"). option(TABLE_NAME, tableName). mode(Append). save(basePath); ``` 注意,保存模式现在为追加。通常,除非您是第一次尝试创建数据集,否则请始终使用追加模式。 查询现在再次查询数据将显示更新的行程。每个写操作都会生成一个新的由时间戳表示的commit 。在之前提交的相同的_hoodie_record_key中寻找_hoodie_commit_time, rider, driver字段变更。 #### 增量查询 Hudi还提供了获取给定提交时间戳以来已更改的记录流的功能。 这可以通过使用Hudi的增量视图并提供所需更改的开始时间来实现。 如果我们需要给定提交之后的所有更改(这是常见的情况),则无需指定结束时间。 ``` spark. read. format("org.apache.hudi"). load(basePath + "/*/*/*/*"). createOrReplaceTempView("hudi_ro_table") val commits = spark.sql("select distinct(_hoodie_commit_time) as commitTime from hudi_ro_table order by commitTime").map(k => k.getString(0)).take(50) val beginTime = commits(commits.length - 2) // commit time we are interested in // 增量查询数据 val incViewDF = spark. read. format("org.apache.hudi"). option(VIEW_TYPE_OPT_KEY, VIEW_TYPE_INCREMENTAL_OPT_VAL). option(BEGIN_INSTANTTIME_OPT_KEY, beginTime). load(basePath); incViewDF.registerTempTable("hudi_incr_table") spark.sql("select `_hoodie_commit_time`, fare, begin_lon, begin_lat, ts from hudi_incr_table where fare > 20.0").show() ``` 结果示例 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202104/21/162651rejfwcp1jg46r4tc.png) #### 特定时间点查询 让我们看一下如何查询特定时间的数据。可以通过将结束时间指向特定的提交时间,将开始时间指向”000”(表示最早的提交时间)来表示特定时间。 ``` val beginTime = "000" // Represents all commits > this time. val endTime = commits(commits.length - 2) // commit time we are interested in // 增量查询数据 val incViewDF = spark.read.format("org.apache.hudi"). option(VIEW_TYPE_OPT_KEY, VIEW_TYPE_INCREMENTAL_OPT_VAL). option(BEGIN_INSTANTTIME_OPT_KEY, beginTime). option(END_INSTANTTIME_OPT_KEY, endTime). load(basePath); incViewDF.registerTempTable("hudi_incr_table") spark.sql("select `_hoodie_commit_time`, fare, begin_lon, begin_lat, ts from hudi_incr_table where fare > 20.0").show() ``` 结果示例 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202104/21/162752pl6qbvgzrkuycnxn.png) #### 删除数据 删除传入的 HoodieKeys 的记录。 ``` // 查询当前的记录 val roAfterDeleteViewDF = spark. read. format("hudi"). load(basePath + "/*/*/*/*") roAfterDeleteViewDF.registerTempTable("hudi_trips_snapshot") // 如下返回10条记录 spark.sql("select uuid, partitionpath from hudi_trips_snapshot").count() ``` ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202104/21/165040k3ujkko7hilabdlj.png) 选出2条数据删除后查询 ``` // 拿到两条将要删除的数据 val ds = spark.sql("select uuid, partitionpath from hudi_trips_snapshot").limit(2) // 执行删除 val deletes = dataGen.generateDeletes(ds.collectAsList()) val df = spark.read.json(spark.sparkContext.parallelize(deletes, 2)) df.write.format("hudi"). options(getQuickstartWriteConfigs). option(OPERATION_OPT_KEY,"delete"). option(PRECOMBINE_FIELD_OPT_KEY, "ts"). option(RECORDKEY_FIELD_OPT_KEY, "uuid"). option(PARTITIONPATH_FIELD_OPT_KEY, "partitionpath"). option(TABLE_NAME, tableName). mode(Append). save(basePath) // 像之前一样运行查询 val roAfterDeleteViewDF = spark. read. format("hudi"). load(basePath + "/*/*/*/*") roAfterDeleteViewDF.registerTempTable("hudi_trips_snapshot") // 应返回 (total - 2) 条记录 spark.sql("select uuid, partitionpath from hudi_trips_snapshot").count() ``` ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202104/21/165233jbqtfovhry1weq1f.png)
  • [基础组件] 【FusionInsight产品】【HDFS checkpoint同步】为什么使用HTTP
    请大佬答疑一下……active NameNode和standby NameNode在进行fsimage checkpoint同步的过程中为什么使用HTTP而不是RPC?
  • [基础组件] 使用FusionInsight Manager的Rest接口导出所有用户列表
    ## Manager简介 FusionInsight Manager是集群的运维管理系统,为部署在集群内的服务提供统一的集群管理能力。 Manager支持大规模集群的安装部署性能监控、告警、用户管理、权限管理、审计、服务管理、健康检查、日志采集等功能。 FusionInsight Manager Rest API需要受限通过HTTP基本认证(Basic Authentication)后才能使用 ## REST API REST API是访问Web服务器的一套API,REST API接口的执行方式是通过HTTP请求进行的,接收GET、PUT、POST、DELETE等请求并使用JSON数据进行响应。 HTTP请求的格式为:http://:/。 其中Process_IP是指进程所在服务器节点的IP地址,Process_Port是指进程的监听端口,Path为具体路径。 例如:http://10.162.181.57:32261/config ## 基本认证(Basic Authentication) 在HTTP中,基本认证是一种用来允许Web浏览器或其他客户端程序在请求时提供用户名和口令形式的身份凭证的一种登录验证方式。 在请求发送之前,以用户名追加一个冒号然后串接上口令,再将此字符串用Base64算法编码。 例如: 用户名是admin、口令是xxx,则拼接后的字符串就是admin:xxx,然后进行Base64编码,得到QWxhZGRpbjpvcGVuIHNlc2FtZQ==,最终将编码后的字符串发送出去,由接收者解码得到一个由冒号分隔的用户名和口令的字符串。 ## 场景说明 使用curl命令直接访问FusionInsight Manager的Rest接口,导出所有用户列表。 命令如下: ``` curl -k -i --basic -u : -c /tmp/jsessionid.txt 'https://x.x.x.x:28443/web/api/v2/permission/users?limit=10&offset=0&filter=&order=ASC&order_by=userName' ```
  • [环境搭建] Fusioninsight安装redis如何修改实例数
    【功能模块】集群安装redis服务【操作步骤&问题现象】1、安装redis服务的时候初始化实例个数比服务器的CPU核数多,导致安装失败,请问如何修改redis安装时的初始化实例个数2、集群版本为 FusionInsight 8.0.2【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [BI报表] PowerBI使用用户名密码方式对接FusionInsight HetuEngine
    前提条件:FusionInsight HD 集群安装完毕,集群状态健康已安装最新版本HetuEngine服务已在FusionInsight Hetu集群中创建“人机”用户Windows环境已安装PowerBI   说明:该方法仅适用于2021.3.30版本之后,3.30之前的版本不适用一、获取JDBC jar包  下载HetuEngine客户端。登录FusionInsight  Manager。选择“集群 > 待操作的集群名称 > 服务 > HetuEngine > 概览”。在页面右上角,选择“更多 > 下载客户端”,根据界面提示下载“完整客户端”文件到本地。解压HetuEngine客户端压缩包文件“FusionInsight_Cluster_集群ID_Services_Client.tar”获取jdbc文件,并存放在本地,例如D:\test   说明:jdbc文件在压缩包中的路径:FusionInsight_Cluster_集群ID_Services_Client \FusionInsight_Cluster_1_Services_ClientConfig\FusionInsight_Cluster_集群ID_Services_ClientConfig\HetuEngine\ presto-jdbc-316-hw-ei-*-SNAPSHOT二、PowerBI配置步骤1:采用ODBC登录方式访问HetuEngine,首先需要安装ODBC驱动程序。使用默认配置安装“hetu-odbc-win64.msi”驱动程序。下载地址:https://openlookeng.io/download.html。步骤2:配置数据源驱动执行以下命令停止自动启动的odbc服务。    cd C:\Program Files\openLooKeng\openLooKeng ODBC Driver 64-bit\odbc_gateway\mycat\bin    mycat.bat stop        2.替换jdbc驱动。    拷贝第一节中获取的jdbc jar包到“C:\Program Files\openLooKeng\openLooKeng ODBC Driver 64-bit\odbc_gateway\mycat\lib”目录下,并删除该目录下原始的“hetu-jdbc-1.0.1.jar”包。            3.编辑odbc的“server.xml”文件的协议前缀    将“C:\Program Files\openLooKeng\openLooKeng ODBC Driver 64-bit\odbc_gateway\mycat\conf”目录中的“server.xml”文件的属性值“<property name="jdbcUrlPrefix">jdbc:lk://</property>”修改为“<property name="jdbcUrlPrefix">jdbc:presto://</property>”    4.配置用户名/密码方式连接。    在自定义路径,如“C:\hetu”中新建“jdbc_param.properties”文件,添加如下内容:user=admintestpassword=admintest@123456    说明:    user:已创建的“人机”用户的用户名,如:admintest。    password:已创建的“人机”用户的用户密码,如:admintest@123456。    5.执行以下命令重启odbc服务    cd C:\Program Files\openLooKeng\openLooKeng ODBC Driver 64-bit\odbc_gateway\mycat\bin    mycat.bat restart    备注:每次修改配置时都需要停止odbc服务,修改完毕后再重启服务。步骤3:在window系统的控制面板中输入“odbc”搜索odbc的管理程序。步骤4:在应用程序中选择“添加 > openLookeng ODBC 1.1 Driver > 完成”步骤5:参考下图创建数据源名称和描述,单击“Next”步骤6:参考下图完成参数配置。 Connection URL:<HSBrokerIP1:port1>,<HSBrokerIP2:port2>,<HSBrokerIP3:port3>/hive/default?serviceDiscoveryMode=hsbroker;获取HSBroker节点及端口号:a.  登录FusionInsight Managerb.  选择“集群 -> 待操作的集群名称 –> 服务 -> HetuEngine –> 角色 -> HSBroker”获取HSBroker所有实例的业务IP选择“集群 -> 待操作的集群名称 –> 服务 -> HetuEngine -> 配置 -> 全部配置”,右侧搜索“server.port”,获取HSBroker的端口号样例:192.168.8.37:29860,192.168.8.38:29860, 192.168.8.39:29860/hive/default?serviceDiscoveryMode=hsbrokerConnection Config:选择步骤2准备好的“jdbc_param.properties”文件;User Name”是下载凭据的用户名称。步骤7:单击“Test DSN ”测试连接, 显示连接成功且“Catalog”和“Schema”中均有内容表示连接成功,单击“Next”。步骤8:单击“Finish”完成连接。步骤9:使用PowerBI对接,选择“获取数据 > 更多 > ODBC > 连接”。步骤10:选择步骤5中添加的数据源,单击“确定”完成数据源添加。步骤11:(可选)输入下载凭据用户的“用户名”及“密码”,单击“连接”。步骤12:连接成功后,显示所有表信息
  • [BI报表] 永洪BI使用用户名密码方式对接FusionInsight HetuEngine
    前提条件:FusionInsight HD 集群安装完毕,集群状态健康已安装最新版本HetuEngine服务已在FusionInsight Hetu集群中创建“人机”用户Windows环境已安装永洪BI   说明:该方法仅适用于2021.3.30版本之后,3.30之前的版本不适用一、获取JDBC jar包  下载HetuEngine客户端。登录FusionInsight  Manager。选择“集群 > 待操作的集群名称 > 服务 > HetuEngine > 概览”。在页面右上角,选择“更多 > 下载客户端”,根据界面提示下载“完整客户端”文件到本地。解压HetuEngine客户端压缩包文件“FusionInsight_Cluster_集群ID_Services_Client.tar”获取jdbc文件,并存放在本地,例如D:\test   说明:jdbc文件在压缩包中的路径:FusionInsight_Cluster_集群ID_Services_Client \FusionInsight_Cluster_1_Services_ClientConfig\FusionInsight_Cluster_集群ID_Services_ClientConfig\HetuEngine\ presto-jdbc-316-hw-ei-*-SNAPSHOT二、永洪BI配置步骤1:打开Yonghong Desktop,选择“添加数据源”->“presto”步骤2:在数据源配置页面参考下图完成参数配置,“用户名”和“密码”为已创建的“人机”用户的用户名和用户密码。配置完成后可以单击“测试连接”测试。驱动:选择“自定义 > 选择自定义驱动”,单击,编辑驱动名称,单击“上传文件”上传已获取的JDBC jar包,单击“确定”。URL格式:jdbc:presto://<HSBrokerIP1:port1>:<HSBrokerIP2:port2>:<HSBrokerIP3:port3>/hive/default?serviceDiscoveryMode=hsbroker获取HSBroker节点及端口号:a.  登录FusionInsight Managerb.  选择“集群 -> 待操作的集群名称 –> 服务 -> HetuEngine –> 角色 -> HSBroker”获取HSBroker所有实例的业务IPc.  选择“集群 -> 待操作的集群名称 –> 服务 -> HetuEngine -> 配置 -> 全部配置”,右侧搜索“server.port”,获取HSBroker的端口号样例:jdbc:presto:// 192.168.8.37:29860,192.168.8.38:29860, 192.168.8.39:29860/hive/default?serviceDiscoveryMode=hsbroker服务器登录:选择“用户名和密码”,并填写“人机”用户的用户名和密码。步骤3:单击“新建数据集”,在弹出的页面参考下图修改保存路径,单击“确定”保存路径,最后“测试连接”。步骤4:在数据源选择“hetu > hive > default > 视图”,在右侧“新建数据集”选择“SQL数据集”。步骤5:在“数据源”处选择步骤3新建的数据集,显示所有表信息,选中其中一个表,如“test”表,单击“刷新数据”,可在右侧“数据详情”中显示表的所有信息。
  • [BI报表] FineBI使用用户名密码方式对接FusionInsight HetuEngine
    前提条件:FusionInsight HD 集群安装完毕,集群状态健康已安装最新版本HetuEngine服务已在FusionInsight Hetu集群中创建“人机”用户Windows环境已安装FineBI   说明:该方法仅适用于2021.3.30版本之后,3.30之前的版本不适用一、获取JDBC jar包  下载HetuEngine客户端。登录FusionInsight  Manager。选择“集群 > 待操作的集群名称 > 服务 > HetuEngine > 概览”。在页面右上角,选择“更多 > 下载客户端”,根据界面提示下载“完整客户端”文件到本地。解压HetuEngine客户端压缩包文件“FusionInsight_Cluster_集群ID_Services_Client.tar”获取jdbc文件,并存放在本地,例如D:\test   说明:jdbc文件在压缩包中的路径:FusionInsight_Cluster_集群ID_Services_Client \FusionInsight_Cluster_1_Services_ClientConfig\FusionInsight_Cluster_集群ID_Services_ClientConfig\HetuEngine\ presto-jdbc-316-hw-ei-*-SNAPSHOT二、FineBI配置步骤1:将获取的jar包放在目录“%FineBI%\webapps\webroot\WEB-INF\lib”,重启 FineBI。步骤2:打开FineBI,参考下图新建连接。步骤3:参考下表配置连接参数。配置完成后单击“测试连接”,或在“模式”单击“点击连接数据库”,可以测试数据连接。参数名参数值数据连接名称自定义驱动io.prestosql.jdbc.PrestoDriver数据库名称hive/default?serviceDiscoveryMode=hsbroker主机hsbroker实例所在节点ip端口Hsbroker服务端口用户名已创建的“人机”用户的用户名,如:admintest密码已创建的“人机”用户的用户密码,如:admintest@##65331853编码自动数据库连接URLjdbc:presto://10.171.221.106:29860/hive/default?   serviceDiscoveryMode=hsbroker配置结束后,样例如下:步骤4:参考下图配置数据库表。步骤5:设置需要用于做分析的表单击“数据连接”:选择数据库:数据预览:步骤6:点击“更新信息”中的“单表更新”,进行数据同步。步骤7:单击“仪表板”,单击“新建仪表板”步骤8:单击“添加组件”步骤9:添加步骤5配置的需要用于分析的数据表。步骤10:将“name”拖入“维度”,将“age”拖入“指标”,即可分析年龄的平均值。步骤11:如果需要用图显示,则可在“图表类型”中选择相应的图,样例中选择的是“柱状图”。
  • [生态对接] DBeaver使用用户名密码方式对接FusionInsight HetuEngine
    前提条件:FusionInsight HD 集群安装完毕,集群状态健康已安装最新版本HetuEngine服务已在FusionInsight Hetu集群中创建“人机”用户Windows环境已安装DBeaver   说明:该方法仅适用于2021.3.30版本之后,3.30之前的版本不适用一、获取JDBC jar包  下载HetuEngine客户端。登录FusionInsight  Manager。选择“集群 > 待操作的集群名称 > 服务 > HetuEngine > 概览”。在页面右上角,选择“更多 > 下载客户端”,根据界面提示下载“完整客户端”文件到本地。解压HetuEngine客户端压缩包文件“FusionInsight_Cluster_集群ID_Services_Client.tar”获取jdbc文件,并存放在本地,例如D:\test   说明:jdbc文件在压缩包中的路径:FusionInsight_Cluster_集群ID_Services_Client \FusionInsight_Cluster_1_Services_ClientConfig\FusionInsight_Cluster_集群ID_Services_ClientConfig\HetuEngine\ presto-jdbc-316-hw-ei-*-SNAPSHOT二、DBeaver配置步骤1:打开DBeaver,点击“数据库 -> 新建连接”,搜索“PrestoSQL”并打开步骤2:单击“编辑驱动设置”步骤3:在“类名”中设置“io.prestosql.jdbc.PrestoDriver”步骤4:在“URL模板”中输入HetuEngine的URLURL格式:jdbc:presto://<HSBrokerIP1:port1>:<HSBrokerIP2:port2>:<HSBrokerIP3:port3>/hive/default?serviceDiscoveryMode=hsbroker步骤5:单击“添加文件”,选择第一节中获取的JDBC驱动包步骤6:单击“找到类”,自动获取驱动类,单击“确定”步骤7:输入用户名/密码,单击“测试连接”,连接成功后,单击“确定”->“完成”连接成功展示:
  • [BI报表] Tableau使用用户名密码方式对接FusionInsight HetuEngine
    前提条件:FusionInsight HD 集群安装完毕,集群状态健康已安装最新版本HetuEngine服务已在FusionInsight Hetu集群中创建“人机”用户windows环境已安装Tableau   说明:该方法仅适用于2021.3.30版本之后,3.30之前的版本不适用一、获取JDBC jar包  下载HetuEngine客户端。登录FusionInsight  Manager。选择“集群 > 待操作的集群名称 > 服务 > HetuEngine > 概览”。在页面右上角,选择“更多 > 下载客户端”,根据界面提示下载“完整客户端”文件到本地。解压HetuEngine客户端压缩包文件“FusionInsight_Cluster_集群ID_Services_Client.tar”获取jdbc文件,并存放在本地,例如D:\test   说明:jdbc文件在压缩包中的路径:FusionInsight_Cluster_集群ID_Services_Client \FusionInsight_Cluster_1_Services_ClientConfig\FusionInsight_Cluster_集群ID_Services_ClientConfig\HetuEngine\ presto-jdbc-316-hw-ei-*-SNAPSHOT二、Tableau配置步骤1:将驱动包放在tableau安装目录C:\Program Files\Tableau\Drivers下步骤2:打开Tableau,选择其他数据库(JDBC),输入URL,用户名及密码,点击“登录”URL格式:jdbc:presto://<HSBrokerIP1:port1>:<HSBrokerIP2:port2>:<HSBrokerIP3:port3>/hive/default?serviceDiscoveryMode=hsbroker获取HSBroker节点及端口号:a.       登录FusionInsight Managerb.       选择“集群 -> 待操作的集群名称 –> 服务 -> HetuEngine –> 角色 -> HSBroker”获取HSBroker所有实例的业务IPc.       选择“集群 -> 待操作的集群名称 –> 服务 -> HetuEngine -> 配置 -> 全部配置”,右侧搜索“server.port”,获取HSBroker的端口号备注:可选择一个或多个正常的broker连接。样例:jdbc:presto:// 192.168.8.37:29860,192.168.8.38:29860, 192.168.8.39:29860/hive/default?serviceDiscoveryMode=hsbroker用户名:在FusionInsight Hetu集群中创建的“人机”用户的用户名密码:在FusionInsight Hetu集群中创建“人机”用户时所设置的密码备注:如果连接错误,请尝试关闭代理。步骤3:将要操作的数据表拖到右边操作窗口,单击“立即更新”刷新数据,数据显示如下图所示。
  • [赋能学习] FusionInsight Kafka节点退服后未完全同步分区迁移方案
    一、          收集Kafka实例和分区信息1.       执行kafka-broker-info.sh --zookeeper zk业务IP:24002/kafka 命令获取Kafka实例信息2.       执行kafka-topics.sh --describe --zookeeper zk业务IP:24002/kafka --unavailable-partitions 命令获取Kafka未同步分区3.       对比Replicas和ISR列表中的信息,确定哪些节点的分区未同步,确定未同步的节点正常与否。例如,如下案例中,对比Replicas和ISR列表中的信息发现3节点没有同步,而正常的kafka实例中没有3。   二、          准备迁移方案根据步骤一中的未完全同步的分区即需要迁移的分区,把需要迁移的所有分区写入一个新的json文件,文件中replicas中的信息需要根据步骤一中第2步查询结果中的Replicas把退服节点的brokerid改为正常节点的brokerid(即步骤一中第1步查询到的brokerid),其他不变,格式如下所示:{"version":1,"partitions":[{"topic":"test1","partition":0"replicas":[1,2]},{"topic":"test1","partition":1"replicas":[1,2]},{"topic":"test1","partition":5,"replicas":[2,1]},{"topic":"test1","partition":3,"replicas":[2,1]}]}如果涉及的分区比较多,也可按如下方式生成迁移的json文件。1.       根据步骤一中未完全同步的分区中的topic信息编写迁移topic的json文件,例如json文件名为generate.json,格式如下:{"topics":[{"topic": "test1"},{"topic": "test2"}], "version":1}2.       执行命令kafka-reassign-partitions.sh --zookeeper zk业务IP:24002/kafka --topics-to-move-json-file generate.json文件路径  --broker-list 1,2 --generate 生成迁移方案,其中,broker-list中对应参数是所有正常的broker实例的id,即步骤一中1获取的所有brokerid,不同brokerid间用逗号隔开。3.       把上一步得到的“Proposed partition reassignment configuration”的json文件写入迁移的json文件中,例如move.json,此json文件中只保留需要迁移的topic和partition的信息。如下图所示,红色方框内即迁移的json文件信息。三、          执行迁移执行kafka-reassign-partitions.sh --zookeeper zk业务IP:24002/kafka  --reassignment-json-file move.json文件路径 --execute 执行迁移四、          查看迁移进度执行kafka-reassign-partitions.sh --zookeeper zk业务IP:24002/kafka  --reassignment-json-file move.json文件路径 --verify 查看迁移进度,当所有partition都提示completed successfully时说明迁移完成。五、          查看是否所有分区都同步执行kafka-topics.sh --describe --zookeeper zk业务IP:24002/kafka --unavailable-partitions 命令获取Kafka未同步分区,如果结果为空,说明所有分区都同步,操作完成;如果有leader为-1,按步骤六执行。六、          Leader为-1的解决办法1.      Kafka配置中查看unclean.leader.election.enable配置,如果配置为true,只执行下面步骤2即可;如果配置为false,执行下面步骤3、4、5。2.      切controller:进zookeeper客户端,执行 zkCli.sh -server zk业务IP:24002/kafka进入zk,执行deleteall /controller 切controller。3.      Kafka客户端修改参数配置:kafka-topics.sh --alter --topic topicName --zookeeper zk业务IP:24002/kafka --config unclean.leader.election.enable=true,其中,topicName是leader为-1的topic。4.      按步骤2切controller。5.      查看leader为-1的分区leader是否正常,正常后在kafka客户端执行kafka-topics.sh --alter --topic topicName --zookeeper 100.112.22.233:24002/kafka --delete-config unclean.leader.election.enable。
  • [问题求助] 【FusionInsight产品】【FI web Cas 认证功能】CASLogin 连接C70集群通过,连接651集群报错
    【功能模块】【操作步骤&问题现象】1、配置userName,password,casUrl,WebUrl2、通过CASLogin 完成登录认证3、连接C70 集群成功,连接651集群失败【截图信息】【日志信息】(可选,上传日志内容或者附件)失败信息:com.huawei.om.rest.exception.LoginCasServerException:webLoginCheck failed
  • [运维管理] FusionInsight Manager能监控数据仓库集群资源情况吗
    【功能模块】请问FusionInsight Manager能监控数据仓库(DWS)集群资源情况吗【操作步骤&问题现象】1、我想监控GaussDWS集群资源的使用情况,请问FusionInsight Manager能做到吗2、该如何安装使用FusionInsight Manager呢?【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [技术干货] TaiShan FusionInsight大数据解决方案
  • [赋能学习] FusionInsight Kafka节点退服后未完全同步分区迁移方案
    一、          收集Kafka实例和分区信息1.       执行kafka-broker-info.sh --zookeeper zk业务IP:24002/kafka 命令获取Kafka实例信息2.       执行kafka-topics.sh --describe --zookeeper zk业务IP:24002/kafka --unavailable-partitions 命令获取Kafka未同步分区3.       对比Replicas和ISR列表中的信息,确定哪些节点的分区未同步,确定未同步的节点正常与否。例如,如下案例中,对比Replicas和ISR列表中的信息发现3节点没有同步,而正常的kafka实例中没有3。                      二、          准备迁移方案根据步骤一中的未完全同步的分区即需要迁移的分区,把需要迁移的所有分区写入一个新的json文件,文件中replicas中的信息需要根据步骤一中第2步查询结果中的Replicas把退服节点的brokerid改为正常节点的brokerid(即步骤一中第1步查询到的brokerid),其他不变,格式如下所示:{"version":1,"partitions":[{"topic":"test1","partition":0"replicas":[1,2]},{"topic":"test1","partition":1"replicas":[1,2]},{"topic":"test1","partition":5,"replicas":[2,1]},{"topic":"test1","partition":3,"replicas":[2,1]}]}如果涉及的分区比较多,也可按如下方式生成迁移的json文件。1.       根据步骤一中未完全同步的分区中的topic信息编写迁移topic的json文件,例如json文件名为generate.json,格式如下:{"topics":[{"topic": "test1"},{"topic": "test2"}], "version":1}2.       执行命令kafka-reassign-partitions.sh --zookeeper zk业务IP:24002/kafka --topics-to-move-json-file generate.json文件路径  --broker-list 1,2 --generate 生成迁移方案,其中,broker-list中对应参数是所有正常的broker实例的id,即步骤一中1获取的所有brokerid,不同brokerid间用逗号隔开。3.       把上一步得到的“Proposed partition reassignment configuration”的json文件写入迁移的json文件中,例如move.json,此json文件中只保留需要迁移的topic和partition的信息。如下图所示,红色方框内即迁移的json文件信息。三、          执行迁移执行kafka-reassign-partitions.sh --zookeeper zk业务IP:24002/kafka  --reassignment-json-file move.json文件路径 --execute 执行迁移四、          查看迁移进度执行kafka-reassign-partitions.sh --zookeeper zk业务IP:24002/kafka  --reassignment-json-file move.json文件路径 --verify 查看迁移进度,当所有partition都提示completed successfully时说明迁移完成。五、          查看是否所有分区都同步执行kafka-topics.sh --describe --zookeeper zk业务IP:24002/kafka --unavailable-partitions 命令获取Kafka未同步分区,如果结果为空,说明所有分区都同步,操作完成;如果有leader为-1,按步骤六执行。六、          Leader为-1的解决办法1.      Kafka配置中查看unclean.leader.election.enable配置,如果配置为true,只执行下面步骤2即可;如果配置为false,执行下面步骤3、4、5。2.      切controller:进zookeeper客户端,执行 zkCli.sh -server zk业务IP:24002/kafka进入zk,执行deleteall /controller 切controller。3.      Kafka客户端修改参数配置:kafka-topics.sh --alter --topic topicName --zookeeper zk业务IP:24002/kafka --config unclean.leader.election.enable=true,其中,topicName是leader为-1的topic。4.      按步骤2切controller。5.      查看leader为-1的分区leader是否正常,正常后在kafka客户端执行kafka-topics.sh --alter --topic topicName --zookeeper 100.112.22.233:24002/kafka --delete-config unclean.leader.election.enable。
总条数:198 到第
上滑加载中