Hive-2.3.4安装配置详细与使用

配置安装:

前提:Hadoop集群正常启动( Hadoop2.7.7安装详细 )、(MySQL在线安装详细) 。

1、安装包请自行下载上传并解压(下载地址: http://mirror.bit.edu.cn/apache/hive/ )。

901c220bf9e2d890944589370e947f3484b.jpg

(解压命令 “ tar -zxvf 目标路径 -C 存放路径 ”) 3df8031b254b40ad8eeb2091528624d447e.jpg

771b5691e95687ec00fda5f176eb7987c97.jpg

解压后的第一时间可根据自己意愿选择性重命名

810abec543a085014105f423884e0d3b296.jpg

2、配置环境变量:

通过编辑 根( / )目录下 etc 下的 profile 文件进行环境变量的设置(命令 “ vi /etc/profile ”),(为节约时间此步不赘述vi文本等的使用细节)。

f68ca194521439f1fadf57cc85272bc9f40.jpg

添加 如下内置即配置环境变量(每个节点):

export HIVE_HOME=/opt/hive-2.3.4 (注意 /opt/hive-2.3.4  是安装路径如果刚才已选择重命名的童鞋请按照自己命的名和实际路径情况来 )
export PATH=$HIVE_HOME/bin:$PATH

73653ad771473fe3e19b74fecf584c0e069.jpg

编辑后wq保存退出。

为使得刚编辑的profile文件立即生效可(命令 “ source /etc/profile ”)

5c84cf76273d2db5636065caa43554a0774.jpg

为确保配置成功进行验证如果显有版本号则以上步骤皆为正常(命令 “ hive --version ”)

b728a745cabfd90c80b6c24931f13e72178.jpg

3、创建hive所要的hadoop目录:

在依次输入以下命令前请确认hadoop集群是开启状态(hadoop起不来的可直接用 “ mkdir 文件夹名 ” 命令等其他方式创建)。

hadoop fs -mkdir -p /data/hive/warehouse

hadoop fs -mkdir -p /data/hive/tmp

hadoop fs -mkdir -p /data/hive/log

hadoop fs -chmod -R 777 /data/hive/warehouse

hadoop fs -chmod -R 777 /data/hive/tmp

hadoop fs -chmod -R 777 /data/hive/log

查看执行上列六条命令后所创建并修改访问权限的三个文件夹:(命令  “ ’hadoop fs -ls /data/hive ”)

4、需要 修改的 hive 配置文件(将其拖到win桌面修改,完毕后放回到原来的位置):

hive-2.3.4/conf

hive-default.xml.template 修改成 hive-site.xml

hive-env.sh.template 修改成 hive-env.sh 。:

1d948366ba0af6c2405c0a0901f96383166.jpg

669fe61ee82fae02ad8c260852a17d48d28.jpg

打开 hive-site.xml 修改其中内容(注意不要多出 空格等 ):

用 ctrl+f 键 快速搜索 hive.exec.scratchdir (第38行)而后将其后一行修改成 “ <value>/data/hive/tmp</value> ”(第39行)

f473a0fd1bc2983b6bf219d5baf1d587e75.jpg

继续搜索 hive.querylog.location (第1684行)而后将其后一行修改成 “ <value>/data/hive/log/hadoop</value> “(第1685行)

f843eb47502dc023dc6f4c7810a04e35343.jpg

继续搜索 <name>javax.jdo.option.ConnectionURL</name> (第544行)而后将其后一行修改成

<value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value> “(第545行)

58b5439b9cea8f86d9aae3ee815925798b0.jpg

继续搜索 javax.jdo.option.ConnectionDriverName (第1019行)

而后将其后一行修改成 “ <value>com.mysql.jdbc.Driver</value> “(第1020行)

0c3c8e01488091e951a6d2efb4e55513bf5.jpg

继续搜索 javax.jdo.option.ConnectionUserName (第1044行)而后将其后一行修改成 “ <value>hive</value> “(第1045行)

0de31c984abe9352fdd59dbe8b021e32381.jpg

继续搜索 javax.jdo.option.ConnectionPassword (第529行)而后将其后一行修改成 “ <value>hive</value> “(第530行)

142c6c7e2e212ddb283b4a0579ee272fde9.jpg

继续搜索 ${system:java.io.tmpdir} 三处 第75行、第80行、第3976行 )直接将 ${system:java.io.tmpdir} 修改成 " /data/hive/tmp "

