Impala1.1.1 安装使用

impala交互式查询工具 1 概述 impala是基于hive的大数据分析查询引擎,直接使用hive的元数据库metadata,意味着impala元数据都存储在hive的metastore当中,并且impala兼容hive的绝大多数sql语法。 1.1 优点 速度快 摈弃了MR的计算,改用C++来实现 具有数据仓库的特性,对hive的原有数据做数据分析 支持ODBC,jdbc远程访问 1.2 缺点 内存消耗大,官方推荐每台... 阅读详情

一、介绍

Impala 号称在性能上比Hive高出3~30倍,甚至预言说在将来的某一天可能会超过Hive的使用率而成为Hadoop上最流行的实时计算平台。

Impala的三个组件说明:

  1. impalad :Implala的后台进程,需要安装在每一台数据节点上
  2. statestored:用于协调各个运行impalad的实例之间的信息关系。选择集群中一个节点安装.
  3. impala-shell : Impala的命令行接口,可以安装在非集群节点,使用远程方式连接到Impala服务器。

二、安装

我们在集群中安装impala

  1. 安装cdh4(略)详细可以参看Cloudera CDH4的安装笔记
  2. 安装配置Hive metastore(略)详细可以参考文章Hive相关安装详解
  3. 执行下面命令,安装impala包
    sudo yum install impala             # Binaries for daemons
    sudo yum install impala-server      # Service start/stop script
    sudo yum install impala-state-store # Service start/stop script

    安装包有100M以上,所以如果网络不行,可以先下载相应的安装包。地址:http://www.cloudera.com/content/cloudera/en/products/cdh/impala.html

三、配置

拷贝core-site.xml hdfs-site.xml hive-site.xml这三个文件到/etc/impala/conf目录下。
1)配置hive-site.xml

<!--impala configuration-->
<property>
  <name>hive.metastore.local</name>
  <value>true</value>
</property>
 
<property>
  <name>hive.metastore.uris</name>
  <value>thrift://192.168.1.57:9083</value>
</property>
<property>
  <name>hive.metastore.client.socket.timeout</name>
  <value>3600</value>
  <description>MetaStore Client socket timeout in seconds</description>
</property>

Impala依赖与hive metadata来提供impala需要的元数据库的信息,因此必须配置hive.metastore.uris,启动hive-metadata服务。

2)配置hdfs-site.xml文件

<!--forimpala-->
<property>
  <name>dfs.client.read.shortcircuit</name>
        <value>true</value>
</property>
 
<property>
  <name>dfs.domain.socket.path</name>
        <value>/var/run/hadoop-hdfs/dn._PORT</value>
</property>
 
<property> 
  <name>dfs.client.file-block-storage-locations.timeout</name>
        <value>3000</value>
</property>
 
<property>
  <name>dfs.datanode.hdfs-blocks-metadata.enabled</name>
  <value>true</value>
</property>

3)Short-Circuit Reads(必须)
开启short-circuit reads可以允许Impala直接读取文件系统额数据,免去了与Datanodes通信的必要。因此可以提升Impala的性能。Short-circuit reads依赖libhadoop.so,服务端和客户端都会使用到它。

The text _PORT appears just as shown; you do not need to substitute a number.

修改impala的core-site.xml

<property>
   <name>dfs.client.read.shortcircuit</name>
   <value>true</value>
</property>

修改hdfs-site.xml

<property>
   <name>dfs.client.use.legacy.blockreader.local</name>
   <value>false</value>
</property>
 
<property>
   <name>dfs.datanode.data.dir.perm</name>
   <value>750</value>
</property>
 
<property>
   <name>dfs.block.local-path-access.user</name>
   <value>impala</value>
</property>
 
<property>
    <name>dfs.client.file-block-storage-locations.timeout</name>
    <value>3000</value>
</property>

注意:这个官网上说要配成true,但是实际上配成false才成功

4)Block Location Tracking(可选)
Enabling block location metadata allows Impala to know which disk data blocks are located on, allowing better utilization of the underlying disks.
修改hdfs-site.xml

<property>
  <name>dfs.datanode.hdfs-blocks-metadata.enabled</name>
  <value>true</value>
</property>

5.配置impala启动参数
Impala启动的时候需要知道master的 state store的地址,还需要设置一些自身的端口和内存参数。配置文件是/etc/default/impala。

IMPALA_STATE_STORE_HOST=192.168.1.57
IMPALA_STATE_STORE_PORT=24000
IMPALA_BACKEND_PORT=22000
IMPALA_LOG_DIR=/var/log/impala

