hive 加载gz_Linux下安装hive 详解及HiveSQL运行

环境准备

hadoop-2.x及以上,

hive-2.3.3安装包

mysql-5.7.24,下载路径:mysql-5.7.24-linux-glibc2.12-x86_64

mysql数据库安装和后台启动

tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql

mv mysql /usr/local/

cd /usr/local/mysql/

mkdir data

groupadd mysql

useradd mysql -g mysql

chown -R mysql:mysql /usr/local/mysql/

chmod -R 755 /usr/local/mysql/

cd bin/

./mysqld --initialize --user=root --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

0d29d93bf567f5a5b319dc011c6232a8.png

注意:日志末尾的临时密码,稍后需要进行登录,更改密码

vim /etc/my.cnf,添加如下内容:

[mysqld_safe]

datadir=/usr/local/mysql/data

port=3306

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

symbolic-links=0

max_connections=600

innodb_file_per_table=1

lower_case_table_names=1

3b002f61f9c64c0957d01cb4e1596b92.png

建立软连接,启动mysql服务

ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

service mysql restart

登录mysql,登录密码(前面临时密码)

mysql -u root -p

修改密码

set password for root@localhost = password('mysql');

开发远程连接

use mysql;

update user set user.Host='%' where user.User='root';

flush privileges;

设置开机自动启动

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig --list

安装hive和配置环境变量

tar -zxvf apache-hive-2.3.3-hw-ei-302005-bin.tar.gz

mv apache-hive-2.3.3-hw-ei-302005-bin hive-2.3.3

vim /etc/profile

export HIVE_HOME=/home/lhh/hive/hive-2.3.3

export HIVE_LIB=$HIVE_HOME/lib

export HIVE_BIN=$HIVE_HOME/bin

export HADOOP_USER_CLASSPATH_FIRST=true

export PATH=$HIVE_HOME/bin:$PATH

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*.jar

配置hive相关文件

新建./hive-2.3.3/conf/hive-site.xml,如附件

42c90008f82a42ea85cb048c204cdf07.png

使用hive-env.sh.template,

cp hive-env.sh.template hive-env.sh

vim hive-env.sh

export HIVE_CONF_DIR=/home/lhh/hive/hive-2.3.3/conf

export HADOOP_HOME=/home/lhh/hive/hadoop

5. 拷贝mysql jar包到hive lib

拷贝Mysql驱动jar包,将mysql-connector-java-5.1.40-bin.jar拷贝到$HIVE_HOME/lib目录下

cp mysql-connector-java-5.1.40-bin.jar ../hive/hive-2.3.3/lib/

6. 初始化metastore

cd ./hive-2.3.3

./bin/schematool -dbType mysql -initSchema

f80d1b09cbc03768635edb9822d2eeb2.png

7. hive客户端

Hive在生产上是不需要部署集群的,操作Hive只需要通过它提供的客户端即可,Hive提供了大致三类客户端:

hive shell:通过hive shell来操作hive,但是至多只能存在一个hive shell,启动第二个会被阻塞,也就是说hive shell不支持并发操作。

WebUI: 通过HUE/Zeppelin来对Hive表进行操作。

基于JDBC等协议:启动hiveserver2,通过jdbc协议可以访问hive,hiveserver2支持高并发。

8. 启动hive

cd ./hive-2.3.3

./bin/hive

7b118cdb9cf226874caada9d7f49a280.png

9. 启动hiveserver2服务

./bin/hiveserver2 &或者./bin/hive --service hiveserver2 &

hiveserver2是一个基于thrift服务,需要后台运行,端口默认是10000,WebUI端口默认是10002,在终端使用命令netstat -anop|grep 10000 和 netstat -anop|grep 10002。

http://10.71.232.64:10002/

4ae726aba50c4e5d0812c7a0af3be82a.png

10. beeline连接hiveserver2

beeline -u jdbc:hive2://hadoop-01:10000

e242875035b1d492ebc58f98b75c20d0.png

已连接上server

11. 测试hive

1)本地创建csv文件text.csv

2)上传到hdfs文件空间

./hadoop/bin/hadoop dfs -put test.csv /test/test.csv

./hadoop/bin/hadoop dfs -ls /test/

8a19e54427534e5492949cec3f07fcf2.png

3)hive命令行创建表

hive> create table test (

> id INTEGER,

> name STRING,

> grade INTEGER

> ) row format delimited

> fields terminated by ','

> lines terminated by '\n';

4)加载数据到test表中

hive> load data inpath "/test/test.csv" into table test;

5)执行查询任务

select id, count(1) as cnt from test group by id;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值