在hdp ui中运行任何pig作业时出错错误:“请初始化配置单元\u主页”

svujldwt  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(319)

当我尝试从hue pig ui启动一个pig脚本作业时,进程启动一个作业,然后进度条在那里停留了1-3分钟,最终变为全部红色,唯一的输出是:“please initialize hive\u home。”
我尝试运行的pig脚本是hdp安装手册中pig验证的脚本。
Pig剧本:
a=使用pigstorage(':')加载“passwd”;
b=foreach a生成$0作为id;将b存储到“/tmp/id.out”中;
我正在尝试让hortonworks数据平台的hue版本(根据他们的网站是v2.3)中的pig脚本ui正常工作。我是手工完成的,使用yum安装所需的包并手动设置配置。我正在使用centos 6.4在amazon aws机器上工作。我遵循这个安装文档。
最初我认为我需要启动并运行oozie,以便从hue执行pig作业,但是在跟踪hue日志时,我看到它在执行pig脚本时启动了webhcat,因此,我通过转到http://$webhcat.server.full来安装并验证webhcat是否正常工作。hostname:50111/templeton/v1/status 并确认我收到了无误的回复。因此,我完全相信webhcat工作正常。我还必须注意,webhcat服务器是由hue用户运行的,因为core-site.xml中的配置允许hue用户在运行作业时冒充hdfs用户,这是我在尝试运行hue ui中的pig脚本时遇到的一个错误。
到目前为止,我已经在实际的pig程序文件中找到了一个错误代码块。有问题的代码块是:


# CLASSPATH initially contains $PIG_CONF_DIR

CLASSPATH="${PIG_CONF_DIR}"
CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar
if [ "$includeHCatalog" == "true" ]; then
  # need to provide the hcatalog jar file path as well as
  # the location of the hive jars on which hcatalog depends
  hiveMetaStoreJar=hive-metastore-*.jar
  thriftJar=libthrift-*.jar
  hiveExecJar=hive-exec-*.jar
  fbJar=libfb303-*.jar
  jdoECJar=jdo*-api-*.jar
  slfJar=slf4j-api-*.jar
  hbaseHiveJar=hive-hbase-handler-*.jar
  if [ "$HIVE_HOME" == "" ]; then
    if [ -d "/usr/lib/hive" ]; then
      HIVE_HOME=/usr/lib/hive
    else
      echo "Please initialize HIVE_HOME"
      exit -1
    fi
  fi

事实上,这个代码块导致的问题是非常混乱的,错误是无法追踪自己。
我知道if else子句:if[-d”/usr/lib/hive“];然后hive\u home=/usr/lib/hive else echo“please initialize hive\u home”exit-1 fi是错误产生的原因,但我不明白为什么它没有识别出安装hive的lib目录确实存在。
这就是我被困的地方。我知道“/usr/lib/hive”存在,因为我已经验证了hue、webhcat和pig运行的机器上存在这个目录。我不知道怎么调试这里出了什么问题。我考虑过手动设置hive\u home,但这可能没有实际意义,因为pig没有意识到文件系统中存在该目录,因此如果它稍后在代码中尝试访问该路径,就会出错。
在这一点上,我可能会错过一些明显的东西,但我会非常感谢任何帮助我可以得到。

ivqmmu1c

ivqmmu1c1#

我有同样的问题,但有一个稍微不同的错误信息。我就是这样修好的。
您应该已经在/etc/passwd中有了一个“hue”用户。此用户的主目录应为“/usr/lib/hue”。这是默认的主目录在安装过程中分配的色调。
为“hue”用户创建主目录。

sudo mkdir /home/hue

更改目录权限

sudo chown hue:hadoop /home/hue

将/etc/passwd中用户“hue”的主目录从“/usr/lib/hue”更改为“/home/hue”

hue:x:1013:492:Hue:/home/hue:/bin/bash

就这样。现在应该没事了。

lp0sw83n

lp0sw83n2#

我解决了一个类似的问题,从hue的pig页面的“pig script”文本区域下的de arguments列表中删除了“-usehcatlog”参数。

相关问题