Hadoop生态系统搭建(3)——数据仓库 Hive 的安装部署与测试
2017-04-12 22:37
666 查看
1. 系统环境
Ubuntu 16.04vmware
Hadoop 2.7.0
Java 1.8.0_111
master:192.168.19.128
slave1:192.168.19.129
slave2:192.168.19.130
2. 安装部署
此处选择在 master 节点安装 HIve。1.下载 hive 1.2.2 版本,http://hive.apache.org/downloads.html
wget http://mirror.bit.edu.cn/apache/hive/hive-1.2.2/apache-hive-1.2.2-bin.tar.gz tar -zxvf apache-hive-1.2.2-bin.tar.gz hive-1.2.2
2.配置
HIVE_HOME和
HIVE_CONF_DIR环境变量,并生效。
# config hive env export HIVE_HOME=/home/hadoop/software/hive-1.2.2 export HIVE_CONF_DIR=$HIVE_HOME/conf export PATH=$HIVE_HOME/bin:$PATH export CLASSPATH=$CLASSPATH:.:$HIVE_HOME/lib
3.Hive元数据存储的数据库 metastore 选择mysql,为 mysql 添加 hadoop 用户,创建 hive 数据库,并设置 hadoop 用户对 hive 数据库访问权限:
mysql -u root -p create database hive; CREATE USER 'hive' IDENTIFIED BY '111111'; GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'%' WITH GRANT OPTION; flush privileges;
4.将 mysql 的 JDBC 驱动复制到
$HIVE_HOME/lib目录下:
wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.39/mysql-connector-java-5.1.39.jar mv mysql-connector-java-5.1.39.jar $HIVE_HOME/lib/
5.在
$HIVE_HOME/conf中配置
hive-site.xml:
vim hive-default.xml.template <!-- WARNING!!! This file is auto generated for documentation purposes ONLY! --> <!-- WARNING!!! Any changes you make to this file will be ignored by Hive. --> <!-- WARNING!!! You must make your changes in hive-site.xml instead. --> <!-- Hive Execution Parameters -->
所以复制一份
hive-default.xml.template重命名为
hive-site.xml。
<property> <name>javax.jdo.option.ConnectionURL</name> <!-- <value>jdbc:derby:;databaseName=metastore_db;create=true</value> --> <!-- 注意mysql为本地链接,需要链接远程数据库,需要在 my.cnf 中配置。此处不能写 master --> <value>jdbc:mysql://127.0.0.1:3306/hive?createDatabaseIfNotExist=true&characterEncoding=utf8&useSSL=true</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <!-- <value>org.apache.derby.jdbc.EmbeddedDriver</value> --> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <!-- <value>APP</value> --> <value>hive</value> <description>Username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <!-- <value>mine</value> --> <value>111111</value> <description>password to use against metastore database</description> </property> <property> <name>hive.metastore.warehouse.dir</name> <!-- 采用 HDFS 模式,所以次路径为 HDFS 中的路径,也就意味着需要在 HDFS 中创建该目录 --> <value>/user/hive/warehouse</value> <description>location of default database for the warehouse</description> </property> <property> <name>hive.querylog.location</name> <!-- 部署解析配置文件时 ${system:java.io.tmpdir} 会出很奇怪的错误,此处写成了固定的 tmp 路径 --> <!-- <value>${system:java.io.tmpdir}/${system:user.name}</value> --> <value>/home/hadoop/software/hive-1.2.2/tmp/hive</value> <description>Location of Hive run time structured log file</description> </property> <property> <name>hive.server2.logging.operation.log.location</name> <!-- <value>${system:java.io.tmpdir}/${system:user.name}/operation_logs</value> --> <value>/home/hadoop/software/hive-1.2.2/tmp/hive/operation_logs</value> <description>Top level directory where operation logs are stored if logging functionality is enabled</description> </property> <property> <name>hive.downloaded.resources.dir</name> <!-- <value>${system:java.io.tmpdir}/${hive.session.id}_resources</value> --> <value>/home/hadoop/software/hive-1.2.2/tmp/${hive.session.id}_resources</value> <description>Temporary local directory for added resources in the remote file system.</description> </property>
6.在
$HIVE_HOME/conf中配置配置
hive-env.sh。
cp hive-env.sh.template hive-env.sh vim hive-env.sh
配置
hive-env.sh:
export HIVE_HOME=/home/hadoop/software/hive-1.2.2 export HIVE_CONF_DIR=/home/hadoop/software/hive-1.2.2/conf export JAVA_HOME=/usr/local/jdk1.8.0_111 export HADOOP_HOME=/home/hadoop/software/hadoop-2.7.0
启动 Hive(保证 mysql 和 Hadoop 集群正常启动)。
3. 测试案例
创建数据库和表,观察元数据的变化:create database test_hive_db; # 不使用 use test_hive_db; 创建的表保存在 Default Hive database use test_hive_db; CREATE TABLE student(id INT,name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
相关文章推荐
- Hadoop生态系统搭建(2)——数据分析脚本 Pig 的安装部署与测试
- Hadoop生态系统搭建(4)——高性能分布式 NoSQL 数据库 HBase 的安装部署与测试
- Hadoop生态系统搭建(5)—— 分布式协同服务框架 Zookeeper 的安装部署与测试
- hadoop+hive 做数据仓库 & 一些测试
- hive安装-构建在hadoop上的数据仓库
- 大数据Hadoop测试环境搭建(CM、CDH5离线安装)
- hive(01)、基于hadoop集群的数据仓库Hive搭建实践
- hadoop和hive的实践应用(二)——基于Hadoop的数据仓库工具hive搭建
- 搭建3个节点的hadoop集群(完全分布式部署)5 flume安装及flume导数据到hdfs
- Hadoop系列之Hive(数据仓库)安装配置
- Hive的安装部署、测试、功能架构、表数据加载、导出、查询
- 基于Hadoop2.7.3集群数据仓库Hive1.2.2的部署及使用
- 搭建3个节点的hadoop集群(完全分布式部署)--2安装mysql及hive
- hive(01)、基于hadoop集群的数据仓库Hive搭建实践
- 基于Hadoop数据仓库Hive1.2部署及使用
- 数据仓库(十)---分布式SQL查询引擎---presto安装部署和连接hive使用
- Sqoop1.4.5-安装测试部署(基于Hadoop2.2.0环境)
- 大数据之Hadoop平台(二)Centos6.5(64bit)Hadoop2.5.1伪分布式安装记录,wordcount运行测试
- Sqoop1.4.5(基于Hadoop2.2环境)的安装测试部署
- 大数据之Hadoop平台(二)Centos6.5(64bit)Hadoop2.5.1伪分布式安装记录,wordcount运行测试