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 ...
随机推荐
- JavaWeb+JDBC+Servlet+SqlServer实现登录功能
首先创建javaweb项目,可以参照以下: https://blog.csdn.net/u012532559/article/details/51013400 附上项目结构: 1.重写登录页面inde ...
- spring boot 整合kafka
本文为博主原创,未经允许不得转载: 1. 引入spring boot kafka依赖 <dependency> <groupId>org.springframework.kaf ...
- Makeflie脚本使用
1.目标 2.Makefile的作用 自动化编译仿真 文件有引用层级关系,Tb会引用RTL顶层,RTL顶层也会引用一些其他的小的模块,编译的时候被引用的文件需要先进行编译. 脚本有两种模式,debug ...
- ORA-65140: 无效的通用配置文件名称
1.问题 CREATE PROFILE PM_Profile LIMIT SESSIONS_PER_USER 100 PASSWORD_LIFE_TIME 90; 在创建概要文件时,报错:ORA-65 ...
- Laravel - 路由的多层嵌套
Route::group(['prefix'=>'admin'],function(){ Route::get('/',function(){ return view('admin.articl ...
- JMS微服务开发示例(六)安全退出进程
默认情况下,如果在linux,需要关闭微服务进程,请务必使用 kill -15 进程id 命令,其他命令可能会直接关闭进程,造成数据丢失. 例如,有个后台任务,执行了一半,这时候进程突然关闭了,会形成 ...
- [转帖]Export Prometheus metrics from SQL queries
https://github.com/albertodonato/query-exporter query-exporter is a Prometheus exporter which allows ...
- [转帖]PostgreSQL 慢查询SQL跟踪
https://www.cnblogs.com/VicLiu/p/12017704.html PostgreSQL 开启慢SQL捕获在排查问题时是个很有效的手段.根据慢SQL让我在工作中真正解决了实际 ...
- [转帖]LVS入门篇(四)之LVS实战
LVS入门篇(四)之LVS实战 https://www.cnblogs.com/linuxk/p/9360922.html 一.LVS的NAT模式实战 1.环境说明: HOST OS role rem ...
- Linux 安装宋体字体的简单办法
1. 今天同事说测试环境(CentOS) 打印有异常,无法将汉字正常打印出来. 2. 开发同事提供的思路是安装上宋体的字体再进行尝试,并且给出了一个解决方案的地址: https://blog.csdn ...