Hive安装
解压
[root@centos local]# tar -zxvf hive-0.9.0
配置/etc/profile环境变量
export HIVE_HOME=/usr/local/hive-0.9.0
export PATH=.:$HADOOP_HOME/bin:$HBASE_HOME/bin:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH
[root@centos local]# source /etc/profile
修改hadoop中hadoop-env.sh文件
export HADOOP_CLASSPATH==.:$CLASSPATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin
修改配置文件名称
[root@centos conf]# pwd
/usr/local/hive-0.9.0/conf
[root@centos conf]# mv hive-default.xml.template hive-site.xml
[root@centos conf]# mv hive-env.sh.template hive-env.sh
修改hive-config.xml配置文件,暴露java、hive、hadoop
[root@centos bin]# vim hive-config.sh
[root@centos bin]# more hive-config.sh
export JAVA_HOME=/usr/local/jdk1.6.0_24
export HIVE_HOME=/usr/local/hive-0.9.0
export HADOOP_HOME=/usr/local/hadoop-1.1.2
如果需要修改HDFS默认的存储位置hive-site.xml文件中
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/hive</value>
<description>location of default database for the warehouse</description>
</property>
执行hvie命令进入CLI
[root@centos bin]# hive
WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.
Logging initialized using configuration in jar:file:/usr/local/hive-0.9.0/lib/hive-common-0.9.0.jar!/hive-log4j.properties
Hive history file=/tmp/root/hive_job_log_root_201508170333_222296555.txt
hive>
安装MySQL
删除Linux上已经安装的MySQL
#查看是否有mysql
[root@centos conf]# rpm -qa | grep mysql
mysql-libs-5.1.66-2.el6_3.i686
#删除时有依赖
[root@centos conf]# rpm -e mysql-libs-5.1.66-2.el6_3.i686
error: Failed dependencies:
libmysqlclient.so.16 is needed by (installed) postfix-2:2.6.6-2.2.el6_1.i686
libmysqlclient.so.16(libmysqlclient_16) is needed by (installed) postfix-2:2.6.6-2.2.el6_1.i686
mysql-libs is needed by (installed) postfix-2:2.6.6-2.2.el6_1.i686
#前置删除
[root@centos conf]# rpm -e mysql-libs-5.1.66-2.el6_3.i686 --nodeps
安装MySQL服务端
[root@centos local]# rpm -i MySQL-server-5.5.31-2.el6.i686.rpm
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h centos password 'new-password'
Alternatively you can run:
/usr/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
Please report any problems with the /usr/bin/mysqlbug script!
启动MySQL
[root@centos local]# mysqld_safe &
设置MySQL密码
[root@centos local]# mysql_secure_installation
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] n
Disallow root login remotely? [Y/n] n
Remove test database and access to it? [Y/n] n
Reload privilege tables now? [Y/n] Y
安装MySQL客户端
[root@centos local]# rpm -i MySQL-client-5.5.31-2.el6.i686.rpm
登录
[root@centos local]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@centos local]# mysql -uroot -proot
使用MySQL作为Hive的metastroe
把mysql的jdbc驱动放置到hive的lib目录下
[root@centos local]# cp mysql-connector-java-5.1.10.jar /usr/local/hive-0.9.0/lib/
修改hive-site.xml文件
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://centos:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
</property>
让MySQL的root用户允许远程连接访问
mysql> grant all on hive.* to 'root'@'%' identified by 'root';
Query OK, 0 rows affected (0.15 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
在MySQL查看hive所创建的表
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| hive |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.02 sec)
mysql> use hive
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+-----------------+
| Tables_in_hive |
+-----------------+
| BUCKETING_COLS |
| CDS |
| COLUMNS_V2 |
| DATABASE_PARAMS |
| DBS |
| PARTITION_KEYS |
| SDS |
| SD_PARAMS |
| SEQUENCE_TABLE |
| SERDES |
| SERDE_PARAMS |
| SORT_COLS |
| TABLE_PARAMS |
| TBLS |
+-----------------+
14 rows in set (0.00 sec)
=========================================================================
1、检查Linux上是否安装mysql依赖的包
rpm -qa | grep mysql
rpm -e mysql-libs-5.1.66-2.el6_3.i686 --nodeps
rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm
rpm -ivh MySQL-client-5.1.73-1.glibc23.i386.rpm
2、启动,配置MySQL
service mysql start
/usr/bin/mysql_secure_installation
3、修改hive配置文件
cp hive-default.xml.template hive-site.xml
配置内容
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://centos3:3306/hive?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>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123</value>
<description>password to use against metastore database</description>
</property>
4、msyql连接jar copy到hive/bin中
5、在mysql上授权允许远程访问
#(执行下面的语句 *.*:所有库下的所有表 %:任何IP地址或主机都可以连接)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
#数据库在hdfs中的存储路径
select * from SDS;
#hive中表
select * from TBLS;
#表中的字段
select * from COLUMNS_V2;
分享到:
相关推荐
mysql>update mysql.user set authentication_string=password('123456') where user='root' and host = 'localhost'; ``` 接下来创建并授权Hive使用的数据库: ``` mysql>create database if not exists hive_...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,而Hive则是大数据处理领域的重要工具,主要用于结构化数据的查询、分析和管理。这两个技术在后端开发和大数据处理中扮演着至关重要的角色。下面,我们将深入探讨...
3. 配置 Hive 配置文件:修改 `conf/hive-site.xml` 文件,设置 Hadoop 相关路径,例如 HDFS 的 namenode 地址、Hive 的元数据存储位置(通常使用 MySQL 或 Derby)等。 4. 初始化元数据:执行 `schematool -...
在Java环境下,首先需要安装Hadoop环境,然后配置Hive的相关环境变量,如HIVE_HOME、HADOOP_HOME等,并设置相应的classpath。接着创建Hive的元数据库,可以选择MySQL或其他支持JDBC的数据库系统。最后,启动Hive服务...
安装和配置Hive时,需要确保先安装了Java和Hadoop,并设置好相应的环境变量。然后,您可以根据需求配置Hive的metastore服务、Hive-site.xml配置文件,以及Hadoop的相关设置。一旦配置完成,就可以通过Hive CLI或...
3. **表和分区(Tables and Partitions)**:Hive中的表是逻辑上的概念,对应HDFS上的目录。分区是对大表进行逻辑划分的一种方式,可以提高查询效率。 4. **数据倾斜(Data Skew)**:当数据在各个节点分布不均时,...
首先,安装数据库,然后将mysql-connector-java-5.1.21-bin.jar文件拷贝到一个目录下,任意即可,放在MySQL下更好,然后到classpath配置环境,将 此文件追加到后面。最后,在工程的webContent的web-Inf下找到lib...
1. **元数据存储**:Hive将元数据(如表结构、分区信息等)存储在数据库中(通常是MySQL或Derby),这些元数据描述了数据的组织方式。 2. **HiveQL**:HQL是Hive的查询语言,与SQL高度兼容,允许用户编写复杂的查询...
1. **Hive LLAP (Live Long and Process)**:这是一个低延迟分析处理服务,它将计算层与存储层紧密结合,提高了交互式查询性能。 2. **Tez Execution Engine**:Hive默认的执行引擎,提供更高效的数据处理能力,比...
接着,你需要配置Hive的配置文件,主要是在`conf/hive-site.xml`中设置Metastore的URL、Hadoop相关的路径以及其他的Hive属性。 一旦配置完成,你可以启动Hive服务,包括Metastore Server和Hive Server2,然后通过...
- **1.4.2 MySQL**:MySQL是一个成熟的开源关系型数据库管理系统,通常用于生产环境中Hive的元数据存储。相比于Derby,MySQL提供了更好的可靠性和性能,支持多用户并发访问。 **1.5 Hive的数据存储** Hive的数据...
1. **安装与配置**:首先,解压"apache-hive-2.3.3-bin.7z"到本地目录,配置Hive的环境变量,包括HADOOP_HOME、HIVE_HOME等。 2. **启动Hive**:启动Hive服务,可能需要先启动Hadoop服务,然后运行Hive的启动脚本。...
`hive-0.8.1-bin`是Hive的一个早期版本,包含了一整套用于运行和管理Hive的二进制文件,便于用户在本地或集群环境中安装和使用。 在`hive-0.8.1-bin`压缩包中,用户可以找到以下关键组件和文件: 1. **bin** 目录...
GROUP BY 后只能是表的定义列名,不能像 MySQL 那样可以为查询语句为逻辑处理结果声明的别名,但可为逻辑处理过程语句。 * 内置函数查看命令(show functions;desc function 函数名)。 * Hive 中分托管表和外部表,...
java代码执行hive相关ktr时报错: database type with plugin id [HIVE2] couldn't be found! 解决:kettle-core-7.1.0.0-12.jar适配hive后的包。具体步骤请查看...
1. **元数据(Metadata)**: Hive中的元数据包括表名、列名、分区信息、表的存储位置等,这些信息存储在传统的数据库(如MySQL)中,被称为元数据存储。 2. **HQL(Hive Query Language)**: 类SQL的查询语言,用于...
安装和配置 Hive 时,你需要根据集群环境调整配置文件,如设置 Hadoop 相关路径、元数据存储位置以及选择执行引擎等。然后,通过 `bin/hive` 命令启动交互式 shell 或使用 `bin/hiveserver2` 启动 Thrift 服务以支持...
Hive的元数据(如表结构、分区等)存储在MySQL或其它数据库中,用于管理和跟踪数据的位置。 在处理"chbVideoOut"这样的数据时,我们首先需要创建一个Hive表来定义数据结构。假设这个文件包含用户ID(userId),视频...
For additional downloads and the source of MySQL Connector/J, visit https://dev.mysql.com/downloads/ MySQL Connector/J is brought to you by the MySQL team at Oracle. Notice: - In order to use the ...