Hive3.1.2安装部署
一、安装Hive3.1.2
备注:在安装Hive3.1.2之前,请首先安装Hadoop3.1.3。
1. 下载并解压Hive安装包
tar -zxvf ./apache-hive-3.1.2-bin.tar.gz -C /usr/local
cd /usr/local/
mv apache-hive-3.1.2-bin hive
chown -R hadoop:hadoop hive
2. 配置环境变量
# vim /etc/profile
export HADOOP_HOME=/usr/local/hadoop
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$HADOOP_HOME/bin
使配置文件生效
# source /etc/profile
3. 修改hive-env.xml
cd /usr/local/hive/conf
cp hive-env.sh.template hive-env.sh
vim hive-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_271
export HADOOP_HOME=/home/Hadoop
export HIVE_CONF_DIR=/home/hive/conf
3. 修改hive-site.xml
cd /usr/local/hive/conf
mv hive-default.xml.template hive-site.xml
vim hive-site.xml
<configuration> <property>
<name>system:java.io.tmpdir</name>
<value>/user/hive/warehouse</value>
</property> <property>
<name>system:user.name</name>
<value>${user.name}</value>
</property> <property>
<name>hive.metastore.db.type</name>
<value>mysql</value>
</property> <property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://cancer01: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> <property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property> <!--以下配置为配合flume sink写入hive --> <property>
<name>hive.metastore.uris</name>
<value>thrift://cancer01:9083</value>
</property> <property>
<name>hive.txn.manager</name>
<value>org.apache.hadoop.hive.ql.lockmgr.DbTxnManager</value>
</property> <property>
<name>hive.compactor.initiator.on</name>
<value>true</value>
</property> <property>
<name>hive.compactor.worker.threads</name>
<value>1</value>
</property> <property>
<name>hive.support.concurrency</name>
<value>true</value>
</property> <property>
<name>hive.enforce.bucketing</name>
<value>true</value>
</property> <property>
<name>hive.exec.dynamic.partition.mode</name>
<value>nonstrict</value> </property> <property>
<name>hive.in.test</name>
<value>true</value>
</property> </configuration>
配置说明:
(1)报错:Caused by: org.apache.thrift.TApplicationException: Internal error processing open_txns
hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; -》 打开一部分事务支持
hive.compactor.initiator.on=true; -》运行启动程序和清除线程,用于打开所需参数的完整列表事务
hive.compactor.worker.threads=1; -》增加工作线程的数量将减少花费的时间
hive.support.concurrency=true; -》是否支持并发,默认是false
hive.enforce.bucketing=true; -》是否启用bucketing,写入table数据时会启动分桶
hive.exec.dynamic.partition.mode=nonstrict; -》设置非严格模式
(2)启动metastore时报错:
Table 'metastore.COMPACTION_QUEUE' doesn't exist
配置以下属性:这个是用来创建COMPACTION_QUEUE这张表的
(3)再启动metastore时报错:
Error rolling back: Can't call rollback when autocommit=true
去掉以下属性:之前没有安装,先安装:yum install -y nc
3. 修改hdfs目录
$HADOOP_HOME/bin/hadoop fs -mkdir -p /tmp
$HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp
$HADOOP_HOME/bin/hadoop fs -mkdir -p /user/hive/warehouse
$HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse
4. 配置日志
配置日志,复制一个模板
cp hive-log4j2.properties.template hive-log4j2.properties
vim hive-log4j2.properties
配置property.hive.log.dir
property.hive.log.dir = /usr/local/hive/logs
cd /usr/local/hive/
mkdir logs
二、安装mysql
1. mysql安装
sudo apt-get install mysql-server
sudo apt-get install libmysql-java
或者
删除原有mysql
rpm -qa | grep mysql 或 yum list installed | grep mysql
yum -y remove mysql-libs.x86_64
删除原有mariadb
rpm -qa | grep -i mariadb
rpm -ev --nodeps mariadb-libs-5.5.65-1.el7.x86_64
yum install libaio
tar -xvf mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar
rpm -ivh 顺序 common-》lib-》client-》server
2. mysql配置
安装完,启动服务
systemctl start mysqld
systemctl status mysqld
grep "password" /var/log/mysqld.log
A temporary password is generated for root@localhost: hilX0U!9i3_6
mysql -u root -p hilX0U!9i3_6
use mysql;
grant all privileges on *.* to root@"localhost" identified by "root";
flush privileges;
3. 创建Hive元数据库
mysql> create database hive
use hive;
mysql> source $HIVE_HOME/scripts/metastore/upgrade/mysql/hive-schema-3.1.2.mysql.sql;
4. 配置mysql 驱动包
tar -zxvf mysql-connector-java-5.1.48.tar.gz
#将mysql驱动包拷贝到/usr/local/hive/lib下
cp mysql-connector-java-5.1.48-bin.jar /usr/local/hive/lib
或者
ln -s /usr/share/java/mysql-connector-java.jar $HIVE_HOME/lib/mysql-connector-java.jar
三、启动hive
1. 启动
初始化hive数据库
cd /usr/local/hive/bin
schematool -dbType mysql -initSchema
开启metastore(&表示后台进程)
./hive --service metastore &
启动hadoop集群。
start-dfs.sh
#启动hive
hive
2. 验证
创建库表
create database test; use test; create table user( user_id int, user_name string, user_age int )CLUSTERED BY (user_id) INTO 2 BUCKETS row format delimited fields terminated by '\t' stored as orc;
#创建表
hive (default)> CREATE TABLE IF NOT EXISTS test_table
(col1 int COMMENT 'Integer Column',
col2 string COMMENT 'String Column'
)
COMMENT 'This is test table'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
hive (default)> show tables;
tab_name
test_table
#写入
hive (default)> insert into test_table values(1,'aaa');
MapReduce Jobs Launched:
Stage-Stage-1: Map: 1 Reduce: 1 Cumulative CPU: 5.54 sec HDFS Read: 15408 HDFS Write: 243 SUCCESS
Total MapReduce CPU Time Spent: 5 seconds 540 msec
OK
col1 col2
Time taken: 26.271 seconds
#查询
hive (default)> select * from test_table;
test_table.col1 test_table.col2
2 bbb
3 ccc
4 ddd
Time taken: 0.205 seconds, Fetched: 3 row(s)
jps
root@had001:/home/hive# jps
6675 SecondaryNameNode
6426 NameNode
6908 ResourceManager
8382 Jps
jps
root@had002:~# jps
3300 DataNode
3430 NodeManager
5610 Jps
#查看是否能连接had001
root@had002:~# /home/hadoop/bin/hdfs dfsadmin -report
root@had003:~# /home/hadoop/bin/hdfs dfsadmin -report
#正常有data目录
root@had002:~# tree /usr/local/hadoop/tmp
/usr/local/hadoop/tmp
├── dfs
│ └── data
│ ├── current
│ │ ├── BP-1834162669-172.17.252.52-1532682436448
│ │ │ ├── current
│ │ │ │ ├── finalized
Hive3.1.2安装部署的更多相关文章
- Oracle安装部署,版本升级,应用补丁快速参考
一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...
- KVM安装部署
KVM安装部署 公司开始部署KVM,KVM的全称是kernel base virtual machine,对KVM虚拟化技术研究了一段时间, KVM是基于硬件的完全虚拟化,跟vmware.xen.hy ...
- Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考
操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...
- 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署
少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...
- C# winform安装部署(转载)
c# winform 程序打包部署 核心总结: 1.建议在完成的要打包的项目外,另建解决方案建立安装部署项目(而不是在同一个解决方案内新建),在解决方案上右击-〉添加-〉现有项目-〉选择你要打包的项目 ...
- Ubuntu14.04 Django Mysql安装部署全过程
Ubuntu14.04 Django Mysql安装部署全过程 一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便 ...
- 比Ansible更吊的自动化运维工具,自动化统一安装部署_自动化部署udeploy 1.0
新增功能: 2015-03-11 除pass(备份与更新)与start(启动服务)外,实现一切自动化. 注:pass与start设为业务类,由于各类业务不同,所以无法实现自动化.同类业务除外,如更新的 ...
- 比Ansible更吊的自动化运维工具,自动化统一安装部署自动化部署udeploy 1.0 版本发布
新增功能: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由框架统一调用. 并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新.部署.启动. 提高list规则 ...
- SCCM 2012 R2安装部署过程和问题(三)
上篇 SCCM 2012 R2安装部署过程和问题(二) 个人认为对于使用SCCM 2012的最重要的经验是耐心. SCCM采用分布式部署的架构,不同的站点角色可以部署在不同的服务器上,站点角色之间的通 ...
- SCCM 2012 R2安装部署过程和问题(二)
上篇:SCCM 2012 R2安装部署过程和问题(一) 在上篇我们已经完成了SCCM 2012 R2安装前的准备,其中有许多细节,关于数据库的准备和权限的设置是需要特别注意的.那么接下来我们开始安装S ...
随机推荐
- 启动vue项目失败,报错Failed at the node-sass@4.14.1 postinstall script.
https://www.cnblogs.com/xiaodangshan/p/13061618.html
- python连接liunx主机:paramiko类基本操作
一.下载paramiko类 pip install paramiko 二.实现过程 # coding utf-8# author:Mr.white import paramiko # 创建SSHCli ...
- Linux: CPU C-states
0. Overview There are various power modes of the CPU which are determined based on their current usa ...
- 04 Tcl字符串
Tcl字符串 4.1 Tcl将说有的变量值视作字符串,并将他们作为字符串进行保存. 命令 描述 append 将值追加到字符串尾 binary 二进制化字符串 format 字符串格式化 regexp ...
- STM32CubeMX教程23 FSMC - IS62WV51216(SRAM)驱动
1.准备材料 开发板(正点原子stm32f407探索者开发板V2.4) STM32CubeMX软件(Version 6.10.0) 野火DAP仿真器 keil µVision5 IDE(MDK-Arm ...
- Redis异常问题分析黄金一分钟
Redis异常问题分析黄金一分钟 背景 同事发现一个环境redis比较卡顿,导致业务比较难以开展. 问题是下午出现的. 六点左右找到我这边. 想着帮忙看看, 问题其实没有定位完全, 仅是发现了一个可能 ...
- IO调度算法的简单学习与整理
IO调度算法的简单学习与整理 前言 前几天整理了 /sys/block/sda/queue/nr_requests 以及 /sys/block/sda/device/queue_depth 的两个参数 ...
- Linux与Windows系统字符集的简要学习
背景 最近同事反馈公司的产品再更新了mysql-8.0.31的驱动jar包后部分功能报错. 问题核心原因 研发这边石磊老师已经找到了. 结论是Mysql8.0.26之后的数据库驱动好像会识别操作系统的 ...
- Redis数据倾斜与JD开源hotkey源码分析揭秘
1 前言 之前旁边的小伙伴问我热点数据相关问题,在给他粗略地讲解一波redis数据倾斜的案例之后,自己也顺道回顾了一些关于热点数据处理的方法论,同时也想起去年所学习JD开源项目hotkey--专门用来 ...
- Gitlab使用说明
零.gitlab简介 Gitlab是一个成熟的代码管理工具.为企业和组织提供内部的源代码的存储和管理功能. 一.gitlab角色总览 gitlab中的角色分管理员和 ...