Yum安装CDH5.5hive、impala的过程详解
1. 安装CDH5.5hive
1.1 准备工作
在开始CDH5.5hive安装之前,需要确保以下工作已经完成:
– 确认操作系统及版本:CentOS 6.x/7.x
– 确认系统具有sudo权限的普通用户,并开启SSH登录
1.2 安装CDH Yum Repository
进入 https://archive.cloudera.com/ 中的位置,找到 CDH 版本地址。
比如 https://archive.cloudera.com/cdh5/redhat/7/x86_64/cdh/5.5.0/
$ cd /etc/yum.repos.d/
$ sudo wget https://archive.cloudera.com/cdh5/redhat/7/x86_64/cdh/cloudera-cdh5.repo
1.3 安装Hive
$ sudo yum install hive
安装完成后,可以使用hive命令测试Hive的安装情况
1.4 安装MySQL JDBC驱动程序
如果需要使用MySQL作为Hive的sata warehouse,还需要安装MySQL JDBC Driver
$ sudo yum install mysql-connector-java
2. 安装CDH5.5 impala
2.1 准备工作
在开始CDH5.5 impala安装之前,需要确保以下工作已经完成:
– 确认操作系统及版本:CentOS 6.x/7.x
– 确认系统具有sudo权限的普通用户,并开启SSH登录
2.2 安装CDH Yum Repository
进入 https://archive.cloudera.com/ 中的位置,找到 CDH 版本地址。
比如 https://archive.cloudera.com/cdh5/redhat/7/x86_64/cdh/5.5.0/
cd /etc/yum.repos.d/
sudo wget https://archive.cloudera.com/cdh5/redhat/7/x86_64/cdh/cloudera-cdh5.repo
2.3 安装Impala
sudo yum install impala impala-server impala-shell impala-catalog impala-state-store
安装完成后,可以使用impala-shell测试Impala的安装情况。
2.4 启动Impala
启动Impala的命令:
sudo service impala-server start
sudo service impala-catalog start
sudo service impala-state-store start
示例说明
示例 1:安装Hive并使用MySQL作为Hive的sata warehouse
安装完成Hive之后,需要执行以下操作:
cd /etc/hive/conf.dist
sudo cp hive-site.xml.template hive-site.xml
编辑hive-site.xml文件,添加以下内容:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hivedb?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>password</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
<description>
Enforce metastore schema version consistency. True to enable verification
</description>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
<property>
<name>hive.execution.engine</name>
<value>mr</value>
<description>Execution engine</description>
</property>
注:请根据自己的实际情况修改javax.jdo.option.ConnectionURL、javax.jdo.option.ConnectionUserName和javax.jdo.option.ConnectionPassword的值
创建MySQL数据库以作为Hive的sata warehouse
mysql> create database hivedb;
mysql> grant all privileges on \`hivedb\`.* to \`hive\`@\`localhost\` identified by 'password';
启动Hive
hive
示例2:使用Impala操作Hive表
在Impala中,通过hiveserver2连接Hive,使用户可以在Impala中读写Hive的表。
步骤
- 确认HiveServer2已经启动
sudo service hive-server2 start
- 在Impala中使用SHOW DATABASES确认Hive Server2能够正确连接到Hive metastore。
impala-shell
[quickstart.cloudera:21000] > SHOW DATABASES;
- 在Impala中可以CREATE TABLE、SELECT等,例如:
[quickstart.cloudera:21000] > create table impala_table_test1
(
column1 int,
column2 varchar(20),
PRIMARY KEY (column1)
);
[quickstart.cloudera:21000] > insert into impala_table_test1 values (1,'row1');
[quickstart.cloudera:21000] > insert into impala_table_test1 values (2,'row2');
[quickstart.cloudera:21000] > select * from impala_table_test1;
上述语句在Impala中的执行结果为:
1 row1
2 row2
注:如果在Impala中使用DROP DATABASE,将同时删除在Hive中创建的数据库以及其中的表。