IMPALA_STATE_STORE_ARGS=" -log_dir=${IMPALA_LOG_DIR} -state_store_port=${IMPALA_STATE_STORE_PORT}"
IMPALA_SERVER_ARGS=" \
    -log_dir=${IMPALA_LOG_DIR} \
    -state_store_port=${IMPALA_STATE_STORE_PORT} \
    -use_statestore \
    -state_store_host=${IMPALA_STATE_STORE_HOST} \
    -be_port=${IMPALA_BACKEND_PORT}"

ENABLE_CORE_DUMPS=false

现解释下各参数:

1.IMPALA_STATE_STORE_HOSTImpala starte store的地址,需要配置让每台Impalad服务连接到state store
2.内存限制
由于Impalad运行时占用大量内存,因此为了安全我们需要限制Impala内存的使用。这里我们限制内存使用不超过系统的70%

export IMPALA_SERVER_ARGS=${IMPALA_SERVER_ARGS:- \
    -log_dir=${IMPALA_LOG_DIR} \
    -state_store_port=${IMPALA_STATE_STORE_PORT} \
    -use_statestore -state_store_host=${IMPALA_STATE_STORE_HOST} \
    -be_port=${IMPALA_BACKEND_PORT}}

增加mem_limit参数,修改成下面代码

export IMPALA_SERVER_ARGS=${IMPALA_SERVER_ARGS:- \
    -log_dir=${IMPALA_LOG_DIR} -state_store_port=${IMPALA_STATE_STORE_PORT} \
    -use_statestore -state_store_host=${IMPALA_STATE_STORE_HOST} \
    -be_port=${IMPALA_BACKEND_PORT} -mem_limit=70%}

内存限制还可以写绝对的内存大小如:2000M或2G
3.允许核心转储(Core dump enablement)
核心文件,核心转储的解释见百科

export ENABLE_CORE_DUMPS=${ENABLE_COREDUMPS:-false}

修改成:

export ENABLE_CORE_DUMPS=${ENABLE_COREDUMPS:-true}

其他的见Modifying Impala Startup Options

四、测试

重启服务
使用命令重启服务:
sudo service impala-state-store restart
sudo service impala-server restart

Impala的web端口是:
http:// impala-state-store-server:25010/
http:// impala-server:25000/
测试
打开impala-shell连接到Impala-server服务器, 执行查询。
Impala-shell

> connect Slave02.Hadoop:21000;
> select count(1) from pokes;

impala测试
同样的查询在hive里面执行,时间大概是17s左右。
单从这简单的数字看,Impala确实很实时。当然这测试还不够。

五、问题

Insert …. Values现在只支持TEXT和Parquet格式
最好不要使用Insert来插入大数据,因为Insert并不能并行执行。

Parquet创建的Impala表,能够使用impala执行Insert和select操作。而在hive里面会有异常。通过这篇文章能够解决一些问题,但是还是无法使用hive来操作Impala的Parquet数据格式的表。

六、语句

建表语句:
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name
[(col_name data_type [COMMENT 'col_comment'], …)]
[COMMENT 'table_comment']
[PARTITIONED BY (col_name data_type [COMMENT 'col_comment'], …)]
[
[ROW FORMAT row_format] [STORED AS file_format]
]
[LOCATION 'hdfs_path']

data_type
: primitive_type

primitive_type
: TINYINT
| SMALLINT
| INT
| BIGINT
| BOOLEAN
| FLOAT
| DOUBLE
| STRING
| TIMESTAMP

row_format
: DELIMITED [FIELDS TERMINATED BY 'char' [ESCAPED BY 'char']]
[LINES TERMINATED BY 'char']

file_format:
: PARQUETFILE
| SEQUENCEFILE
| TEXTFILE
| RCFILE
ALTER TABLE old_name RENAME TO new_name; 修改表名
ALTER TABLE table_name SET LOCATION ‘hdfs_path_of_directory’;修改数据位置
ALTER TABLE table_name ADD COLUMNS (column_defs); 增加列
ALTER TABLE table_name REPLACE COLUMNS (column_defs);
ALTER TABLE table_name CHANGE column_name new_name new_spec; 修改列名
ALTER TABLE table_name DROP column_name; 删除列

ALTER TABLE table_name SET FILEFORMAT { PARQUETFILE | RCFILE | SEQUENCEFILE | TEXTFILE } 修改表的数据存储格式

describe formatted v1; 参看表的信息

explain select count(*) from customer_address; 参看语句执行计划

一、Impala简介

Cloudera Impala对你存储在Apache Hadoop在HDFS,HBase的数据提供直接查询互动的SQL。除了像Hive使用相同的统一存储平台,Impala也使用相同的元数据,SQL语法(Hive SQL),ODBC驱动程序和用户界面(Hue Beeswax)。Impala还提供了一个熟悉的面向批量或实时查询和统一平台。

