Impala的安装
1.安装Hive
安装Impala之前必须先安装Hive
在CDH集群中,先安装上Hive角色
测试连接后如果显示successful即视为成功!
然后继续
查看HDFS中新创建的目录
接下来进入hive客户端
在CDH集群上的任意一个节点都可以进入同一个hive客户端。
Linux上输入命令:hive
之后可查看数据库:show databases;
创建表格:
create table if not exists student2(
id int, name string
)
row format delimited fields terminated by '\t';
然后显示表格:
hive> show tables;
OK
student2
之后先退出即可:quit;
2.安装Impala
1)Impala的地址
Impala的官网
Impala文档查看
http://impala.apache.org/impala-docs.html
下载地址
http://impala.apache.org/downloads.html
2)Impala的安装方式
Cloudera Manager(CDH首推)或者手动安装
3)开始安装Impala
下面我们使用Cloudera Manager安装Impala
1.在主页中点击添加服务
2.选择Impala服务
3.进行角色分配
因为我的目前主节点仅剩下1G内存了,所以就先将ISS和ICS存放在cdh3上。
注意:最好将StateStore和CataLog Sever单独部署在同一节点上。
4.配置Impala
5.安装成功
3.Impala 的监护管理
可以通过下面的链接来访问Impala的监护管理页面:
• 查看StateStore
• 查看Catalog
4.Impala的初体验
1.启动Impala
[root@bigdata11 ~]# impala-shell
2.查看数据库
[bigdata11:21000] > show databases;
3.打开默认数据库
[bigdata11:21000] > use default;
4.显示数据库中的表
[bigdata11:21000] > show tables;
5.创建一张student表
[bigdata11:21000] > create table student(id int, name string) row format delimited fields terminated by '\t';
向表中导入数据
先创建一个文件:vi student.txt
内容为:
1 xiaoming
2 wangwu
3 zhangsan
4 lisi
5 haha
6 lala
加载该数据到student2表中
1)先尝试本地加载:
2)HDFS加载数据
先将文件上传到HDFS上
[root@cdh2 ~]# hdfs dfs -put student.txt /
然后加载数据
[cdh2:21000] > load data inpath "/student.txt" into table student2;
注意:
1)关闭(修改hdfs的配置dfs.permissions为false)或修改hdfs的权限,否则impala没有写的权限
[root@cdh2 ~]# hadoop fs -chmod 777 /
chmod: changing permissions of '/': Permission denied. user=root is not the owner of inode=
[root@cdh2 ~]# su hdfs
[hdfs@cdh2 root]$ hadoop fs -chmod 777 /
2)Impala不支持将本地文件导入到表中
会发生错误:load local data inpath '/opt/student.txt' into table student;
再次尝试加载数据:
[cdh2:21000] > load data inpath "/student.txt" into table student;
6.查询
[cdh2:21000] > select * from student;
+----+----------+
| id | name |
+----+----------+
| 1 | xiaoming |
| 2 | wangwu |
| 3 | zhangsan |
| 4 | lisi |
| 5 | haha |
| 6 | lala |
+----+----------+
简单的查询速度Hive和Impala是差不多的。
8.退出impala
[cdh2:21000]:21000] > quit;