yum安装CDH5.5 hive、impala的过程详解

  • Post category:Linux

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的表。

步骤

  1. 确认HiveServer2已经启动
sudo service hive-server2 start
  1. 在Impala中使用SHOW DATABASES确认Hive Server2能够正确连接到Hive metastore。
impala-shell
[quickstart.cloudera:21000] > SHOW DATABASES;
  1. 在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中创建的数据库以及其中的表。