Hadoop-Impala学习笔记之管理
配置参数管理
待补充。。。
资源分配管理(Admission Control)
Impala有资源池的概念,允许某些查询在特定的资源池执行,不过在白天不跑批/晚上不跑adhoc的DSS系统中,该机制并不常用(oracle、cgroup性质都类似),有兴趣可以参考《Impala Guide 中的Admission Control and Query Queuing》。
安全管理(跟一般的RDBMS差不多,只不过认证和授权是外部的,比较复杂)
Impala认证基于Kerberos框架《Enabling Kerberos Authentication for Impala》,Impala授权框架基于Sentry开源项目《Enabling Sentry Authorization for Impala》,从Impala 1.1.0开始加入,审计特性从1.1.1开始支持。
kerberos安装:https://www.jianshu.com/p/fc2d2dbd510b
kerberos介绍:https://www.cnblogs.com/ulysses-you/p/8107862.html
CDH集成Kerberos配置:https://blog.csdn.net/qxf1374268/article/details/79321951
如何在CDH5.12集群中启用Kerberos认证:https://blog.csdn.net/cy309173854/article/details/79288491
优化
启用short-circuit读
该特性使得Impala可以从文件系统直接读取本地数据,避免了和DataNodes通信的必要性,提升性能,它要求使用libhadoop.so(hadoop原生库)。tarball安装中不包含此库,.rpm, .deb, parcel中包含。
该特性可以通过修改hdfs-site.xml或Cloudera Manager修改。
启用块位置跟踪
该特性可以使得Impala更好地利用底层的磁盘,如果Impala不是由Cloudera Manager管理,则需要启用块位置跟踪特性。该特性同样可以通过hdfs-site.xml修改。
JDBC访问
JDBC 2.0及之后的版本可通过21050访问Impala,可通过impalad启动参数--hs2_port修改默认端口 。
在Impala 2.0+,可通过Cloudera JDBC Connector和Hive 0.13(0.12之前的版本无法访问2.0) JDBC访问。
连接串:jdbc:impala://Host:Port[/Schema];Property1=Value;Property2=Value;...
jdbc:hive2://myhost.example.com:21050/;auth=noSasl
jdbc:hive2://myhost.example.com:21050/;principal=impala/myhost.example.com@H2.EXAMPLE.COM -- Kerberos认证的Impala
当前版本的驱动在对Kudu表执行DML操作时,如果发生一些错误如唯一性约束违反,不会报错。如果有此要求,可以使用Kudu Java API而不是JDBC。
impala jdbc没有发布在共有的maven仓库中,需要自己从https://www.cloudera.com/downloads/connectors/impala/jdbc/2-5-43.html下载,并维护到本地maven仓库,https://github.com/onefoursix/Cloudera-Impala-JDBC-Example包含了一个例子,它使用就和普通的JDBC一样的,没什么特别的。
Impala支持的HDFS文件格式

