
Bigdata
文章平均质量分 76
Bigdata从入门到跑路
邢为栋
这个作者很懒,什么都没留下…
展开
-
Chat2DB体验记录
Chat2DB 是一款有开源免费的多数据库客户端工具,支持windows、mac本地安装,也支持服务器端部署,web网页访问。和传统的数据库客户端软件Navicat、DBeaver 相比Chat2DB集成了AIGC的能力,能够将自然语言转换为SQL,也可以将SQL转换为自然语言,可以给出研发人员SQL的优化建议,极大的提升人员的效率,是AI时代数据库研发人员的利器,未来即使不懂SQL的运营业务也可以使用快速查询业务数据、生成报表能力。也支持docker部署,部署方式详见。原创 2023-08-21 15:26:30 · 1229 阅读 · 0 评论 -
NiFi数据流实践:Mysql CDC To Hive
NiFi数据流实践:实时获取Mysql CDC数据,写入HDFS/Hive。NiFi版本:1.22.0。NiFi官方文档提供了详细的概念说明和使用说明,耐心通读一遍,就可以快速上手开发NiFi数据流。原创 2023-07-13 17:02:34 · 1876 阅读 · 0 评论 -
mapreduce异常分析:mr.MapredLocalTask: I/O error in redirector thread
分析数据时,发现一个表的数据有异常,排查发现2023-02-23和2023-05-23两个分区的数据在2023-05-27日被更新了。这张表的源表经常会更新历史数据,在hive中的更新方式是读取分区全部数据,进行数据更新,然后再重写分区数据。日志解读:在执行sql时,使用了mapjoin优化,启动了MapredLocalTask,上传mapfile成功后,出现redirector thread I/O错误。原创 2023-06-08 10:46:10 · 1119 阅读 · 0 评论 -
Hive表统计信息采集及应用
Hive提供了分析表和分区的功能,可以将分析后的统计信息存入元数据中,该功能可以自动执行分析表或手动执行分析表。自动执行分析主要针对新创建的表,可以通过配置启用,配置说明详见。Hive默认启用表级别的统计信息收集,在DML(除了LOAD DATA语句)操作期间,自动收集并更新统计信息。默认不启用列级别的统计信息收集。手动执行分析StatsDev。原创 2023-03-27 12:50:54 · 1975 阅读 · 1 评论 -
clickhouse停止和避免mutations操作
在使用clickhouse时,使用了alter查询的delete和update操作进行数据的删除和更新,当大量使用这类操作时,造成clickhouse服务无法连接,观察日志发现,出现了大量mutation的操作,严重占用clickhouse资源。经过研究,发现ALTER DELETE和UPDATE表数据的实现机制是mutations。对于MergeTree表,mutations机制的操作会重写整个数据块(rewriting whole data parts),所以是一个重操作,会严重占用服务资源。原创 2022-10-20 08:57:14 · 3925 阅读 · 0 评论 -
Ubuntu1804安装MIT Kerberos
Debian安装向导:http://techpubs.spinlocksolutions.com/dklar/kerberos.htmlUbuntu1804单机安装MIT Kerberos。准备修改主机名为krb.example.com/etc/hosts配置:127.0.0.1 localhost10.1.25.31 krb.example.com krb安装服务sudo apt install krb5-{admin-server,kdc}安装过程选项如下:Default K原创 2020-05-11 09:17:51 · 2491 阅读 · 0 评论 -
Centos7部署FreeIPA
FreeIPA简介FreeIPA官网FreeIPA是用于Linux / UNIX网络环境的集成身份和验证解决方案。FreeIPA服务通过存储有关用户,组,主机和其他对象的数据来提供集中的身份验证,授权和帐户信息,这些数据对于管理计算机网络的安全性是必需的。FreeIPA建立在知名的开源组件和标准协议的基础上,非常注重简化管理以及安装和配置任务的自动化。这些组件和协议包括MIT Kerberos,389 Directory Server,SSSD等。简单来说,FreeIPA是对这些组件和协议进行了一层原创 2020-07-14 13:51:45 · 2223 阅读 · 0 评论 -
CDH平台部署规划方案
此方案包含部分实施要点,作为部署实施参考。主要针对RHEL/Centos7.x系统,其他系统可能会有不同。主机配置章节包含了部分针对Hadoop的操作系统优化。服务版本操作系统CentOS 7Cloudera Manager6.3.1CDH6.3.2前言如果要启用FreeIPA,最好先安装ipa-server。当然在部署好集群后安装也可以。Cloudera Manager Server节点需要安装IPA admin libraries,可以将ipa-ser原创 2020-09-04 17:13:17 · 3487 阅读 · 0 评论 -
Spark程序性能优化之persist()
Spark的RDD Persistence,是一个重要的能力,可以将中间结果保存,提供复用能力,加速基于中间结果的后续计算,经常可以提高10x以上的性能。在PySpark的DataFrame中同样适用。主要方法是persisit()和cache()。官方说明请看RDD Persistence。需要注意的是,Spark Python API中,默认存储级别是MEMORY_AND_DISK。本文记录一下实际开发中使用Spark这个能力的一些心得,主要是PySpark。persist()和cache()该原创 2020-06-09 17:33:58 · 5934 阅读 · 0 评论 -
CentOS7部署MIT Kerberos
准备主机名必须是FQDN形式,修改主机名为krb.bigdata.zxxk.comhostnamectl set-hostname krb.bigdata.zxxk.com/etc/hosts配置:127.0.0.1 localhost10.1.25.31 krb.bigdata.zxxk.com krb部署安装yum install krb5-server krb5-libs krb5-workstation配置编辑 /etc/krb5.conf 文件,调整如下:# Con原创 2020-09-04 17:08:27 · 608 阅读 · 0 评论 -
清除FreeIPA SSSD缓存
https://www.rootusers.com/how-to-clear-the-sssd-cache-in-linux/#:~:text=The%20SSSD%20cache%20can%20easily,specified%20records%20from%20the%20cache.https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/sssd-cache原创 2020-09-15 19:34:48 · 4330 阅读 · 3 评论 -
FreeIPA修改用户认证类型
不常用,粗略记一下。ipa ui,用户详情页,修改用户认证类型为密码,提示:访问受限:Insufficient 'write' privilege to the 'ipaUserAuthType' attribute of entry 'uid=test,cn=users,cn=accounts,dc=bigdata,dc=zxxk,dc=com'.调整用户管理员权限其中ipa特权 User Administrators下有一个权限 System: Modify Users。修改System:原创 2021-05-10 17:37:42 · 482 阅读 · 0 评论 -
hive启用kerberos+sentry后超级用户无权限
hive启用了kerberos和sentry,使用hive超级用户hive通过beeline访问服务,无法进行角色创建,切换数据库等操作。报错如下:FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Current user : hive is not allowed to add roles. User has to belong to ADMIN role and have it as原创 2020-05-13 17:21:37 · 2065 阅读 · 2 评论 -
Impala自动同步Hive元数据
在Cloudera官方文档 Impala Metadata Management,找到了CDH平台中Impala自动同步Hive元数据的配置方法。文档中提示这是CDH6.3/Impala3.3的一个预览特性,不是普遍有效的。经过在CDH6.3.2集群中的实际测试,发现对于Hive的一般操作,Impala都可以有效自动同步。文档中提到对于Spark INSERT Hive的操作,Impala也可以自动同步,不过我没有对此进行测试验证。这种机制称为 基于事件的自动元数据同步,是通过监控Hive元数据变动原创 2020-09-29 18:06:23 · 2510 阅读 · 3 评论 -
CDH6.3.2集群启用授权
本文描述CDH6.3.2集群安装Sentry及配置。参考:https://docs.cloudera.com/documentation/enterprise/6/latest/topics/sentry.html操作系统:Centos7.8。安装Sentry安装要求集群实现Kerberso认证。当然不启用Kerberos也能用,不过不建议。安装使用mysql作为Sentry数据库,确保已执行以下命令:CREATE DATABASE sentry DEFAULT CHARACTER SET原创 2020-07-14 13:58:19 · 1486 阅读 · 0 评论 -
spark-submit启动应用程序
本文介绍CDH6.3.2平台的spark-submit提交任务的方法。构建应用依赖当提交的应用程序有依赖时,可以使用spark-submit支持的方法分发依赖到整个集群。下面介绍Scala/Java和Python两类应用程序的依赖添加方法。构建Scala/Java应用依赖如果一个Scala/Java应用程序有依赖,可以将应用程序及其依赖构建成一个assembly jar,提交任务时,指定assembly jar即可。构建Python应用依赖如果一个Python应用程序有依赖,可以使用spark-原创 2020-05-26 10:41:52 · 1358 阅读 · 0 评论 -
CDH6.3.2集群集成MIT Kerberos
本文描述CDH6.3.2集群集成MIT Kerberos流程和遇到的问题以及解决方法。参考:https://docs.cloudera.com/documentation/enterprise/6/6.3/topics/cm_sg_intro_kerb.html。MIT Kerberos安装文档请参考 Ubuntu安装MIT Kerberos。操作系统:Ubuntu18.04。创建Cloudera Manager主体登陆KDC主机。切换到root用户权限。执行kadmin.local进入kerb原创 2020-05-12 17:02:00 · 692 阅读 · 0 评论 -
CDH6.3.2集成FreeIPA
准备系统配置Cloudera Manager Server节点需要安装IPA admin libraries。命令如下:yum install ipa-server配置FreeIPAFreeIPA的krb5.conf默认配置包含如下内容:default_ccache_name = KEYRING:persistent:%{uid}CDH不支持keyring credential cache,所以需要注释此配置。另外,需要增加以下配置:renew_lifetime = 7drenewa原创 2020-07-14 13:56:33 · 3249 阅读 · 9 评论 -
CDH Hue连接Hbase报错TSocket read 0 bytes
问题描述安装好CDH集群后,在Hue中查看HBase信息时,Hue界面报错如下:Api 错误:TSocket read 0 bytesHue日志报错:exceptions_renderable ERROR Potential trace: [('/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hue/apps/hbase/src/hbase/api.py', 46, 'query', 'return getattr(self原创 2020-07-01 15:01:51 · 3237 阅读 · 1 评论 -
在Hue中创建一个Oozie工作流
本文描述在Hue中创建Oozie工作流的方法。操作用户:bigdata。准备建表假设在mysql中有一个用户信息表user,包含id,name,address三个字段。其中address字段存在字符串null。在hive创建对应的表:ods_user - 原始用户信息缓存表CREATE TABLE IF NOT EXISTS ods.ods_user(id STRING COMMENT '用户ID',name STRING COMMENT '用户名',address STRING COM原创 2020-06-04 18:31:58 · 745 阅读 · 0 评论 -
安全集群访问非安全集群问题记录
本文描述安全集群访问非安全集群遇到的问题及分析。案例使用Hive映射Phoenix表,其中Hive服务在启用kerberos的集群中,Phoenix在另一个未启用Kerberos的集群中。报错及分析HUE返回报错:Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Fail原创 2020-12-03 10:46:34 · 1425 阅读 · 1 评论 -
在Hue中执行Sqoop的注意事项及问题解决
本文描述在Hue中执行Sqoop的方法和注意事项。包含部分遇到的问题和解决方法。Hue提供执行Sqoop命令的功能。使用方法与在终端执行Sqoop命令不同,在Hue中执行Sqoop命令,应该直接使用Sqoop的一级子命令。Sqoop在终端和Hue执行的区别在终端执行sqoop-import \ -D org.apache.sqoop.splitter.allow_text_splitter=true \ --connect jdbc:postgresql://postgresql_se原创 2020-05-26 10:56:06 · 2411 阅读 · 2 评论 -
Cloudera Manager部署配置Phoenix
Phoenix,从直观上来看,是构建在HBase值上的SQL接口,在使用上和关系型数据库非常接近,同时具备大数据分析和低延迟的特性。Phoenix目前在Hadoop操作分析领域应用很广泛。Phoenix官网介绍如下:Apache Phoenix enables OLTP and operational analytics in Hadoop for low latency applications by combining the best of both worlds:the power of原创 2020-11-30 13:13:04 · 441 阅读 · 0 评论 -
启用Kerberos的Hive操作失误解决
启用了kerberos,需要使用hive主体权限进行授权,但是开始没找到hive主体的keytab,于是决定使用kadmin.local的ktadd命令为hive主体创建一个keytab,创建之后,可以通过keytab使用hive主体权限了,通过beeline连接hive,但是报错GSS initiate failed,突然心一凉,直觉告诉我,玩脱了。。。查看hive服务,出现告警,查看metastore日志,报错如下:2020-05-09 15:43:34,632 ERROR org.apache.t原创 2020-05-12 10:47:16 · 7209 阅读 · 0 评论 -
spark报错无权访问hbase
我在提交一个一个spark任务是,遇到一个无权访问hbase的异常,如下:org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.security.AccessDeniedException): org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions (user=xingweidong@BIGDATA.原创 2020-08-18 18:02:24 · 708 阅读 · 0 评论 -
CDH6.3.2安装部署(Ubuntu)
ubuntu1804部署CDH6安装前准备https://docs.cloudera.com/documentation/enterprise/6/6.3/topics/installation_reqts.html配置网络名(以foo-1为例)1、修改主机名sudo hostnamectl set-hostname foo-1.example.com2、编辑 /etc/hosts 文件1.1.1.1 foo-1.example.com foo-12.2.2.2 foo-2.exam原创 2020-07-06 09:22:17 · 5098 阅读 · 11 评论 -
Hive整合HBase
Hive支持使用HDFS之外的存储系统作为底层存储系统,其中官方明确支持HBase,Kudu,Druid和JDBC(MySQL等)。Hive提供了相应的接口 StorageHandlers,用以实现和其他存储系统的整合。本人整理的已有相应实现的其他存储系统有:Phoenix HBase,MongoDB,ElasticSearch等。本文主要讨论Hive整合HBase在使用上的一些关键内容,更详细的内容请参考 HBaseIntegration 。介绍Hive整合HBase之后,可以通过Hive QL语原创 2020-11-25 16:01:27 · 1471 阅读 · 0 评论 -
Hive中文注释乱码问题解决
在Hive元数据库(MySQL)按照如下修改即可alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000原创 2020-08-20 09:28:24 · 205 阅读 · 0 评论 -
CDH集群如何使用服务用户
在使用CDH集群时,有时需要使用服务的超级用户去执行一些操作,但是CDH集群中的服务的默认用户不可以直接使用,这里记录了使用方法。未启用Kerberos使用nologin用户执行命令CDH安装的hadoop软件,hdfs,hive等用户是nologin用户,这种用户是不可以登陆或者通过root用户切换的,如果需要使用某个用户权限执行命令,则可以使用 sudo -u <user> [command]例如:sudo -u hdfs hdfs -ls /建议不要修改hdfs,hive等这原创 2020-09-23 15:07:14 · 389 阅读 · 0 评论 -
Java连接HBase
Java连接HBase的方法,包含Kerberos认证。代码示例:package com.example.hbase.admin;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hba原创 2020-08-25 17:43:13 · 8314 阅读 · 4 评论 -
安装CDH Hive报错
在使用Cloudera Manager安装Hive的时候,报错如下:Failed to retrieve schema tables from Hive Metastore DB,Not supported操作系统是Centos7.8,Cloudera Manager版本是6.3.1,CDH版本是6.3.2。Hive元数据库使用MariaDB,通过yum安装。先说问题原因,这个问题是Mysql JDBC驱动包导致的,使用yum安装的驱动包不可用。下载并使用较新版本的驱动包可解决这个问题。下载地原创 2020-06-30 17:32:20 · 838 阅读 · 0 评论 -
Hive集成Phoenix
Hive支持使用HDFS之外的存储系统作为底层存储系统,其中官方明确支持HBase,Kudu,Druid和JDBC(MySQL等)。Hive提供了相应的接口 StorageHandlers,用以实现和其他存储系统的整合。Phoenix实现了相应的接口,可以使用Phoenix作为Hive的底层存储系统,在Hive中操作Phoenix表,并和Hive本地表进行互操作。Phoenix官网该特性的详细描述可参考 Phoenix Storage Handler for Apache Hive。本文主要描述在C原创 2020-11-30 16:39:42 · 1194 阅读 · 0 评论 -
在一个新的HDP集群上安装HDF服务
概述HORTONWORKS DATA PLATFORM (HDP®)基于集中化架构 (YARN),是业内唯一一款极其安全且可用于企业的开源 Apache Hadoop® 分布式系统。HDP 可满足静态数据的全部需求,助力实时客户应用程序,并提供可加速决策和创新进程的强劲大数据分析。Hortonworks DataFlow (HDF) 提供了唯一的端到端平台,利用直观的拖放界面,可以在内部或云...原创 2020-05-04 20:06:18 · 430 阅读 · 0 评论 -
Spark向Hive表写数据报错
问题描述环境说明:我使用的是Hadoop生态软件都是社区版。使用Spark SQL向Hive表写数据,数据写入正常,并没有发现其他任何异常,但是日志信息出现一个ERROR,如下:ERROR hdfs.KeyProviderCache: Could not find uri with key [dfs.encryption.key.provider.uri] to create a keyP...原创 2020-04-30 16:08:52 · 3012 阅读 · 2 评论 -
Ambari那些事儿
修改ambari web访问端口号ambari web访问端口默认是8080。修改此端口方法如下:在 /etc/ambari-server/conf/ambari.properties 文件中追加一行client.api.port=<port_number>Ambari使用MySQL作为元数据库Ambari默认使用PostgreSQL作为元数据库,但是其本身是支持多种数据...原创 2020-04-30 16:01:53 · 571 阅读 · 0 评论 -
Hive操作报错
问题描述我在搭建大数据技术栈的时候,在hive环节进行测试,测试及报错如下:hive> insert overwrite table dw.people3 select * from ods.people1;Query ID = hdfs_20190103084929_d1a58db2-8ce6-40b1-a55c-2fe881e67ad5Total jobs = 1Launch...原创 2020-04-30 16:07:52 · 2105 阅读 · 2 评论 -
spark-submit指定python环境
spark-submit提交python任务,使用指定的python环境参考spark Configuration,有如下描述:配置描述spark.pyspark.driver.pythonPython binary executable to use for PySpark in driver. (default is spark.pyspark.python)s...原创 2020-05-06 09:06:55 · 4617 阅读 · 0 评论 -
Hive核心概念和基本操作
本文讨论hive的一些概念,内容包含个人的主观理解,作为笔记,并提供参考。概述Hive是一个基于Hadoop的数据仓库基础软件,或者说,Hive是一个基于Hadoop的软件,用来做数据仓库。Hive的存储底层是HDFS,这就有效的利用了HDFS的诸多特性。Hive有一个元数据库,用来存储数据仓库信息和HDFS文件的映射。Hive SQL是一种类SQL语言,最开始是对MapReduce的封装...原创 2020-05-05 14:03:33 · 779 阅读 · 0 评论 -
Ambari Agent注册失败
描述Ambari注册主机的时候,ambari-agent出现如下错误:NetUtil.py:96 - EOF occurred in violation of protocol (_ssl.c:579)NetUtil.py:97 - SSLError: Failed to connect. Please check openssl library versions.解决在ambari-...原创 2020-04-30 15:51:38 · 947 阅读 · 0 评论 -
OpenTSDB简介及安装
简介工作原理OpenTSDB是一个时间序列数据库,由一个 Time Series Daemon (TSD) 和一系列命令行实用程序组成。与OpenTSDB交互主要通过运行一个或者多个 TSD 来实现。每个 TSD 是独立的。没有master,没有共享状态,所以你可以运行尽可能多的 TSD 来处理工作负载。每个 TSD 使用开源数据库 HBase 或托管Google Bigtable服务来存储和...原创 2020-04-30 14:55:34 · 689 阅读 · 0 评论