857d89da90140e56f2614820e0ba6223544.jpg

97e232ef4b6373f67edaa6ce0e26c0109fb.jpg

aa6fd68340d1483f3a4015374173c0b70cd.jpg

继续搜索 {system:user.name} 两处 第75行、第3976行 )直接将 {system:user.name} 修改成 {user.name}

3c7c57d9c911749fe84c336cd58432fc702.jpg

df8d8c0f40bc8aa9078ac86c9a393c9a10f.jpg

打开 hive-env.sh 修改其中内容(注意不要多出 空格 ):

在 49、52、55行添加以下配置:

HADOOP_HOME=/opt/hadoop-2.7.7 (hdoop安装路径)

export HIVE_CONF_DIR=/opt/hive-2.3.4/conf (hive配置文件存放路径)

export HIVE_AUX_JARS_PATH=/opt/hive-2.3.4/lib (hive运行资源库路径)

437b0e1144b881ade4b6edacf62ff3fcf5b.jpg

将修改后的两文件 hive-site.xml hive-env.sh 拖回原来位置 (Linux “ /opt/hive-2.3.4/conf ”) !

f39dbb04d5c51896d72adb3a74d9e15c6f7.jpg

(需要较大的空间):

5、 安装 wget (命令 “ yum -y install wget ”) 。

b769ce1ba1dc25f2995b79063380656c842.jpg

6、切换阿里云的yum源:

(1) 备份 “ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup ”。

d62ea4290c4ff85dc48c11caa13da5e559f.jpg

(2) 下载新的 CentOS-Base.repo /etc/yum.repos.d/

(命令 “ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo ”)。

再次输入以下两个命令:“ yum  makecache ” 、“ yum  update ” 。

38f59f0bd342daad2a88ba9fd6a02815d3c.jpg

8ce619819a74293cc16d927c238f9e1046e.jpg

964fcdf7ae39924acd1168aeb545a7cf19d.jpg

7、安装MYSQL(在线):

由于我的机器已经安装过mysql故此步不再一一真实操作而是部分以纯文本叙述!

(1)输入命令 (“ rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm ”)。

(2)下载mysql命令(“ yum -y install mysql-community-server ”)。

(3)设置mysql开机启动(命令 “ systemctl enable mysqld ”)。

(4)启动mysql(命令 “ systemctl start mysqld ”)。

(5)初始化mysql(命令 “ mysql_secure_installation ”)

停顿第一次:回车

停顿第二次:Y

密码设置:123456(或自定义其他)

重复密码:123456

停顿第三次:Y(或直接回车)

停顿第四次:Y

停顿第五次:Y

停顿第六次:Y

(6)root状态下连接mysql(命令 “ mysql -uroot -p ”),然后输入密码即可。

5f3a3bd07525c63b138b1c7284e7b1250c6.jpg