其中Snappy在压缩率和解压效率之间取得平衡,是推荐的做法。Gzip可以得到最好的压缩率。如果数据几乎一直驻留内存,则不用考虑压缩,因为节省不了I/O。
默认情况下,Impala创建的就是文本文件格式的表。
Parquet是列式存储的二进制文件格式,适合于访问少数列的场景。要创建Parquet格式的表,可以在create table中声明STORED AS PARQUET;子句,如下:
[impala-host:21000] > create table parquet_table_name (x INT, y STRING) STORED AS PARQUET;
还可以直接从Parquet推断出列定义:
CREATE EXTERNAL TABLE ingest_existing_files LIKE PARQUET
'/user/etl/destination/datafile1.dat'
STORED AS PARQUET
LOCATION '/user/etl/destination';
Impala使用的端口列表
| Component | Service | Port | Access Requirement | Comment |
|---|---|---|---|---|
|
Impala Daemon |
Impala Daemon Frontend Port |
21000 |
External |
Used to transmit commands and receive results by |
|
Impala Daemon |
Impala Daemon Frontend Port |
21050 |
External |
Used to transmit commands and receive results by applications, such as Business Intelligence tools, using JDBC, the Beeswax query editor in Hue, and some ODBC drivers. |
|
Impala Daemon |
Impala Daemon Backend Port |
22000 |
Internal |
Internal use only. Impala daemons use this port for Thrift based communication with each other. |
|
Impala Daemon |
StateStoreSubscriber Service Port |
23000 |
Internal |
Internal use only. Impala daemons listen on this port for updates from the statestore daemon. |
|
Catalog Daemon |
StateStoreSubscriber Service Port |
23020 |
Internal |
Internal use only. The catalog daemon listens on this port for updates from the statestore daemon. |
|
Impala Daemon |
Impala Daemon HTTP Server Port |
25000 |
External |
Impala web interface for administrators to monitor and troubleshoot. |
|
Impala StateStore Daemon |
StateStore HTTP Server Port |
25010 |
External |
StateStore web interface for administrators to monitor and troubleshoot. |
|
Impala Catalog Daemon |
Catalog HTTP Server Port |
25020 |
External |
Catalog service web interface for administrators to monitor and troubleshoot. New in Impala 1.2 and higher. |
|
Impala StateStore Daemon |
StateStore Service Port |
24000 |
Internal |
Internal use only. The statestore daemon listens on this port for registration/unregistration requests. |
|
Impala Catalog Daemon |
Catalog Service Port |
26000 |
Internal |
Internal use only. The catalog service uses this port to communicate with the Impala daemons. New in Impala 1.2 and higher. |
|
Impala Daemon |
KRPC Port |
27000 |
Internal |
Internal use only. Impala daemons use this port for KRPC based communication with each other. |
|
Impala Daemon |
Llama Callback Port |
28000 |
Internal |
Internal use only. Impala daemons use to communicate with Llama. New in Impala 1.3and higher. |
|
Impala Llama ApplicationMaster |
Llama Thrift Admin Port |
15002 |
Internal |
Internal use only. New in Impala 1.3 and higher. |
|
Impala Llama ApplicationMaster |
Llama Thrift Port |
15000 |
Internal |
Internal use only. New in Impala 1.3 and higher. |
|
Impala Llama ApplicationMaster |
Llama HTTP Port |
15001 |
External |
Llama service web interface for administrators to monitor and troubleshoot. New in Impala 1.3 and higher. |
Hadoop-Impala学习笔记之管理的更多相关文章
- Hadoop入门学习笔记---part3
2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...
- Hadoop入门学习笔记---part1
随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ...
- Hadoop入门学习笔记---part4
紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...
- Hadoop入门学习笔记---part2
在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...
- impala学习笔记
impala学习笔记 -- 建库 CREATE DATABASE IF NOT EXISTS database_name; -- 在HDFS文件系统中创建数据库,需要指定要创建数据库的位置. CREA ...
- Hadoop入门学习笔记(一)
Week2 学习笔记 Hadoop核心组件 Hadoop HDFS(分布式文件存储系统):解决海量数据存储 Hadoop YARN(集群资源管理和任务调度框架):解决资源任务调度 Hadoop Map ...
- MongoDB学习笔记—权限管理
1.MongoDB权限介绍 a 上篇文章中,我们在Linux下配置了MongoDB环境并且将其设置为服务随机器启动而启动,那么接下来这篇文章我们就来简单说一下MongoDB下对登录用户权限的管理. b ...
- Hadoop概括——学习笔记<一>
之前有幸在MOOC学院抽中小象学院hadoop体验课. 这是小象学院hadoop2.X概述第一章的笔记 第一章主要讲的是hadoop基础知识.老师讲的还是比较全面简单的,起码作为一个非专业码农以及数据 ...
- Hadoop概括——学习笔记<一>转
前言 第一章主要讲的是hadoop基础知识.老师讲的还是比较全面简单的,起码作为一个非专业码农以及数据库管理人员,也能狗大致了解其特点 首先是概括图(以hadoop2.0为例) 一.Hadoop基础 ...
- hadoop spark学习笔记
http://www.csdn.net/article/2015-06-08/2824889 hive:是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sq ...
随机推荐
- asch相关的linux基础知识分享
本文针对的人群:会用putty.SecureCRT.xhsell等工具ssh连接到自己的asch服务器上,但不怎么会执行命令的人.高手请绕路~ 本文主要围绕受托人搭建.维护涉及相关的内容进行Linux ...
- PHP 多个构造函数
class A { function __construct() { $a = func_get_args(); $i = func_num_args(); if (method_exists($th ...
- nginx上通过ssl证书将http转发为https
环境:阿里云linux,ngnix 1.16.0 ,ssl证书,XXXX.jar 0.自行在阿里云上下载免费的ssl证书.里面有2个文件.key和pem后面要用到. 1.首先将项目在linux上跑起来 ...
- in与exists和not in 与 not exists的区别
1.in 与 exists: 外表大,用IN:内表大,用EXISTS: 原理: 用in:外表使用了索引,直接作hash连接: 用exists:内表使用了索引,外表作loop循环再进行匹配: 2.not ...
- [ipsec][strongswan] 使用wireshark查看strongswan ipsec esp ikev1 ikev2的加密内容
一,编译,启用strongswan的save-keys plugin ./configure --prefix=/root/OUTPUT --exec-prefix=/root/OUTPUT --en ...
- 新建的小程序没有app.js,app.json等文件
因为在创建的时候没有勾选 建立普通快速启动模板,而我在创建的时候没有发现有这个选项可以选择. 解决办法:把之前创建过的文件夹整个删掉,不能只删内容.然后再重新新建项目,就会出现 建立普通快速启动模板 ...
- ORA-00600: 内部错误代码, 参数: [kcm_headroom_warn_1], [], [], [], [], [], [], [], [], [], [], []
SQL*Plus: Release 11.2.0.4.0 Production on 星期三 1月 1 08:53:48 2003 Copyright (c) 1982, 2013, Oracle. ...
- JAVA8 中 LocalDateTime的使用小栗子
LocalDate givenDate = LocalDate.parse("2019-04-23",DateTimeFormatter.ofPattern("yyyy- ...
- mysql 处理utf8mb4的问题
jdbc端的characterEncoding=utf8 无法改为utf8mb4 测试: create table utf8mb4_test (name1 varCHAR(20) CHARACTER ...
- C++实验三
part2 graph.h #ifndef GRAPH_H#define GRAPH_H// 类Graph的声明 class Graph { public: Graph(char ch, int n) ...