二、安装要求

1、软件要求
  •   Red Hat Enterprise Linux (RHEL)/CentOS 6.2 (64-bit)
  •   CDH 4.1.0 or later
  •   Hive
  •   MySQL

注意:Impala不支持在Debian/Ubuntu, SuSE, RHEL/CentOS 5.7系统中安装。

2、硬件要求

在Join查询过程中需要将数据集加载内存中进行计算,因此对安装Impalad的内存要求较高。

三、安装准备

1、操作系统版本查看

>more /etc/issue

CentOS release 6.2 (Final)

Kernel \r on an \m

2、机器准备

10.28.169.112 mr5

10.28.169.113 mr6

10.28.169.114 mr7

10.28.169.115 mr8

各机器安装角色

mr5:NameNode、ResourceManager、SecondaryNameNode、Hive、impala-state-store

mr6、mr7、mr8:DataNode、NodeManager、impalad

3、用户准备

在各个机器上新建用户hadoop,并打通ssh

4、软件准备

到cloudera官网下载:

Hadoop:

hadoop-2.0.0-cdh4.1.2.tar.gz

Hive:

hive-0.9.0-cdh4.1.2.tar.gz

Impala:

impala-0.3-1.p0.366.el6.x86_64.rpm

impala-debuginfo-0.3-1.p0.366.el6.x86_64.rpm

impala-server-0.3-1.p0.366.el6.x86_64.rpm

impala-shell-0.3-1.p0.366.el6.x86_64.rpm

impala依赖包下载:

