• [其他] 分享MRS和自建Hadoop相比优势(1)
    大数据时代企业要发展就必须进行数字化转型,要完成转型,企业需要利用大数据技术打破现有数据孤岛,构建数据分析和运营能力,才能达到降本增效。企业构建大数据平台时会面临如下两种选择:一种是大量购买机器及Hadoop发行商版本,本地自建Hadoop大数据集群;一种是按企业自身的需求,购买公有云大数据云服务构建自己的云上大数据平台。企业该如何选择呢?云小课为您解读华为云大数据云服务MRS相比自建Hadoop集群的优势,帮助您更好的进行选择。MapReduce服务(MRS)提供租户完全可控的企业级大数据集群云服务,轻松运行Hadoop、Spark、HBase、Kafka、Storm等大数据组件,用户无需关注硬件的购买和维护。MRS服务拥有强大的Hadoop内核团队,基于华为FusionInsight大数据企业级平台构筑,历经行业数万节点部署量的考验,提供多级用户SLA保障。与自建Hadoop集群相比,MRS还具有以下优势:MRS支持一键式创建、删除、扩缩容集群,并通过弹性公网IP便携访问MRS集群管理系统,让大数据集群更加易于使用。用户自建大数据集群面临成本高、周期长、运维难和不灵活等问题。针对这些问题,MRS支持一键式创建、删除、扩容和缩容集群的能力,用户可以自定制集群的类型,组件范围,各类型的节点数、虚拟机规格、可用区、VPC网络、认证信息,MRS将为用户自动创建一个符合配置的集群,全程无需用户参与。同时支持用户快速创建多应用场景集群,比如快速创建Hadoop分析集群、HBase集群、Kafka集群。MRS支持部署异构集群,在集群中存在不同规格的虚拟机,允许在CPU类型,硬盘容量,硬盘类型,内存大小灵活组合。MRS提供了基于弹性公网IP来便捷访问组件WebUI的安全通道,并且比用户自己绑定弹性公网IP更便捷,只需界面鼠标操作,即可简化原先用户需要自己登录虚拟私有云添加安全组规则,获取公网IP等步骤,减少了用户操作步骤。MRS提供了自定义引导操作,用户可以以此为入口灵活配置自己的集群,通过引导操作用户可以自动化地完成安装MRS还没支持的第三方软件,修改集群运行环境等自定义操作。MRS支持WrapperFS特性,提供OBS的翻译能力,兼容HDFS到OBS的平滑迁移,解决客户将HDFS中的数据迁移到OBS后,即可实现客户端无需修改自己的业务代码逻辑的情况下,访问存储到OBS的数据。MRS支持自动弹性伸缩,相对自建Hadoop集群的使用成本更低。MRS可以按业务峰谷,自动弹性伸缩,在业务繁忙时申请额外资源,业务不繁忙时释放闲置资源,让用户按需使用,帮助用户节省大数据平台闲时资源,尽可能的帮助用户降低使用成本,聚焦核心业务。在大数据应用,尤其是周期性的数据分析处理场景中,需要根据业务数据的周期变化,动态调整集群计算资源以满足业务需要。MRS的弹性伸缩规则功能支持根据集群负载对集群进行弹性伸缩。此外,如果数据量为周期有规律的变化,并且希望在数据量变化前提前完成集群的扩缩容,可以使用MRS的资源计划特性。MRS服务支持规则和时间计划两种弹性伸缩的策略:弹性伸缩规则:根据集群实时负载对Task节点数量进行调整,数据量变化后触发扩缩容,有一定的延后性。资源计划:若数据量变化存在周期性规律,则可通过资源计划在数据量变化前提前完成集群的扩缩容,避免出现增加或减少资源的延后。弹性伸缩规则与资源计划均可触发弹性伸缩,两者即可同时配置也可单独配置。资源计划与基于负载的弹性伸缩规则叠加使用可以使得集群节点的弹性更好,足以应对偶尔超出预期的数据峰值出现。MRS支持存算分离,大幅提升大数据集群资源利用率。针对传统存算一体大数据架构中扩容困难、资源利用率低等问题,MRS采用计算存储分离架构,存储基于公有云对象存储实现11个9的高可靠,无限容量,支撑企业数据量持续增长;计算资源支持0~N弹性扩缩,百节点快速发放。存算分离后,计算节点可实现真正的极致弹性伸缩;数据存储部分基于OBS的跨AZ等能力实现更高可靠性,无需担心地震、挖断光纤等突发事件。存储和计算资源可以灵活配置,根据业务需要各自独立进行弹性扩展,可使资源匹配更精准、更合理,让大数据集群资源利用率大幅提升,综合分析成本降低50%。同时通过高性能的计算存储分离架构,打破存算一体架构并行计算的限制,最大化发挥对象存储的高带宽、高并发的特点,对数据访问效率和并行计算深度优化(元数据操作、写入算法优化等),实现性能提升。MRS支持自研CarbonData和自研超级调度器Superior Scheduler,性能更优。MRS支持自研的CarbonData存储技术。CarbonData是一种高性能大数据存储方案,以一份数据同时支持多种应用场景,并通过多级索引、字典编码、预聚合、动态Partition、准实时数据查询等特性提升了IO扫描和计算性能,实现万亿数据分析秒级响应。MRS支持自研超级调度器Superior Scheduler,突破单集群规模瓶颈,单集群调度能力超10000节点。Superior Scheduler是一个专门为Hadoop YARN分布式资源管理系统设计的调度引擎,是针对企业客户融合资源池,多租户的业务诉求而设计的高性能企业级调度器。Superior Scheduler可实现开源调度器、Fair Scheduler以及Capacity Scheduler的所有功能。另外,相较于开源调度器,Superior Scheduler在企业级多租户调度策略、租户内多用户资源隔离和共享、调度性能、系统资源利用率和支持大集群扩展性方面都做了针对性的增强,让Superior Scheduler直接替代开源调度器。MRS基于鲲鹏处理器进行软硬件垂直优化,充分释放硬件算力,实现高性价比。MRS支持华为自研鲲鹏服务器,充分利用鲲鹏多核高并发能力,提供芯片级的全栈自主优化能力,使用华为自研的操作系统EulerOS、华为JDK及数据加速层,充分释放硬件算力,为大数据计算提供高算力输出。在性能相当情况下,端到端的大数据解决方案成本下降30%。转自,【云小课】EI第1课 MRS和自建Hadoop相比,有哪些优势?-云社区-华为云 (huaweicloud.com)
  • [问题求助] 【鲲鹏Taishan 200 2280产品】【Hadoop Apache】按照指导书部署Hadoop,livenode显示为0
    【功能模块】 鲲鹏BoostKit大数据使能套件 > 部署指南(Apache)> Hadoop集群 部署指南(CentOS 7.6)【操作步骤&问题现象】1、按照此指导书,部署了ZooKeeper后,再部署Hadoop4个节点hadoop01、hadoop02、hadoop03、hadoop04hadoop02、hadoop03、hadoop04部署了ZooKeeper。hadoop01作为server节点。【截图信息】无【日志信息】(可选,上传日志内容或者附件)无日志,通过jps获取节点状态如下:[root@hadoop01 sbin]# jps7600 SecondaryNameNode8289 Jps6710 NameNode7895 ResourceManager[root@hadoop02 sbin]# jps7283 NodeManager7412 Jps7174 DataNode7050 JournalNode6671 QuorumPeerMain[root@hadoop03 sbin]# jps7040 DataNode6915 JournalNode6570 QuorumPeerMain7149 NodeManager7293 Jps[root@hadoop04 sbin]# jps6689 QuorumPeerMain6997 JournalNode7240 NodeManager7384 Jps7131 DataNode但通过网页查看hadoop是否部署成功时,网页显示如下:Configured Capacity:0 BConfigured Remote Capacity:0 BDFS Used:0 B (100%)Non DFS Used:0 BDFS Remaining:0 B (0%)Block Pool Used:0 B (100%)DataNodes usages% (Min/Median/Max/stdDev):0.00% / 0.00% / 0.00% / 0.00%Live Nodes0 (Decommissioned: 0, In Maintenance: 0)Dead Nodes0 (Decommissioned: 0, In Maintenance: 0)Decommissioning Nodes0Entering Maintenance Nodes0Total Datanode Volume Failures0 (0 B)Number of Under-Replicated Blocks0Number of Blocks Pending Deletion0Block Deletion Start TimeWed Jun 23 10:58:16 +0800 2021Last Checkpoint TimeWed Jun 23 10:59:23 +0800 2021
  • [运维管理] FI651 hdfs目录权限问题
    用户A 有 用户B的HDFS目录的读权限,A用户使用hdfs dfs -count -v -q -h查看B用户HDFS目文件数,报没有权限,如下图:用户查看自身的hdfs目录文件没问题,admin用户查看A和B都可以请问一个用户去查另一个用户的hdfs目录文件数是有上面特殊的设置么?
  • [教程] 大数据存算分离解决方案之---logstash+OBSA-HDFS+并行文件桶的配置方法
    概述Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到“存储库”中。具体请参见:https://www.elastic.co/cn/logstashOBS是华为云的对象存储服务,OBS支持S3对象存储协议,Logstash内置了和s3进行交互的输入和输出插件,所以可以借助其S3插件完成和obs的对接,本文用于描述Logstash如何对接使用OBS。OBS服务有对象桶和并行文件桶两种选择,在大数据场景下建议选择并行文件桶。操作步骤以logstash-7.10.2为例1. 下载和安装logstash(1)https://www.elastic.co/cn/downloads/past-releases/logstash-7-10-2(2)tar zxvf logstash-6.4.2.tar.gz2. 示例以file为源端,以obs为目的端(1)创建配置文件file2obs.confinput {file {path => "/usr/local/nginx/logs/access.log"start_position => "beginning"}}output {s3 {endpoint => "obs endpoint"bucket => "obs桶名"access_key_id => "ak"secret_access_key => "sk"size_file => 1048576time_file => 1prefix => "test/logtest/"enable_metric => true}}重要参数说明:endpoint:obs的endpointaccess_key_id:具备访问obs权限的aksecret_access_key:具备访问obs权限的skbucket:obs的桶名称size_file:表示多少byte滚动文件保存time_file:表示多少分钟滚动文件保存prefix:指定文件存储的目录,例如”weili/logtest/”,此时文件会写入到桶的weili/logtest/目录下(注意路径不要以/开头)更多详情参见:https://www.elastic.co/guide/en/logstash/7.x/plugins-outputs-s3.html(2)运行logstashbin/logstash -f ../conf/file2obs.conf注意事项避免使用较老版本的logstash,请使用较新版本的logstash,例如>=7.10.2。
  • [教程] 大数据存算分离解决方案之---DataX+OBSA-HDFS+并行文件桶的配置方法
    概述DataX是一个数据同步框架,实现了包括 MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。具体请参见:https://github.com/alibaba/DataX/OBS是华为云的对象存储服务,OBS支持S3对象存储协议,同时也支持HDFS协议,在大数据场景中可以替代hadoop系统中的HDFS服务,本文用于描述DataX如何对接使用OBS。OBS服务有对象桶和并行文件桶两种选择,在大数据场景下建议选择并行文件桶。操作步骤1. 下载datax源码https://github.com/alibaba/DataX.git2. 修改datax源码(1)升级hdfsreader和hdfswrite模块依赖的hadoop版本:因为OBS不再支持hadoop2.8以下的版本修改datax\hdfswriter\pom.xml和datax\hdfsreader\pom.xml文件<properties><!--由2.7.1升级到2.8.3--><hadoop.version>2.8.3</hadoop.version></properties>3. 编译打包安装datax(1)进入datax源码根目录执行如下maven命令:mvn -U clean package assembly:assembly -Dmaven.test.skip=true在datax源码根目录/target目录下生成datax.tar.gz压缩文件(2)解压datax.tar.gz4. 添加hadoop-huaweicloud-xxx.jar包(1)下载对应版本的jar包:https://github.com/huaweicloud/obsa-hdfs/tree/master/release(2) 将上述jar包放入:datax根目录\plugin\writer\hdfswriter\libs和datax根目录\plugin\reader\hdfsreader\libs5. 示例以txtfilereader为源端,以obs为目的端:(1)创建作业配置文件file2obs.json{"setting": {},"job": {"setting": {"speed": {"channel": 2}},"content": [{"reader": {"name": "txtfilereader","parameter": {"path": ["/root/datax/bin/obstest.txt"],"encoding": "UTF-8","column": [{"index": 0,"type": "STRING"},{"index": 1,"type": "STRING"}],"fieldDelimiter": "\t"}},"writer": {"name": "hdfswriter","parameter": {"defaultFS": "obs://moguauthtest",##obs桶"fileType": "text","path": "/wgptesttable",##obs桶中的路径"fileName": "test","column": [{"name": "col1","type": "STRING"},{"name": "col2","type": "STRING"}],"writeMode": "append","fieldDelimiter": "\t","hadoopConfig": {##此部分hadoop配置必须添加"fs.obs.impl": "org.apache.hadoop.fs.obs.OBSFileSystem","fs.obs.access.key": "可访问OBS的ak","fs.obs.secret.key": "可访问OBS的sk","fs.obs.endpoint": "OBS桶所在region"}}}}]}}(2)启动DataXpython datax根目录/bin/datax.py file2obs.json注意事项1.OBS服务有对象桶和并行文件桶两种选择,目前datax暂时仅支持对接OBS并行文件桶
  • [教程] 大数据存算分离解决方案之---Flume+OBSA-HDFS+并行文件桶的配置方法
    Flume 是一个分布式的、可靠的和高可用的服务,用于收集、聚合以及移动大量日志数据。具体请参见:http://flume.apache.org/OBS是华为云的对象存储服务,OBS支持S3对象存储协议,同时也支持HDFS协议,在大数据场景中可以替代hadoop系统中的HDFS服务,本文用于描述flume如何对接使用OBS。OBS服务有对象桶和并行文件桶两种选择,在大数据场景下建议选择并行文件桶。操作步骤以flume 1.9版本为例1. 下载flumehttp://flume.apache.org/download.html2. 安装flume:支持写数据到OBS(1)解压apache-flume-1.9.0-bin.tar.gz到apache-flume-1.9.0-bin目录(2)在部署了Hadoop的环境中(设置了HADOOP_HOME等环境变量)按照下述文档配置hadoop环境https://github.com/huaweicloud/obsa-hdfs/blob/master/release/doc/%E5%AF%B9%E8%B1%A1%E5%AD%98%E5%82%A8%E6%9C%8D%E5%8A%A1OBSA-HDFS%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97.pdf(3)在没有部署Hadoop的环境中下载hadoop并按照下述文档配置hadoop环境https://github.com/huaweicloud/obsa-hdfs/blob/master/release/doc/%E5%AF%B9%E8%B1%A1%E5%AD%98%E5%82%A8%E6%9C%8D%E5%8A%A1OBSA-HDFS%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97.pdf将hadoop中的相关jar包复制到 apache-flume-1.9.0-bin/lib 目录下,包含hadoop-huaweicloud-xxx.jar将配置好的core-site.xml文件复制到flume根目录/conf目录下3. 示例以flume内置的StressSource为source,以file为channel,以obs为sink(1)创建flume配置文件:sink2obs.propertiesagent.sources = r1agent.channels = c1agent.sinks = k1agent.sources.r1.type = org.apache.flume.source.StressSourceagent.sources.r1.channels = c1agent.sources.r1.size = 1024agent.sources.r1.maxTotalEvents = 100000agent.sources.r1.maxEventsPerSecond = 10000agent.sources.r1.batchSize=1000agent.sources.r1.interceptors = i1agent.sources.r1.interceptors.i1.type = hostagent.sources.r1.interceptors.i1.useIP = falseagent.channels.c1.type = fileagent.channels.c1.dataDirs = /data/agent/agent/flume-dataagent.channels.c1.checkpointDir = /data/agent/agent/flume-checkpointagent.channels.c1.capacity = 500000agent.channels.c1.transactionCapacity = 50000agent.sinks.k1.channel = c1agent.sinks.k1.type = hdfsagent.sinks.k1.hdfs.useLocalTimeStamp = trueagent.sinks.k1.hdfs.filePrefix = %{host}_k1agent.sinks.k1.hdfs.path = obs://obs桶名/flume/dc/create_time=%Y-%m-%d %H-%Magent.sinks.k1.hdfs.fileType = DataStreamagent.sinks.k1.hdfs.writeFormat = Textagent.sinks.k1.hdfs.rollSize = 0agent.sinks.k1.hdfs.rollCount = 1000agent.sinks.k1.hdfs.rollInterval = 0agent.sinks.k1.hdfs.batchSize = 1000agent.sinks.k1.hdfs.round = trueagent.sinks.k1.hdfs.roundValue = 10agent.sinks.k1.hdfs.roundUnit = minute(2)启动flume agent./bin/flume-ng agent -n agent -c conf/ -f conf/sink2obs.properties注意事项1. 多sink写同一文件OBS和HDFS在一致性保证上是有差别的:HDFS租约机制可以保证并发写同一个文件时不会产生一致性问题,但是OBS实现的HDFS协议不支持租约机制(并发写同一个文件时将产生不可确定的状态),所以在flume场景下可以通过文件命名规则进行解决,例如sink文件的命名规则:hostname-sinkname作为文件的前缀,如果一个主机上部署了多个flume agent,不同的agent要有不同的sinkname2. flume日志配置为了减少无谓的日志输出,可以在flume根目录/conf目录下的log4j.properties文件中增加如下配置:log4j.logger.org.apache.hadoop.fs.obs=ERRORlog4j.logger.com.obs=ERROR3. obsa写入时临时文件的目录配置Flume写obs时会先写入本地磁盘缓冲区,然后上传到obs,如果对写入obs有极致性能要求请选择高性能磁盘作为缓冲区,在core-site.xml文件中增加如下配置:<property><name>fs.obs.buffer.dir</name><value>xxx</value></property>
  • [教程] 大数据存算分离解决方案之---Presto+OBSA-HDFS+并行文件桶的配置方法
    PrestoSQL对接OBS简介Presto分为prestoSql(现更名为Trino)和PrestoDB两大分支或是发行版。Presto on OBS仅支持prestoSql/Trino发行版,下述对接步骤以prestoSql-333版本为例。OBS是华为云的对象存储服务,OBS支持S3对象存储协议,同时也支持HDFS协议,在大数据场景中可以替代hadoop系统中的HDFS服务,本文用于描述flume如何对接使用OBS。OBS服务有对象桶和并行文件桶两种选择,在大数据场景下建议选择并行文件桶。安装HadoopHadoop版本2.8.3,按照https://github.com/huaweicloud/obsa-hdfs/tree/master/release/doc配置hadoop安装HiveHive版本2.3.3安装presto server下载安装版本:prestoSQL-3331.下载Presto客户端和服务端:https://repo1.maven.org/maven2/io/prestosql/presto-cli/https://repo1.maven.org/maven2/io/prestosql/presto-server2.下载华为OBSA-HDFS插件:hadoop-huaweicloud-${hadoop.version}-hw-${version}.jarhttps://github.com/huaweicloud/obsa-hdfs/tree/master/release3.解压Presto服务端:tar –zxvf presto-server-333.tar.gz在presto根目录/plugin/hive-hadoop2下放入如下两个jar包hadoop-huaweicloud-${hadoop.version}-hw-${version}.jarApache commons-lang-xxx.jar(可从maven中央仓库下载或从hadoop目录中拷贝)配置presto在安装目录里创建etc目录。这目录会有以下配置(自己创建):· 结点配置文件:每个结点的环境配置· JVM配置文件:Java虚拟机的命令行选项· Server配置文件(Config Properties):Persto server的配置· Catelog配置文件:配置presto的各种Connector(数据源)· 日志配置文件:配置Presto日志结点配置文件结点属性文件etc/node.properties,包含每个结点的配置。一个结点是一个Presto实例。这文件一般是在Presto第一次安装时创建的。以下是最小配置:node.environment=productionnode.id=ffffffff-ffff-ffff-ffff-ffffffffffffnode.data-dir=/var/presto/data解释:node.environment: 环境名字,Presto集群中的结点的环境名字都必须是一样的。node.id: 唯一标识,每个结点的标识都必须是唯一的。就算重启或升级Presto都必须还保持原来的标识。node.data-dir: 数据目录,Presto用它来保存log和其他数据eg:node.environment=presto_clusternode.id= bigdata00node.data-dir /home/modules/presto-server-0.215/data #data需要自己手动创建JVM配置文件JVM配置文件etc/jvm.config,包含启动Java虚拟机时的命令行选项。格式是每一行是一个命令行选项。此文件数据是由shell解析,所以选项中包含空格或特殊字符会被忽略。以下是参考配置:-server-Xmx16G-XX:-UseBiasedLocking-XX:+UseG1GC-XX:G1HeapRegionSize=32M-XX:+ExplicitGCInvokesConcurrent-XX:+ExitOnOutOfMemoryError-XX:+UseGCOverheadLimit-XX:+HeapDumpOnOutOfMemoryError-XX:ReservedCodeCacheSize=512M-Djdk.attach.allowAttachSelf=true-Djdk.nio.maxCachedBufferSize=2000000备注:以上参数都是官网参数,实际环境需要调整Server配置文件配置属性文件etc/config.properties,包含Presto server的配置。Presto server可以同时为coordinator和worker,但一个大集群里最好就是只指定一台机器为coordinator。(1)coordinator节点的配置文件coordinator=truenode-scheduler.include-coordinator=truehttp-server.http.port=5050discovery-server.enabled=truediscovery.uri=http://192.168.XX.XX:5050query.max-memory=20GBquery.max-memory-per-node=1GBquery.max-total-memory-per-node=2GB(2)worker节点的配置文件coordinator=falsehttp-server.http.port=5050discovery.uri=http://192.168.XX.XX:5050query.max-memory=20GBquery.max-memory-per-node=1GBquery.max-total-memory-per-node=2GB解释:coordinator: 是否运行该实例为coordinator(接受client的查询和管理查询执行)。node-scheduler.include-coordinator:coordinator是否也作为work。对于大型集群来说,在coordinator里做worker的工作会影响查询性能。http-server.http.port:指定HTTP端口。Presto使用HTTP来与外部和内部进行交流。query.max-memory: 查询能用到的最大总内存query.max-memory-per-node: 查询能用到的最大单结点内存discovery-server.enabled: Presto使用Discovery服务去找到集群中的所有结点。每个Presto实例在启动时都会在Discovery服务里注册。这样可以简化部署,不需要额外的服务,Presto的coordinator内置一个Discovery服务。也是使用HTTP端口。discovery.uri: Discovery服务的URI。将example.net:8080替换为coordinator的host和端口。这个URI不能以斜杠结尾,这个错误需特别注意,不然会报404错误。另外还有以下属性:jmx.rmiregistry.port: 指定JMX RMI的注册。JMX client可以连接此端口jmx.rmiserver.port: 指定JXM RMI的服务器。可通过JMX监听。Catelog配置文件(重点)hive connector配置如下:a、在etc目录下创建catalog目录b、创建一个hive connector的配置文件:hive.properties# hive.propertiesconnector.name=hive-hadoop2 #连接名hive.metastore.uri=thrift://192.168.XX.XX:9083 #配置hive metastore连接hive.config.resources=/home/modules/hadoop-2.8.3/etc/hadoop/core-site.xml,/home/modules/hadoop-2.8.3/etc/hadoop/hdfs-site.xml,/home/modules/hadoop-2.8.3/etc/hadoop/mapred-site.xml #指定hadoop的配置文件,注意core-site.xml需要按照https://github.com/huaweicloud/obsa-hdfs/tree/master/release/doc配置hive.allow-drop-table=true #给删表权限日志配置文件创建文件log.properties写入内容:com.facebook.presto=INFO备注:日志级别有四种,DEBUG, INFO, WARN and ERROR启动presto步骤如下:a、启动hive metastore:hive --service metastore &b、启动presto server:bin/launcher startc、启动presto client:重命名presto-cli-333-executable.jar为presto,放在bin目录下,然后赋予执行权限:chmod +x presto启动client:./presto --server XX.XX.XX.XX:5050 --catalog hive --schema default关闭presto服务bin/launcher stopPresto查询OBS创建hive表CREATE TABLE sample01(id int,name string,address string)ROW FORMAT DELIMITEDFIELDS TERMINATED BY ','STORED AS TEXTFILElocation obs://obs-east-bkt001/sample01';insert into sample01 values(1,'xiaoming','cd');insert into sample01 values(2,'daming','sh');presto查询hive表./presto --server XX.XX.XX.XX:5050 --catalog hive --schema defaultselect * from sample01;
  • [问题求助] hadoop 2.7.2迁移至麒麟V10编译失败
    hajx_zhangqihadoop-2.7.5源码编译失败编译环境鲲鹏920,麒麟V10系统软件:gcc version 7.3.0Apache Maven 3.6.1jdk 1.8.0openssl 1.1.1protonbuf: 2.5.0安装在hadoop-commen处失败
  • [基础组件] 【FusionInsight产品】【HDFS checkpoint同步】为什么使用HTTP
    请大佬答疑一下……active NameNode和standby NameNode在进行fsimage checkpoint同步的过程中为什么使用HTTP而不是RPC?
  • [数据集成] 使用Kettle 8.3对接开启Kerberos认证的MRS集群的HDFS组件
    ## 背景 Kettel是一款比较最容易上手的开源ETL工具,在很多数据集成的项目中都有使用, Kettel商业化以后改名为Pentaho,Pentaho推出了商业化的付费产品套件,在商用版本中增强了很多企业级的能力,当前Kettle支持Kerberos认证Hadoop集群的能力是放在其商用版本中的,开源版本不支持Kerberos认证的Hadoop集群 本文通过简单的插件改造,使得Kettle 8.3能够连接开启Kerberos认证的MRS集群的HDFS组件 ## 对接方法 参考博文原文 [**链接**](https://bbs.huaweicloud.com/blogs/255354)
  • [问题求助] 移植Hadoop后ResourceManger启动失败
    系统:CentOS 7.6移植Hadoop3.1.1后 可成功访问Namenode界面。想要访问ResourceManger界面,现问题启动ResourceManger失败。SSH已设置免密登陆
  • [赋能学习] linux环境python3连接安全集群HDFS
    本文借鉴 https://blog.csdn.net/u012133034/article/details/100704082 实现说明:使用 hdfs 模块连接 webhdfs 接口实现1 环境系统:CentOS Linux release 7.6.1810 (Core)  3.10.0-957.el7.x86_64python编译器:Python 3.7.8  FusionInsight HD 版本:6.5.1 或者 8.0.2,其中dfs.http.policy配置为 HTTP_AND_HTTPS说明:(1)linux环境安装python3可参考 https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=936822 步骤2.1 安装python依赖(1)因我的测试环境未连互联网,所有的依赖包是通过外网下载后上传到节点安装的,最终安装的python的依赖包如下:安装过程中使用的包:说明:(1)安装 cryptography 使用的是 cryptography-3.4.6-cp36-abi3-manylinux2010_x86_64.whl ,不要使用其tar.gz包来安装,否则需要依赖的东西太多,安装更麻烦(2)安装gssapi的时候,不能执行FI客户端的source,建议重新开个ssh终端来安装2.2 创建测试脚本脚本内容如下,其中IP为主Namenode节点IP,端口固定25002,注意修改对应的认证用户名import osfrom hdfs.ext.kerberos import KerberosClientfrom krbcontext import krbcontextclass HDFSTest:    def __init__(self, host, port):        self.keytab_file = os.path.split(os.path.realpath(__file__))[0] + '/user.keytab'        print(self.keytab_file)        self.user = 'developuser'        self._connect(host, port)    def _connect(self, host, port, sso_ticket=None):        try:            hdfs_url = 'http://' + host + ':' + port            active_str = 'kinit -kt {0} {1}'.format(self.keytab_file, self.user)            # 激活当前kerberos用户认证,因为python缓存机制,切换用户,这个缓存不会自动切换,需要手动处理下            os.system(active_str)            with krbcontext(using_keytab=True, keytab_file=self.keytab_file, principal=self.user):                self.client = KerberosClient(hdfs_url)        except Exception as e:            raise e    def test(self):        print(self.client.list("/"))        print(self.client._list_status("/tmp").json()["FileStatuses"]["FileStatus"])if __name__ == '__main__':    host = '8.5.136.6'    port = '25002'    a = HDFSTest(host, port)    a.test()2.3 执行测试脚本(1)将脚本中指定用户的认证票据文件user.keytab文件放到和该脚本同一级目录内(2)执行source 客户端bigdata_env(3)执行测试脚本  python3 huaweiHDFSTest.py
  • 参加Hadoop学习的同志们可以领礼品了
    https://bbs.huaweicloud.com/blogs/248576?wxwork_userid=HuaWeiYun7HaoZhuShou活动结束 ,可以填地址领礼品了,不要忘了
  • [对接系列] 【融合对接】DWS和Hadoop互联互通--读取hdfs数据和将数据写入hdfs
    DROP SERVER IF EXISTS hdfs_server CASCADE;CREATE SERVER hdfs_server FOREIGN DATA WRAPPER HDFS_FDW OPTIONS (TYPE 'hdfs', ADDRESS '@hdfshostname@:@hdfsport@',HDFSCFGPATH '@hdfscfgpath@');-- create t_base, include all the fields supportsCREATE TABLE t_base (       c_distkey         INT,       c_tinyint         TINYINT,       c_smallint        SMALLINT,       c_int             INTEGER,       c_bigint          BIGINT,       c_varchar         VARCHAR,       c_varchar2        VARCHAR2,       c_char            CHAR(30),       c_text            TEXT,       c_numeric         NUMERIC,       c_decimal         DECIMAL,       c_timestamp     TIMESTAMP WITHOUT TIME ZONE,       c_boolean         BOOLEAN,       c_real            REAL,       c_double          DOUBLE PRECISION,       c_bit             CLOB) DISTRIBUTE BY HASH(c_distkey);-- insert into filedINSERT INTO t_base VALUES(0, 0,0,0,0, VARCHAR'00000000', VARCHAR2'00000000', CHAR '0', TEXT'00000000', 0.1111, 0.11111, TIMESTAMP'2015-01-01 00:00:00', TRUE, 0.11111, 0.11111, CLOB'00000000');INSERT INTO t_base VALUES(1, 1,1,1,1, VARCHAR'11111111', VARCHAR2'11111111', CHAR '1', TEXT'11111111', 1.1111, 1.11111, TIMESTAMP'2015-01-01 00:01:01', TRUE, 1.11111, 1.11111, CLOB'11111111');INSERT INTO t_base VALUES(2, 2,2,2,2, VARCHAR'22222222', VARCHAR2'22222222', CHAR '2', TEXT'22222222', 2.1111, 2.11111, TIMESTAMP'2015-01-02 00:02:02', TRUE, 2.11111, 2.11111, CLOB'22222222');INSERT INTO t_base VALUES(3, 3,3,3,3, VARCHAR'33333333', VARCHAR2'33333333', CHAR '3', TEXT'33333333', 3.1111, 3.11111, TIMESTAMP'2015-01-03 00:03:03', TRUE, 3.11111, 3.11111, CLOB'33333333');INSERT INTO t_base VALUES(4, 4,4,4,4, VARCHAR'44444444', VARCHAR2'44444444', CHAR '4', TEXT'44444444', 4.1111, 4.11111, TIMESTAMP'2015-01-04 00:04:04', TRUE, 4.11111, 4.11111, CLOB'44444444');INSERT INTO t_base VALUES(5, 5,5,5,5, VARCHAR'55555555', VARCHAR2'55555555', CHAR '5', TEXT'55555555', 5.1111, 5.11111, TIMESTAMP'2015-01-05 00:05:05', TRUE, 5.11111, 5.11111, CLOB'55555555');INSERT INTO t_base VALUES(6, 6,6,6,6, VARCHAR'66666666', VARCHAR2'66666666', CHAR '6', TEXT'66666666', 6.1111, 6.11111, TIMESTAMP'2015-01-06 00:06:06', TRUE, 6.11111, 6.11111, CLOB'66666666');INSERT INTO t_base VALUES(7, 7,7,7,7, VARCHAR'77777777', VARCHAR2'77777777', CHAR '7', TEXT'77777777', 7.1111, 7.11111, TIMESTAMP'2015-01-07 00:07:07', TRUE, 7.11111, 7.11111, CLOB'77777777');INSERT INTO t_base VALUES(8, 8,8,8,8, VARCHAR'88888888', VARCHAR2'88888888', CHAR '8', TEXT'88888888', 8.1111, 8.11111, TIMESTAMP'2015-01-08 00:08:08', TRUE, 8.11111, 8.11111, CLOB'88888888');INSERT INTO t_base VALUES(9, 9,9,9,9, VARCHAR'99999999', VARCHAR2'99999999', CHAR '9', TEXT'99999999', 9.1111, 9.11111, TIMESTAMP'2015-01-09 00:09:09', TRUE, 9.11111, 9.11111, CLOB'99999999');-- Scenario 1 different column type exportCREATE FOREIGN TABLE t_base_wo (       c_distkey         INT,       c_tinyint         SMALLINT,       c_smallint        SMALLINT,       c_int             INTEGER,       c_bigint          BIGINT,       c_varchar         VARCHAR,       c_varchar2        VARCHAR2,       c_char            CHAR(30),       c_text            TEXT,       c_numeric         NUMERIC,       c_decimal         DECIMAL,       c_timestamp     TIMESTAMP WITHOUT TIME ZONE,       c_boolean         BOOLEAN,       c_real            REAL,       c_double          DOUBLE PRECISION,       c_bit             CLOB) SERVER hdfs_server OPTIONS (   FOLDERNAME '/hdfs_orc_check/t_base_wo/',   FORMAT 'orc',   ENCODING 'utf8')WRITE ONLY;CREATE FOREIGN TABLE t_base_ro (       c_distkey         INT,       c_tinyint         SMALLINT,       c_smallint        SMALLINT,       c_int             INTEGER,       c_bigint          BIGINT,       c_varchar         VARCHAR,       c_varchar2        VARCHAR2,       c_char            CHAR(30),       c_text            TEXT,       c_numeric         NUMERIC,       c_decimal         DECIMAL,       c_timestamp     TIMESTAMP WITHOUT TIME ZONE,       c_boolean         BOOLEAN,       c_real            REAL,       c_double          DOUBLE PRECISION,       c_bit             CLOB) SERVER hdfs_server OPTIONS (   foldername '/hdfs_orc_check/t_base_wo/',   format 'orc',   encoding 'utf8')READ ONLY DISTRIBUTE BY REPLICATION;INSERT INTO t_base_wo SELECT * FROM t_base;SELECT * FROM t_base MINUS SELECT * FROM t_base_ro;SELECT * FROM t_base_ro MINUS SELECT * FROM t_base;DROP FOREIGN TABLE t_base_wo;DROP FOREIGN TABLE t_base_ro;
  • [方案构建] 【MRS】使用华为云MRS(兼容开源Hadoop)指导---场景化使用指导
    MRS是一个在华为云上部署和管理Hadoop系统的服务,一键即可部署Hadoop集群。MRS提供租户完全可控的一站式企业级大数据集群云服务,完全兼容开源接口,结合华为云计算、存储优势及大数据行业经验,为客户提供高性能、低成本、灵活易用的全栈大数据平台,轻松运行Hadoop、Spark、HBase、Kafka、Storm等大数据组件,并具备在后续根据业务需要进行定制开发的能力,帮助企业快速构建海量数据信息处理系统,并通过对海量信息数据实时与非实时的分析挖掘,发现全新价值点和企业商机。场景化使用指导详见下表:MRS使用路径使用分类场景子场景开源Hadoop或者关系型数据库迁移上华为云MRS大数据迁移整体介绍https://support.huaweicloud.com/usermanual-mrs/mrs_01_0608.html开源HDSF迁移至MRS   HDFShttps://support.huaweicloud.com/usermanual-mrs/mrs_01_0611.html开源Hive迁移至MRS Hbasehttps://support.huaweicloud.com/usermanual-mrs/mrs_01_0612.html开源HBase迁移至MRS Hivehttps://support.huaweicloud.com/usermanual-mrs/mrs_01_0613.htmlMySQL数据库迁移至MRS Hive实践参考https://support.huaweicloud.com/usermanual-cdm/cdm_01_0118.html开源HBase迁移至MRS Hbase最佳实践https://support.huaweicloud.com/bestpractice-cdm/cdm_05_0010.html原生使用MRS组件操作详见产品文档“组件操作”章节    https://support.huaweicloud.com/mrs/批处理使用Hivehttps://support.huaweicloud.com/cmpntguide-mrs/mrs_01_0442.html使用Spark使用Spark,适用于MRS   2.x及之前版本 https://support.huaweicloud.com/cmpntguide-mrs/mrs_01_0366.html使用Spark2x,适用于MRS 3.x版本https://support.huaweicloud.com/cmpntguide-mrs/mrs_01_1929.html实时流处理使用Flinkhttps://support.huaweicloud.com/cmpntguide-mrs/mrs_01_0473.htmlSpark Steaming调优,适用于MRS 3.x版本https://support.huaweicloud.com/cmpntguide-mrs/mrs_01_2001.html使用Stormhttps://support.huaweicloud.com/cmpntguide-mrs/mrs_01_1045.html实时检索使用Hivehttps://support.huaweicloud.com/cmpntguide-mrs/mrs_01_0368.html交互式查询使用Prestohttps://support.huaweicloud.com/cmpntguide-mrs/mrs_01_0433.html使用Impalahttps://support.huaweicloud.com/cmpntguide-mrs/mrs_01_0639.html使用Clickhousehttps://support.huaweicloud.com/cmpntguide-mrs/mrs_01_2345.html作业任务调度与协调使用Ooziehttps://support.huaweicloud.com/cmpntguide-mrs/mrs_01_1808.html组件开发详见产品文档“开发指南”章节,使用场景参考“组件操作”的场景    https://support.huaweicloud.com/mrs/MRS与周边服务配套数据集成参见DGC产品文档“数据集“    https://support.huaweicloud.com/usermanual-dgc/dgc_01_0013.html数据开发参见DGC的数据开发能力,产品文档    https://support.huaweicloud.com/usermanual-dgc/dgc_01_0401.html报表呈现参见DLV的报表展示能力,产品文档    https://support.huaweicloud.com/productdesc-dlv/dlv_07_001.html