(7)在mysql状态下创建hive用户(命令 “ GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' IDENTIFIED BY 'hive' WITH GRANT OPTION; ”)

83de7ecfc77f7a5882f95bdf5bd70ce8a43.jpg

再输入以下命令即可:“ flush privileges; ” 。

d7f3a18d67a931e4f47d9838083c7bf5c94.jpg

(8)安装jar包:将 mysql-connector-java-5.1.47-bin.jar 用 Xftp 复制到 /opt/hive-2.3.4/lib 路径下。

(9)将以上配置尽数复制到slave1与slave2

将以上在 master 节点上 配置好的 hive 整个数据文件夹,复制到slave1,slave2相同的文件夹下使得三台机器从此具有相同配置。

从 master 到 slave1:(命令 “ scp -r /opt/hive-2.3.4/ root@slave1:/opt/ ”) 。

aa85cb87ccab8b463e8ccabfeaa47bde02a.jpg

从 master 到 slave2:(命令 “ scp -r /opt/hive-2.3.4/ root@slave2:/opt/ ”) 。

6ec3ae0d9ed64a8bc840fdd538908211aff.jpg

exit 命令 可退出mysql登录!

8、启动

启动hive前先初始化元素数据(命令 “ schematool  -dbType  mysql  -initSchema ”)。

b90596fc61c1f4d7144cee9c31214119fc0.jpg

(1)启动WebUI(命令 “ hiveserver2& ”)。

aaedf08a0dcb04c6000a97ea9accc4fb2d7.jpg

(2)启动hive命令行:

首先用Xshell 另外再 打开 一个 master 窗口,再输入命令:“ hive ” 。

37c6f9c37e05ce289366f0545e59f0a07d8.jpg

(3)验证是否正确(命令 “ show tables; ”)。

3abcdcd274e9b4f576dc068b643746ab502.jpg

hive的使用:

(命令 “  ”)。

1、在hive命令行下创建内部表:

语法: (create table 表名(列名 类型,列名 类型,......)row format delimited  fields terminated by '\t';    ( 一行文本对应表中一条记录)

例如:

create table student(id int,name string,age int,address string)

row format delimited

fields terminated by'\t';

(1)、加载数据到内部表:

首先准备一个桌面student.txt文本输入一些数据,以TAB键分割,

然后用Xftp将桌面 student.txt上传到master电脑的/root目录下,

再创建一个hdfs文件夹名字为hivedata;(命令 “ hadoop fs -mkdir /hivedata ”)。

将student.txt文本上传到hivedata(命令 “ hadoop fs -put student.txt /hivedata ”)。

(2)、在hive命令行下载数据(命令 “ load data inpath'/hivedata/student.txt' into table student; ”)。

(3)、查看数据(命令 “ select * from student; ”)。

2、创建外部表语法:

(1)、新建teacher.txt文本,添加内容后,并用Xftp复制到/root目录下,之后输入命令上传到hivedata文件夹下(命令 “ hadoop fs -put teacher.txt /hivedata ”)。

(2)、创建外部表例子如下:

create external table teacher(id int,name string,age int,address string)

row format delimited

fields terminated by'\t'

location 'hdfs://master:9000/hivedata';

(3)查看数据(命令 “ select * from teacher; ”)

3、分区

(1)先输入一下代码优化:

set hive.exec.mode.local.auto=true;

set hive.exec.mode.local.auto=true;

set hive.exec.mode.local.auto=true;

set mapred.child.java.opts=-Xmx1024m;

set mapreduce.map.java.opts=-Xmx1310m;

set yarn.app.mapreduce.am.command-opts=-Xmx2457m;

set mapreduce.reduce.java.opts=-Xmx2620m;

(2)查看数据库:

show databases;

(3) 创建数据库:

create database tianqu;

create database if not exists tianqu2;

(4)显示数据库信息:

describe database tianqu;

(5)切换数据库:

use tianqu;

(6)创建表:

create table emp3 (id int, name string) partitioned by (city string) row format delimited fields terminated by '\t';

(7)添加数据:

load data local inpath '/root/data.txt' into table emp3 partition(city='shanghai');

(8)查看表的所有分区 :

show partitions emp3;

(9)添加新的分区值:

alter table emp3 add partition (city='tongren');

(10)删除分区:

alter table emp3 drop partition (city='beijing');

/* ------------------- 反爬声明o(*▽*)咻咻咻 --------------------

作者: 杨木发
版权声明:
本文为博主倾情原创文章,整篇转载请附上源文链接!

如果觉得本文对你有所收获,你的请评论点赞 与

合理优质的转发也将是鼓励支持我继续创作的动力,

更多精彩可百度搜索 杨木发 或:

个人网站: www.yangmufa.com

开源中国: https://my.oschina.net/yangmufa

Gitee: https://gitee.com/yangmufa

GitHub: https://github.com/yangmufa

坚持创作 善于总结 开源共享 高质进步。
------------------- 反爬声明o(*▽*)咻咻咻 -------------------- */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员菜鲲

你的鼓励将是我创作的最大动力o

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值