草庐IT

hadoop - Hive - 移动 HDFS 上的现有仓库位置

我有一个我们已经使用了一段时间的HDP集群和Hive中充满数据的现有数据库和表我们决定将hive的数据仓库在HDFS上的位置从/apps/hive/warehouse更改为自定义目录我在hive-site.xml中更改了hive.metastore.warehouse.dir并且在我们创建新的dbs/tables时考虑了更改然而,现有内容仍在/apps/hive/warehouse中。有没有办法在不破坏Hive或重新导入所有内容的情况下移动它? 最佳答案 过去做过这样的事情。您需要进行hack操作并直接更新HIVE元存储中的值:使用

sorting - 在具有 "X"个映射器和 "Y"个缩减器的大型 MapReduce 作业中,排序/洗牌阶段将有多少个不同的复制操作

据我了解会有X+Y个复制操作,不对请指正谢谢 最佳答案 在最坏的情况下,每个reducer可能会从所有映射器中获取记录,假设它的键在所有可用的映射器中都存在。在最坏的情况下,这将为一个reducer提供X个副本。这将导致XY操作而不是X+Y。 关于sorting-在具有"X"个映射器和"Y"个缩减器的大型MapReduce作业中,排序/洗牌阶段将有多少个不同的复制操作,我们在StackOverflow上找到一个类似的问题: https://stackoverf

hadoop - 让 Hadoop 以 Kerberos 用户身份运行

Kerberos中有一个名为“foo”的用户,hadoop集群受Kerberos保护。我希望hadoop集群将作业作为“foo”运行,我该怎么做?允许hadoop客户端指定要运行的kerberos用户帐户名的配置是什么,就像hadoopcluster'kinitusername'然后运行​​mapreduce作业一样?仅供引用,hadoop2.6.0 最佳答案 我相信您正在寻找用户模仿。这可以在core-site.xml文件中完成。请参见以下示例:hadoop.proxyuser.super.hostshost1,host2hado

hadoop - HDFS - block 大小相关

我只有10MB大小的文件。我认为在HDFS中第一个文件消耗10MB,其余54MB被释放到可用空间。我的问题是-第二个10MB的文件(或下一个10MB的文件序列)会继续增加直到它变成64MB吗?例如-如果我们总共消耗2个64MB的block和20MB的第3个block,那么输入拆分将给出3个输出2个64MB和1个20MB?是真的吗? 最佳答案 引用Hadoop-权威指南:HDFS存储小文件效率低下,因为每个文件都存储在一个block中,并且block元数据由名称节点保存在内存中。因此,大量的小文件会占用名称节点上的大量内存。(但是请注

hadoop - 如何在不使用 Cloudera 管理器的情况下在 100 节点集群上安装 Cloudera CDH?

如何在不使用Cloudera管理器的情况下在100节点集群上安装ClouderaCDH?在集群中的每个节点上手动安装和配置CDH是一项艰巨的任务。使用哪些工具和技术来自动化生产中的任务? 最佳答案 CDH支持基于Parcel和基于Package的安装。如果您愿意,可以使用Puppet/Chef这些类型的配置管理工具来进行基于包的安装。但是,推荐的方式是使用ClouderaManager进行基于Parcel的安装。ClouderaManager提供了许多OOTB功能,包括监控、配置版本控制、基于向导的安全配置、滚动升级等。如果您不使用

hadoop - HDFS NFS 网关 "No groups available for user"警告

我正在使用NFS网关服务将一些数据提取到HDFS(CDH5.4.5)中。一切似乎都很好,直到我收到一条警告消息,通知我日志记录目录的可用空间非常低。我快速查看了大日志文件:sudofind/var/log-typef-size+100000k-execls-lh{}\;|awk'{print$9":"$5}'...并注意到一个名为/var/log/hadoop-hdfs/hadoop-cmf-hdfs-NAMENODE-[fqdn-of-name-node].log.out的34GB文件。快速浏览内部显示几乎完全由以下警告组成:2015-11-3013:41:15,535WARNorg

java - 每次我重新启动时,我的 PC namenode 都没有启动

我正在使用VMware在Ubuntu上运行我的hadoop。hadoop的版本是2.x,我在重启电脑时遇到了问题。每次我重新启动电脑时,我都必须格式化namenode,否则会出现如下错误。Error:CallFromubuntu/127.0.1.1tolocalhost:9000failedonconnectionexception:java.net.ConnectException:Connectionrefused.hdfs-site.xmldfs.replication1hadoop.tmp.dir/tmp/hadoopTemp核心站点.xmlfs.defaultFShdfs:/

oracle - Sqoop 导入 Oracle 到 HDFS 3 条记录就可以了。全表失败

我通过Sqoop将数据从Oracle导入到HDFS,其中3条记录可以使用以下命令:./sqoop-import--connect--username--password--tableSYS_GROUP--where"Sys_Group_ID作业成功完成,有3条记录。但是当我想导入全表时,却失败了。命令:./sqoop-import--connectjdbc:oracle:thin:@10.58.71.164:1521:dbmss01--username--password--tableSYS_GROUP--fetch-size100日志:15/12/0402:32:19INFOmapr

hadoop - hadoop -getmerge 有替代方案吗?

我尝试使用hadoopgetmerge将80GB的文件合并到一个集群中,但由于hadoopgetmerge具有将文件从hdfs复制到本地文件系统的属性,我必须先复制到本地,然后再从本地复制到hdfs,hadoopfs-getmergehdfs:///path_in_hdfs/*./local_pathhadoopfs-copyFromLocal./local_pathhdfs://Destination_hdfs_Path/我的问题是本地数据节点小于80GB,我需要知道是否有-getmerge的替代方法,其中合并直接从HDFS发生到HDFS我也试过hadoop-cat但它不工作..

hadoop - 是否可以使用 Exiftool 获取 Hdfs 图像/视频文件元数据

exiftoolimage.jpg给我linux上图像文件的元数据。我正在尝试获取HDFS图像文件元数据,例如exiftoolhdfs://10.253.11.10:8020/tmp/user/vid2.avi。但是出现类似Filenotfound:的错误。如何读取HDFS文件的元数据? 最佳答案 你可以使用管道:hdfsdfs-cathdfs://10.253.11.10:8020/tmp/user/vid2.avi|exiftool- 关于hadoop-是否可以使用Exiftool获