bigtop-utils-0.4(http://beta.cloudera.com/impala/redhat/6/x86_64/impala/0/RPMS/noarch/)

其他依赖包下载地址:http://mirror.bit.edu.cn/centos/6.3/os/x86_64/Packages/

四、hadoop-2.0.0-cdh4.1.2安装

1、安装包准备

hadoop用户登录到mr5机器,将hadoop-2.0.0-cdh4.1.2.tar.gz上传到/home/hadoop/目录下并解压:

    tar zxvf hadoop-2.0.0-cdh4.1.2.tar.gz

2、配置环境变量

修改mr5机器hadoop用户主目录/home/hadoop/下的.bash_profile环境变量:

export JAVA_HOME=/usr/jdk1.6.0_30

export JAVA_BIN=${JAVA_HOME}/bin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export  JAVA_OPTS=”-Djava.library.path=/usr/local/lib -server -Xms1024m -Xmx2048m -XX:MaxPermSize=256m -Djava.awt.headless=true -Dsun.net.client.defaultReadTimeout=600

00 -Djmagick.systemclassloader=no -Dnetworkaddress.cache.ttl=300 -Dsun.net.inetaddr.ttl=300″

export HADOOP_HOME=/home/hadoop/hadoop-2.0.0-cdh4.1.2

export HADOOP_PREFIX=$HADOOP_HOME

export HADOOP_MAPRED_HOME=${HADOOP_HOME}

export HADOOP_COMMON_HOME=${HADOOP_HOME}

export HADOOP_HDFS_HOME=${HADOOP_HOME}

export HADOOP_YARN_HOME=${HADOOP_HOME}

export PATH=$PATH:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

export JAVA_HOME JAVA_BIN PATH CLASSPATH JAVA_OPTS

export HADOOP_LIB=${HADOOP_HOME}/lib

export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

3、修改配置文件

在机器mr5上hadoop用户登录修改hadoop的配置文件(配置文件目录:hadoop-2.0.0-cdh4.1.2/etc/hadoop)

(1)、slaves :

添加以下节点

mr6

mr7

mr8

(2)、hadoop-env.sh :

增加以下环境变量

export JAVA_HOME=/usr/jdk1.6.0_30

export HADOOP_HOME=/home/hadoop/hadoop-2.0.0-cdh4.1.2

export HADOOP_PREFIX=${HADOOP_HOME}

export HADOOP_MAPRED_HOME=${HADOOP_HOME}

export HADOOP_COMMON_HOME=${HADOOP_HOME}

export HADOOP_HDFS_HOME=${HADOOP_HOME}

export HADOOP_YARN_HOME=${HADOOP_HOME}

export PATH=$PATH:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

export JAVA_HOME JAVA_BIN PATH CLASSPATH JAVA_OPTS

export HADOOP_LIB=${HADOOP_HOME}/lib

export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

(3)、core-site.xml :

<configuration>

<property>

  <name>fs.default.name</name>

  <value>hdfs://mr5:9000</value>

  <description>The name of the default file system.Either the literal string “local” or a host:port for NDFS.</description>

  <final>true</final>

</property>

<property>

  <name>io.native.lib.available</name>

  <value>true</value>

</property>

<property>

  <name>hadoop.tmp.dir</name>

  <value>/home/hadoop/tmp</value>

  <description>A base for other temporary directories.</description>

</property>

</configuration>

(4)、hdfs-site.xml :

<configuration>

<property>

  <name>dfs.namenode.name.dir</name>

  <value>file:/home/hadoop/dfsdata/name</value>

  <description>Determines where on the local filesystem the DFS name node should store the name table.If this is a comma-delimited list of directories,then name table is replicated in all of the directories,for redundancy.</description>

  <final>true</final>

</property>

<property>

  <name>dfs.datanode.data.dir</name>

  <value>file:/home/hadoop/dfsdata/data</value>

  <description>Determines where on the local filesystem an DFS data node should store its blocks.If this is a comma-delimited list of directories,then data will be stored in all named directories,typically on different devices.Directories that do not exist are ignored.

  </description>

  <final>true</final>

</property>

<property>

  <name>dfs.replication</name>

  <value>3</value>

</property>

<property>

  <name>dfs.permission</name>

  <value>false</value>

</property>

</configuration>

(5)、mapred-site.xml:

<configuration>

<property>

  <name>mapreduce.framework.name</name>

  <value>yarn</value>

</property>

<property>

  <name>mapreduce.job.tracker</name>

  <value>hdfs://mr5:9001</value>

  <final>true</final>

</property>

<property>

  <name>mapreduce.task.io.sort.mb</name>

  <value>512</value>

</property>

<property>

  <name>mapreduce.task.io.sort.factor</name>

  <value>100</value>

</property>

<property>

  <name>mapreduce.reduce.shuffle.parallelcopies</name>

  <value>50</value>

</property>

<property>

  <name>mapreduce.cluster.temp.dir</name>

  <value>file:/home/hadoop/mapreddata/system</value>

  <final>true</final>

</property>

<property>

  <name>mapreduce.cluster.local.dir</name>

  <value>file:/home/hadoop/mapreddata/local</value>

  <final>true</final>

</property>

</configuration>

(6)、yarn-env.sh :

增加以下环境变量

export JAVA_HOME=/usr/jdk1.6.0_30

export HADOOP_HOME=/home/hadoop/hadoop-2.0.0-cdh4.1.2

export HADOOP_PREFIX=${HADOOP_HOME}

export HADOOP_MAPRED_HOME=${HADOOP_HOME}

export HADOOP_COMMON_HOME=${HADOOP_HOME}

export HADOOP_HDFS_HOME=${HADOOP_HOME}

export HADOOP_YARN_HOME=${HADOOP_HOME}

export PATH=$PATH:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

export JAVA_HOME JAVA_BIN PATH CLASSPATH JAVA_OPTS

export HADOOP_LIB=${HADOOP_HOME}/lib

export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

(7)、yarn-site.xml:

<configuration>

<!– Site specific YARN configuration properties –>

<property>

<name>yarn.resourcemanager.address</name>

<value>mr5:8080</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>mr5:8081</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>mr5:8082</value>

</property>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce.shuffle</value>

</property>

<property>

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

<property>

<name>yarn.nodemanager.local-dirs</name>

<value>file:/home/hadoop/nmdata/local</value>

<description>the local directories used by the nodemanager</description>

</property>

<property>

<name>yarn.nodemanager.log-dirs</name>

<value>file:/home/hadoop/nmdata/log</value>

<description>the directories used by Nodemanagers as log directories</description>

</property>

</configuration>

4、拷贝到其他节点

(1)、在mr5上配置完第2步和第3步后,压缩hadoop-2.0.0-cdh4.1.2

rm hadoop-2.0.0-cdh4.1.2.tar.gz

tar  zcvf hadoop-2.0.0-cdh4.1.2.tar.gz  hadoop-2.0.0-cdh4.1.2

然后将hadoop-2.0.0-cdh4.1.2.tar.gz远程拷贝到mr6、mr7、mr8机器上

scp /home/hadoop/hadoop-2.0.0-cdh4.1.2.tar.gz hadoop@mr6:/home/hadoop/

scp /home/hadoop/hadoop-2.0.0-cdh4.1.2.tar.gz hadoop@mr7:/home/hadoop/

scp /home/hadoop/hadoop-2.0.0-cdh4.1.2.tar.gz hadoop@mr8:/home/hadoop/

(2)、将mr5机器上hadoop用户的配置环境的文件.bash_profile远程拷贝到mr6、mr7、mr8机器上

scp /home/hadoop/.bash_profile hadoop@mr6:/home/hadoop/

scp /home/hadoop/.bash_profile hadoop@mr7:/home/hadoop/

scp /home/hadoop/.bash_profile hadoop@mr8:/home/hadoop/

拷贝完成后,在mr5、mr6、mr7、mr8机器的/home/hadoop/目录下执行

source .bash_profile

使得环境变量生效

5、启动hdfs和yarn

以上步骤都执行完成后,用hadoop用户登录到mr5机器依次执行:

hdfs namenode -format

start-dfs.sh

start-yarn.sh

通过jps命令查看:

mr5成功启动了NameNode、ResourceManager、SecondaryNameNode进程;

mr6、mr7、mr8成功启动了DataNode、NodeManager进程。

6、验证成功状态

通过以下方式查看节点的健康状态和作业的执行情况:

浏览器访问(本地需要配置hosts)

http://mr5:50070/dfshealth.jsp

http://mr5:8088/cluster

五、hive-0.9.0-cdh4.1.2安装

1、安装包准备

使用hadoop用户上传hive-0.9.0-cdh4.1.2到mr5机器的/home/hadoop/目录下并解压:

     tar zxvf hive-0.9.0-cdh4.1.2

2、配置环境变量

在.bash_profile添加环境变量:

export HIVE_HOME=/home/hadoop/hive-0.9.0-cdh4.1.2

export PATH=$PATH:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${HIVE_HOME}/bin

export HIVE_CONF_DIR=$HIVE_HOME/conf

export HIVE_LIB=$HIVE_HOME/lib

添加完后执行以下命令使得环境变量生效:

. .bash_profile

3、修改配置文件

修改hive配置文件(配置文件目录:hive-0.9.0-cdh4.1.2/conf/)

在hive-0.9.0-cdh4.1.2/conf/目录下新建hive-site.xml文件,并添加以下配置信息:

<configuration>

        <property>

                <name>hive.metastore.local</name>

                <value>true</value>

        </property>

        <property>

                <name>javax.jdo.option.ConnectionURL</name>

                <value>jdbc:mysql://10.28.169.61:3306/hive_impala?createDatabaseIfNotExist=true</value>

        </property>

        <property>

                <name>javax.jdo.option.ConnectionDriverName</name>

                <value>com.mysql.jdbc.Driver</value>

        </property>

        <property>

                <name>javax.jdo.option.ConnectionUserName</name>

                <value>hadoop</value>

        </property>

        <property>

                <name>javax.jdo.option.ConnectionPassword</name>

                <value>123456</value>

        </property>

        <property>

                <name>hive.security.authorization.enabled</name>

                <value>false</value>

        </property>

        <property>

            <name>hive.security.authorization.createtable.owner.grants</name>

            <value>ALL</value>

        </property>

        <property>

            <name>hive.querylog.location</name>

            <value>${user.home}/hive-logs/querylog</value>

        </property>

</configuration>

4、验证成功状态

完成以上步骤之后,验证hive安装是否成功

在mr5命令行执行hive,并输入”show tables;”,出现以下提示,说明hive安装成功:

>hive

hive> show tables;

OK

Time taken: 18.952 seconds

hive>

六、impala安装

说明:

(1)、以下1、2、3、4步是在root用户分别在mr5、mr6、mr7、mr8下执行

(2)、以下第5步是在hadoop用户下执行

1、安装依赖包:

安装mysql-connector-java:

yum install mysql-connector-java

安装bigtop

rpm -ivh bigtop-utils-0.4+300-1.cdh4.0.1.p0.1.el6.noarch.rpm

安装libevent

rpm -ivh libevent-1.4.13-4.el6.x86_64.rpm

如存在其他需要安装的依赖包,可以到以下链接:

http://mirror.bit.edu.cn/centos/6.3/os/x86_64/Packages/进行下载。

2、安装impala的rpm,分别执行

rpm -ivh impala-0.3-1.p0.366.el6.x86_64.rpm

rpm -ivh impala-server-0.3-1.p0.366.el6.x86_64.rpm

rpm -ivh impala-debuginfo-0.3-1.p0.366.el6.x86_64.rpm

rpm -ivh impala-shell-0.3-1.p0.366.el6.x86_64.rpm

3、找到impala的安装目录

完成第1步和第2步后,通过以下命令:

find / -name impala

输出:

/usr/lib/debug/usr/lib/impala

/usr/lib/impala

/var/run/impala

/var/log/impala

/var/lib/alternatives/impala

/etc/default/impala

/etc/alternatives/impala

 

找到impala的安装目录:/usr/lib/impala

4、配置Impala

在Impala安装目录/usr/lib/impala下创建conf,将hadoop中的conf文件夹下的core-site.xml、hdfs-site.xml、hive中的conf文件夹下的hive-site.xml复制到其中。

在core-site.xml文件中添加如下内容:

<property>

<name>dfs.client.read.shortcircuit</name>

<value>true</value>

</property>

 

<property>

<name>dfs.client.read.shortcircuit.skip.checksum</name>

<value>false</value>

</property>

在hdfs-site.xml文件中添加如下内容:

<property>

<name>dfs.datanode.data.dir.perm</name>

<value>755</value>

</property>

 

<property>

<name>dfs.block.local-path-access.user</name>

<value>hadoop</value>

</property>

 

<property>

<name>dfs.datanode.hdfs-blocks-metadata.enabled</name>

<value>true</value>

</property>

5、启动服务

(1)、在mr5启动Impala state store,命令如下:

>GLOG_v=1 nohup statestored -state_store_port=24000 &

如果statestore正常启动,可以在/tmp/statestored.INFO查看。如果出现异常,可以查看/tmp/statestored.ERROR定位错误信息。

 

(2)、在mr6、mr7、mr8启动Impalad,命令如下:

mr6:

>GLOG_v=1 nohup impalad -state_store_host=mr5 -nn=mr5 -nn_port=54310 -hostname=mr6 -ipaddress=10.28.169.113 &

mr7:

>GLOG_v=1 nohup impalad -state_store_host=mr5 -nn=mr5 -nn_port=54310 -hostname=mr7 -ipaddress=10.28.169.114 &

mr8:

>GLOG_v=1 nohup impalad -state_store_host=mr5 -nn=mr5 -nn_port=54310 -hostname=mr8 -ipaddress=10.28.169.115 &

如果impalad正常启动,可以在/tmp/ impalad.INFO查看。如果出现异常,可以查看/tmp/ impalad.ERROR定位错误信息。

 

6、使用shell

使用impala-shell启动Impala Shell,分别连接各Impalad主机(mr6、mr7、mr8),刷新元数据,之后就可以执行shell命令。相关的命令如下(可以在任意节点执行):

>impala-shell

[Not connected] > connect mr6:21000

[mr6:21000] >refresh

[mr6:21000]>connect mr7:21000

[mr7:21000]>refresh

[mr7:21000]>connect mr8:21000

[mr8:21000]>refresh

7、验证成功状态

使用impala-shell启动Impala Shell,分别连接各Impalad主机,刷新元数据,之后就可以执行shell命令。相关的命令如下(可以在任意节点执行):

>impala-shell

[Not connected] > connect mr6:21000

[mr6:21000] >refresh

[mr6:21000] > show databases

default

[mr6:21000] >

出现以上提示信息,说明安装成功


Impala连接-依赖库SASL 安装细节 在python安装impala包的过程中,会要求安装sasl。而太高版本的sasl在调用impala时会发生会发生报错。所以需要使用低版本的sasl。 以下为版本不对时,安装sasl的情况: 因此,可以去以下网站寻找对应合适的sasl: https://www.lfd.uci.edu/~gohlke/pythonlibs/ 在这里可以找到对应python版本和系统版本的sasl轮子 ... 阅读详情

相关推荐

【impala】impala的shell命令使用

文章目录1. 登录 1. 登录 本次登录使用的是impala与LDAP集成后的登录 [root@cdh-server1 ~]# impala-shell -i 127.0.0.1:21000 -u admin_lcc -l --auth_creds_ok_in_clear /usr/bin/impala-shell: line 47: warning: setlocale: LC_CTYPE: c...

九师兄 3004

impala-shell安装及使用

impala简介: Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据。 Impala Shell使用 Impala使用Hive SQL进行数据查询,因此Impala Shell在使用方面也效仿了Hive,在许多命令的用法上和Hive有相近之处,但使用细节又有所区别。 Impala Shell和Hive的...

lfwer的博客 3070

impala的安装

Impala的最大特点也是最大卖点就是它的快速,它是基于Hive的大数据实时分析查询引擎,这里详细介绍了如何安装。

Apache Impala 4.1概览

Impala 4.1发布了!快来看看有什么更新吧!

Stiga Huang的专栏 2088

从数据手册到代码:一步步解读SC7A20寄存器配置与加速度值换算原理

本文详细解析了SC7A20三轴加速度传感器的寄存器配置与加速度值换算原理。从数据手册出发,逐步拆解关键寄存器设置,并推导原始ADC值到物理加速度的完整换算过程,帮助开发者深入理解传感器底层工作原理,提升嵌入式开发效率。

weixin_29179311的博客 369

达梦的自定义类型和存储过程支持创建同义词,不支持同义词使用?

达梦8的自定义类型和存储过程支持创建同义词,但是通过同义词调用报错,而在oracle上验证没有问题,难道是发现了达梦的bug了?非也非也,详情请见下文

wy071218的专栏 979

使用rmp包安装impala1.4.1

首先安装impala依赖包 添加repo使用yum安装 sudo wget -O /etc/yum.repos.d/bigtop.repo http://www.apache.org/dist/bigtop/bigtop-0.7.0/repos/centos5/bigtop.repo sudo yum install bigtop-utils hadoop使用的cdh版本为5.1.

superye1983的专栏 4044

EEGLAB合辑 | 第一节 往EEGLAB导入数据

1、学习Matlab EEGLAB图形界面建立在强大的Matlab脚本语言之上。要使用EEGLAB构建宏命令和执行自定义和自动化处理的全部功能,就需要能够在Matlab中操纵EEGLAB数据结构。由于时间限制,这个wiki没有提供关于Matlab脚本语言的介绍。相反,用户需要在开始研究之前熟悉Matlab。 2、安装EEGLAB和教程文件 首先下载包含教程数据集的EEGLAB(30MB),附下载地址。 (https://sccn.ucsd.edu/eeglab/downloadtoolbox.php) 解压

nvsirgn的博客 5134

【原创】大数据基础之Impala(1)简介、安装、使用

impala2.12 官方:http://impala.apache.org/ 一 简介 Apache Impala is the open source, native analytic database for Apache Hadoop. Impala is shipped by Cloudera, MapR, Oracle, and Amazon. impala是hadoop上...

weixin_30709929的博客 338

已解决-Parallels Desktop 16 网络初始化失败:您的虚拟机将继续正常运作,但将无法连接网络

我是月球挖掘机,相信不少打工人为了尝鲜已经更新了MacOS 11 Big Sur,当然,苹果每次的系统大更新,都会给我们软件的功能无法使用惊喜,这次的也不例外。 这个问题是我在更新macOS Big Sur之后,Parallels Desktop打开虚拟机后,提示: 报错信息 网络初始化失败:您的虚拟机将继续正常运作,但将无法连接网络 这是我的软件版本: 起初我以为是我的虚拟机坏了,结果重装了一遍虚拟机,没有任何用处。我开始在网上找方法,只能找到那个使用命令行打开软件的命令,除此之外没有了

月球挖掘机 5万+

【域控制器EMC】域控制器EMC设计总结

汇总项目设计当中关于EMC的设计要点,主要从原理设计、Layout、结构、外设部分总结。满足要求的器件和合理的电路能降低电磁干扰;正确的布局、接地、信号路径、屏蔽等可以减少电磁辐射。结构件设计也会对EMC性能产生影响。

weixin_42098658的博客 1259

安装Impala过程

与Hive类似,Impala也可以直接与HDFS和HBase库直接交互。只不过Hive和其它建立在MapReduce上的框架适合需要长时间运行的批处理任务。例如:那些批量提取,转化,加载(ETL)类型的Job,而Impala主要用于实时查询。 Hadoop集群各节点的环境设置及安装过程见使用yum安装CDH Hadoop集群,参考这篇文章。 1. 环境...

weixin_33694620的博客 222

FISCO BCOS 系列(一)—— 搭建第一个区块链网络&配置控制台指南

本文详细介绍了FISCO BCOS区块链网络的搭建与配置过程,包括环境准备、单机四节点网络搭建、控制台配置使用等核心内容。从系统要求、依赖安装开始,逐步指导如何通过脚本快速搭建区块链网络,配置控制台连接,并演示了账户管理、合约部署调用等基础操作。同时提供了多节点网络配置、常见问题解决方案以及生产环境安全建议,为开发者提供了从入门到进阶的完整指南。

分享AI、区块链技术及应用,未来已来 812

Impala安装杂记

滑动窗口在监控和统计应用的场景比较广泛,比如每隔一段时间(10s)统计最近30s的请求量或者异常次数,根据请求或者异常次数采取相应措施;这里说一下滑动窗口在storm中实现的原理。参见下图:   窗口大小为30s,每10s就统计一次,那么窗口一共有3个slot,可以对窗口建立长度为3的数组;在storm的blot中在10s内通过execute(tuple)功能不停的把接收的tuple进行c

qq_19816187的专栏 6513

振镜控制卡硬件接口揭秘:XY2-100/SL2-100协议对比

本文对比分析了工业振镜控制领域两种主流数字通信协议XY2-100和SL2-100的硬件接口差异与应用场景。XY2-100作为开放式协议兼容性强,采用LVDS差分信号传输,适用于激光打标等中高精度场景;SL2-100为半封闭协议,采用RS485差分信号,专为高速响应场景设计。文章详细解析了两种协议的引脚定义、通信机制和性能参数,指出XY2-100适配多品牌振镜且调试简单,SL2-100则更适合Nutfield专用设备的高速高精度需求。最后提供了接口调试的实操建议和选型逻辑,强调应根据具体应用场景的精度、速度和

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 648

【系统移植】 移植主线U-Boot(v2024.01-rc3)到RK3399

[系统移植] 移植主线U-Boot(v2024.01-rc3)到RK3399

Systemcall名屋 1004

Impala安装json解析udf插件

背景 Impala跟Hive一样,是常用的数据仓库组件之一。熟悉Hive的同学肯定知道,Hive官方提供了get_json_object函数用于处理json字符串,但是Impala官方并没有提供类似的方法,好在是有第三方实现了一个类似的udf扩展,只需进行编译安装后,就可以在Impala中处理json字符串了。 环境介绍 cdh 5.10.1 centos 6.8 impala 2.7....

maenlai0086的博客 1632

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

impala将结果转换成临时表_0696-5.16.1-如何使用SAS连接CDH5.16.1集群的Hive和Impala-2

Kerberos环境集成4.1 SAS客户端环境配置1.集群已启用Kerberos认证2.通过Cloudera Manager Web界面下载HDFS的客户端配置文件至本地3.修改SAS_HADOOP_CONFIG_PATH环境变量配置如下:SAS_HADOOP_CONFIG_PATH= F:Software_Install_Dirhdfs-clientconfighadoop-conf_kb4....

weixin_30487899的博客 851

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

cdh集群impala 负载均衡

impala是MPP查询引擎,可以实现秒级响应,并发性能受机器数量,内存影响。impala 与hive共享元数据,hive表可以无缝切换到impala查询(impala不支持hive json, 3.1版本开始支持orc文件格式,建议还是使用parquet文件格式)。 impala 启用负载均衡: 1. 安装haproxy yum insta...

wflh323的专栏 1978

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Python 连接 Hive & Impala

thrift_sasl-0.3.0 #仅支持hive,连接impala报错。IDE工具:pycharm。#指定从清华源安装指定版本。#查询已经安装的版本。

lq1205990816的博客 857

44.Impala负载均衡实现—Nginx

44.1 演示环境 集群未启用Kerberos Nginx1.12.2 CM和CDH版本5.13.0 用root用户操作 44.2 操作演示 Nginx服务安装及启停 下载Nginx安装包,下载地址:http://nginx.org/download/nginx-1.12.2.tar.gz 选择集群中任意一台服务器用来安装Nginx服务或者选用一台独立的服务器用来部署Nginx,需要确保Nginx所在的服务器与集群中所有的Impala节点网络是通的 包括端口号21050 解压nginx-1.21.2

大勇若怯任卷舒 434

python连接impala

python连接impala

weixin_39925939的博客 1556

impala故障(cdh5.15.1版本)

cdh5.15.1版本impala在使用select * from table_name。时报错 [dpi03:21000] > select count(*) from active_resource_info_source; Query: select count(*) from active_resource_info_source Query submitted at: 2018...

weixin_30421809的博客 354

新版DBeaver访问Kerberos环境下的Impala,详细配置过程,看完不会你打我!

DBeaver版本:6.x.x CDH版本:6.2.1 impala:3.2.0 目的 目前网上教程中,有许多的错误地方,且版本较旧不适用新版本。 windows下安装kfw客户端 下载地址:https://web.mit.edu/kerberos/dist/index.html 安装过程没什么好说的,傻瓜式安装,唯一需要注意的是: 安装之后不要点击重启(其实也可以,但是没必要)!不要打开软件!...

Mr_kidBK的博客 4150

Universal Primer 完整拆解:如何用一份系统提示词写出“任何学科都能教“的递归教学循环

你往聊天框输入"教我 Transformer"。普通 GPT 会一口气吐出一篇长摘要,你看完依旧云里雾里;而 GPTs 仓库(一个泄露 GPT 系统提示词的存档)里的通用导师 GPT——Universal Primer——反着来:先逼自己抛出技术总览,再回头问你"线性代数掌握到什么程度"。你说没学过,它就不肯跳步,往下钻去补课,补完立刻出一道高难度技术题考你。整份提示词只有 431 词,没有工具、

gitblog_00896的博客 969
上一篇: CDH
下一篇: Apache Drill源码分析和编译
hxpjava1
博客等级 码龄19年 1365粉丝 511原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值