安装cdh5.0执行impala-shell命令报impala_shell.py文件找不到

一 问题描述

    采用package包方式安装cdh时, 安装程序会将impala-shell目录下的所有文件复制到/usr/lib/impala-shell下面, 但采用parcels安装时,安装程序并不会创建/usr/lib/impala-shell目录,也不会复制相应的文件, 所以安装好CDH后,执行impala-shell会报impala_shell.py找不到.

[root@kthdpp01 hadoop]# impala-shell 
ls: 无法访问/usr/lib/impala-shell/ext-py/*.egg: 没有那个文件或目录
python: can't open file '/usr/lib/impala-shell/impala_shell.py': [Errno 2] No such file or directory

二 解决方案

    mkdir -p /usr/lib/impala-shell/

    /opt/cloudera/parcels/CDH/lib/impala-shell

    cp -r * /usr/lib/impala-shell/

运行impala-shell命令,可以正常的执行查询

[root@kthdpp01 impala-shell]# impala-shell 
Starting Impala Shell without Kerberos authentication
Connected to kthdpp01.kt:21000
Server version: impalad version 1.3.1-cdh5 RELEASE (build 2cd2029d7e7871fdaa3b214d547a378205146f4c)
Welcome to the Impala shell. Press TAB twice to see a list of available commands.

Copyright (c) 2012 Cloudera, Inc. All rights reserved.

(Shell build version: Impala Shell v1.3.1-cdh5 (2cd2029) built on Mon May  5 20:45:59 PDT 2014)
[kthdpp01.kt:21000] > select * from tbtest3;
Query: select * from tbtest3
+----+------+
| id | name |
+----+------+
| 1  | NULL |
| 2  | NULL |
| 3  | NULL |
| 4  | NULL |
| 5  | NULL |
+----+------+
Returned 5 row(s) in 0.30s

时间: 2024-08-03 13:45:31

安装cdh5.0执行impala-shell命令报impala_shell.py文件找不到的相关文章

fgets-popen调用后,从执行的shell命令结果中获取数据失败

问题描述 popen调用后,从执行的shell命令结果中获取数据失败 #include #include #include #include #define CMD "cat /proc/diskstats| grep 'b[sh]d[a-z]b'| awk '{print $4" "$6" "$8" "$10}'" int main() { FILE *file=popen(CMD, "r"); char

Ruby中执行Linux shell命令的六种方法详解_ruby专题

在Ruby中,执行shell命令是一件不奇怪的事情,Ruby提供了大概6种方法供开发者进行实现.这些方法都很简单,本文将具体介绍一下如何在Ruby脚本中进行调用终端命令. exec exec会将指定的命令替换掉当前进程中的操作,指定命令结束后,进程结束. 复制代码 代码如下: exec 'echo "hello world"' print 'abc' 执行上述的命令,结果如下,我们可以看到没有abc的输出,可以看出来,在执行echo "hello world"命令后

android技巧:如何在android程序中执行adb shell命令

package net.gimite.nativeexe; import java.io.BufferedReader; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLExc

linux shell命令之用小文件覆盖整个磁盘

      假设我们现在遇到这样一个问题,公司的关键资料copy到测试服务器上了,在直接将其删除后,仍然担心服务器供应商可以将其恢复,即便是通过fdisk进行重新格式化,也仍然存在被恢复的风险,鉴于此,我们需要编写一个脚本,创建很多小文件(5MB左右),之后不停在关键资料所在的磁盘中复制该文件,以使Linux的inode无法再被重新恢复,为了达到这里效果,我们需要先构造该文件,如:  代码如下 复制代码       /> find . -name "*" > testfil

java执行Linux shell命令或者Window cmd命令

执行Linux或者Window下的命令的代码: public static void runbat(String batFilePath) {      if(System.getProperty("os.name").toUpperCase().contains("WIN")){             //不做任何处理      }else{             batFilePath="sh "+batFilePath;      } 

【android-tips】android程序执行adb shell命令(实例源码)

(转载请注明出处:http://blog.csdn.net/buptgshengod) package net.gimite.nativeexe; import java.io.BufferedReader; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpUR

Android Java执行Shell命令

主要介绍Android或Java应用中如何以默认用户或root用户执行Shell命令,ShellUtils的API介绍.使用及使用场景(如静默安装和卸载.修改hosts文件.拷贝文件).使用纯Java实现,所以对Java程序同样适用. 很多朋友在使用TrineaAndroidCommon@Github中的ShellUtils工具类了,那就大致介绍下他的功能吧. 1.API介绍 以下是ShellUtils中最终执行命令的方法execCommand: Java 1 public CommandRes

Android执行shell命令详解_Android

一.方法 复制代码 代码如下: /** * 执行一个shell命令,并返回字符串值 * * @param cmd * 命令名称&参数组成的数组(例如:{"/system/bin/cat", "/proc/version"}) * @param workdirectory * 命令执行路径(例如:"system/bin/") * @return 执行结果组成的字符串 * @throws IOException */ public stati

Linux下使用popen()执行shell命令

  简单说一下popen()函数 函数定义 #include <stdio.h> FILE * popen(const char *command , const char *type ); int pclose(FILE *stream); 函数说明 popen()函数通过创建一个管道,调用fork()产生一个子进程,执行一个shell以运行命令来开启一个进程.这个管道必须由pclose()函数关闭,而不是fclose()函数.pclose()函数关闭标准I/O流,等待命令执行结束,然后返回