Zookeeper简介与环境搭建
Zookeeper简介
Zookeeper是什么?
Zookeeper 是⼀个分布式协调服务的开源框架。 主要⽤来解决分布式集群中应⽤系统的⼀致性问题,例如怎样避免同时操作同⼀数据造成脏读的问题。分布式系统中数据存在⼀致性的问题!!
ZooKeeper 本质上是⼀个分布式的⼩⽂件存储系统。 提供基于类似于⽂件系统的⽬录树⽅式的数据存储,并且可以对树中的节点进⾏有效管理。
ZooKeeper 提供给客户端监控存储在zk内部数据的功能,从⽽可以达到基于数据的集群管理。 诸如: 统⼀命名服务(dubbo)、分布式配置管理(solr的配置集中管理)、分布式消息队列(sub/pub)、分布式锁、 ...
Impala进阶
Impala的负载均衡
Impala主要有三个组件,分别是statestore,catalog和impalad,对于Impalad节点,每⼀个节点都可以接收客户端的查询请求,并且对于连接到该Impalad的查询还要作为Coordinator节点(需要消耗⼀定的内存和CPU)存在,为了保证每⼀个节点的资源开销的平衡需要对于集群中的Impalad节点做⼀下负载均衡.
Cloudera官⽅推荐的代理⽅案:HAProxy
DNS做负载均衡
DNS做负载均衡⽅案是最简单的,但是性能⼀般,所以这⾥我们按照官⽅的建议使⽤HAProxy实现负载均衡
⽣产中应该选择⼀个⾮Impalad节点作为HAP ...
Impala导⼊数据与JDBC⽅式查询
Impala导⼊数据
insert into values
这种⽅式⾮常类似于RDBMS的数据插⼊⽅式。
123create table t_test2(id int,name string);insert into table t_test2 values(1,”zhangsan”);
insert into select
插⼊⼀张表的数据来⾃于后⾯的select查询语句返回的结果。
create table as select
建表的字段个数、类型、数据来⾃于后续的select查询语句。
load data⽅式,这种⽅式不建议在Impala中使⽤,先使⽤load data⽅式把数据加载 ...
Impala的使⽤
Impala的核⼼开发语⾔是sql语句,Impala有shell命令⾏窗⼝,以及JDBC等⽅式来接收sql语句执⾏,对于复杂类型分析可以使⽤C++或者Java来编写UDF函数。
Impala的sql语法是⾼度集成了Apache Hive的sql语法,Impala⽀持Hive⽀持的数据类型以及部分Hive的内置函数。
需要注意的⼏点:
Impala与Hive类似它们的重点都是在与查询,所以像Update,delete等具有更新性质的操作最好不要使⽤这种⼯具,对于删除数据的操作可以通过Drop Table,Alter Table Drop Partition来实现,更新可以尝试使⽤Insert ...
Imapla的架构原理
Impala的组件
Impala是⼀个分布式,⼤规模并⾏处理(MPP)数据库引擎,它包括多个进程。Impala与Hive类似不是数据库⽽是数据分析⼯具;
123456789#在linux123执⾏ps -ef | grep impala#结果impala 29212 1 0 Jul02 ? 00:01:06/usr/lib/impala/sbin/statestored -log_dir=/var/log/impala -state_store_port=24000impala 29249 1 0 Jul02 ? 00:00:49 /usr/lib/impala/sbin/catalog ...
Impala⼊⻔案例
使⽤Yum⽅式安装Impala后,impala-shell可以全局使⽤;
示例
1. 进⼊impala-shell命令⾏
impala-shell进⼊到impala的交互窗⼝
12345678910111213[root@linux123 conf]# impala-shellConnected to linux123:21000Server version: impalad version 2.3.0-cdh5.5.0 RELEASE (build0c891d79aa38f297d244855a32f1e17280e2129b)****************************** ...
Impala安装错误问题
问题一.安装完成后启动Impala,impala-server启动失败
验证Impala启动结果
1ps -ef | grep impala
缺少impala-server服务
查看错误日志
123[root@Linux123 ~]# cd /var/log/impala/[root@Linux123 impala]# cat impalad.ERROR
执行hdfs getconf 命令获取配置信息
12hdfs getconf -confKey dfs.datanode.hdfs-blocks-metadata. ...
Impala安装
集群准备
安装Hadoop,Hive
Impala的安装需要提前装好Hadoop,Hive这两个框架
Impala数据存储在HDFS上
在所有的Impala安装的节点上⾯都要有Hive,因为Impala需要引⽤Hive的依赖包,并且Impala直接使用Hive元数据管理数据
hadoop的框架需要⽀持C程序访问接⼝,查看下图,如果有该路径有.so结尾⽂件,就证明⽀持C接⼝。
准备Impala的所有依赖包
Cloudera公司对于Impala的安装只提供了rpm包没有提供tar包;所以我们选择使⽤Cloudera的rpm包进⾏Impala的安装,但是另外⼀个问题, ...
Impala概述
Impala是什么
Impala是Cloudera提供的⼀款开源的针对HDFS和HBASE中的PB级别数据进⾏交互式实时查询(Impala速度快),Impala是参照⾕歌的新三篇论⽂当中的Dremel实现⽽来,其中旧三篇论⽂分别是(BigTable,GFS,MapReduce)分别对应我们即将学的HBase和已经学过的HDFS以及MapReduce。
Impala最⼤卖点和最⼤特点就是快速,Impala中⽂翻译是⾼⻆羚⽺。
Impala的诞⽣
之前学习的Hive以及MR适合离线批处理,但是对交互式查询的场景⽆能为⼒(要求快速响应),所以为了解决查询速度的问题,Cloudera公司依据Goo ...
Sqoop常用命令及参数
常用命令
序号
命令
类
说明
1
import
ImportTool
将数据导入到集群
2
export
ExportTool
将集群数据导出
3
codegen
CodeGenTool
获取数据库中某张表数据生成Java并打包Jar
4
create-hive-table
CreateHiveTableTool
创建Hive表
5
eval
EvalSqlTool
查看SQL执行结果
6
import-all-tables
ImportAllTablesTool
导入某个数据库下所有表到HDFS中
7
job
JobTool
用来生成一个sqoop的任 ...