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 ...
随机推荐
- App拉起小程序提示跳转失败
App拉起小程序提示跳转失败 req.userName = "gh_8afldfalsejw"; // 小程序的原始ID,注意不是Appid
- 让 Python 的1、数据库查询返回字典记录--- 2、利用zip函数将两个列表(list)组成字典(dict)
让 Python 的数据库查询返回字典记录: https://yanbin.blog/python-database-query-return-dictionary-result/#more-9179 ...
- DjangoRestFramework学习二之序列化组件、视图组件 serializer modelserializer
DjangoRestFramework学习二之序列化组件.视图组件 本节目录 一 序列化组件 二 视图组件 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 序列化组 ...
- js常用正则表达式判断
1.判断IP:端口 <html> <head> </head> <body> ip:port<input type="" na ...
- 钉钉开发入门,微应用识别用户身份,获取用户免登授权码code,获取用户userid,获取用户详细信息
最近有个需求,在钉钉内,点击微应用,获取用户身份,根据获取到的用户身份去企业内部的用户中心做校验,校验通过,相关子系统直接登陆; 就是在获取这个用户身份的时候,网上的资料七零八落的,找的人烦躁的很,所 ...
- tableview Footerview有多余的间距
调整footerView的高度 UIView *footerV = [[UIView alloc] initWithFrame:CGRectMake(, , Main_Screen_Width, )] ...
- python遍历文件
#!/usr/local/bin/python # -*- coding: UTF-8 -*- #coding:gbk import re import os rootdir = 'src' def ...
- python基础1 print()函数
一切程序的开始都是由print('hello world') 了解print()函数 输出python之歌 print(''' 优美胜于丑陋明了胜于晦涩简洁胜于复杂复杂胜于凌乱扁平胜于嵌套间隔胜于紧凑 ...
- Hint: Fallback method 'public java.lang.String queryUserByIdFallback(java.lang.Long)' must return: User or its subclass
1.错误日志 熔断器添加错误方法返回时,报了一个 error. com.netflix.hystrix.contrib.javanica.exception.FallbackDefinitionExc ...
- 学习记录----简单的原生js路由
在以前的web程序中,路由字眼只出现在后台中.但是随着SPA单页面程序的发展,便出现了前端路由一说.单页面顾名思义就是一个网站只有一个html页面,但是点击不同的导航显示不同的内容,对应的url也会发 ...