一、安装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安装部署的更多相关文章

  1. Oracle安装部署,版本升级,应用补丁快速参考

    一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...

  2. KVM安装部署

    KVM安装部署 公司开始部署KVM,KVM的全称是kernel base virtual machine,对KVM虚拟化技术研究了一段时间, KVM是基于硬件的完全虚拟化,跟vmware.xen.hy ...

  3. Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考

    操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...

  4. 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署

    少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...

  5. C# winform安装部署(转载)

    c# winform 程序打包部署 核心总结: 1.建议在完成的要打包的项目外,另建解决方案建立安装部署项目(而不是在同一个解决方案内新建),在解决方案上右击-〉添加-〉现有项目-〉选择你要打包的项目 ...

  6. Ubuntu14.04 Django Mysql安装部署全过程

    Ubuntu14.04 Django Mysql安装部署全过程   一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便 ...

  7. 比Ansible更吊的自动化运维工具,自动化统一安装部署_自动化部署udeploy 1.0

    新增功能: 2015-03-11 除pass(备份与更新)与start(启动服务)外,实现一切自动化. 注:pass与start设为业务类,由于各类业务不同,所以无法实现自动化.同类业务除外,如更新的 ...

  8. 比Ansible更吊的自动化运维工具,自动化统一安装部署自动化部署udeploy 1.0 版本发布

    新增功能: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由框架统一调用. 并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新.部署.启动. 提高list规则 ...

  9. SCCM 2012 R2安装部署过程和问题(三)

    上篇 SCCM 2012 R2安装部署过程和问题(二) 个人认为对于使用SCCM 2012的最重要的经验是耐心. SCCM采用分布式部署的架构,不同的站点角色可以部署在不同的服务器上,站点角色之间的通 ...

  10. SCCM 2012 R2安装部署过程和问题(二)

    上篇:SCCM 2012 R2安装部署过程和问题(一) 在上篇我们已经完成了SCCM 2012 R2安装前的准备,其中有许多细节,关于数据库的准备和权限的设置是需要特别注意的.那么接下来我们开始安装S ...

随机推荐

  1. 启动vue项目失败,报错Failed at the node-sass@4.14.1 postinstall script.

    https://www.cnblogs.com/xiaodangshan/p/13061618.html

  2. python连接liunx主机:paramiko类基本操作

    一.下载paramiko类 pip install paramiko 二.实现过程 # coding utf-8# author:Mr.white import paramiko # 创建SSHCli ...

  3. Linux: CPU C-states

    0. Overview There are various power modes of the CPU which are determined based on their current usa ...

  4. 04 Tcl字符串

    Tcl字符串 4.1 Tcl将说有的变量值视作字符串,并将他们作为字符串进行保存. 命令 描述 append 将值追加到字符串尾 binary 二进制化字符串 format 字符串格式化 regexp ...

  5. STM32CubeMX教程23 FSMC - IS62WV51216(SRAM)驱动

    1.准备材料 开发板(正点原子stm32f407探索者开发板V2.4) STM32CubeMX软件(Version 6.10.0) 野火DAP仿真器 keil µVision5 IDE(MDK-Arm ...

  6. Redis异常问题分析黄金一分钟

    Redis异常问题分析黄金一分钟 背景 同事发现一个环境redis比较卡顿,导致业务比较难以开展. 问题是下午出现的. 六点左右找到我这边. 想着帮忙看看, 问题其实没有定位完全, 仅是发现了一个可能 ...

  7. IO调度算法的简单学习与整理

    IO调度算法的简单学习与整理 前言 前几天整理了 /sys/block/sda/queue/nr_requests 以及 /sys/block/sda/device/queue_depth 的两个参数 ...

  8. Linux与Windows系统字符集的简要学习

    背景 最近同事反馈公司的产品再更新了mysql-8.0.31的驱动jar包后部分功能报错. 问题核心原因 研发这边石磊老师已经找到了. 结论是Mysql8.0.26之后的数据库驱动好像会识别操作系统的 ...

  9. Redis数据倾斜与JD开源hotkey源码分析揭秘

    1 前言 之前旁边的小伙伴问我热点数据相关问题,在给他粗略地讲解一波redis数据倾斜的案例之后,自己也顺道回顾了一些关于热点数据处理的方法论,同时也想起去年所学习JD开源项目hotkey--专门用来 ...

  10. Gitlab使用说明

          零.gitlab简介   Gitlab是一个成熟的代码管理工具.为企业和组织提供内部的源代码的存储和管理功能.         一.gitlab角色总览   gitlab中的角色分管理员和 ...