大数据----------Hive:安装Mysql,准备工作,安装 Hive,和Mysql的对比,使用Mysql存储元数据(九)

一、安装Mysql

(1)检查是否已经装了MySql

 检查:rpm -qa|grep mysql
在这里插入图片描述
 使用以下命令卸载,卸载完再用上面命令检查一下

 删除:rpm -e --nodeps xxxxxxxx

(2)安装MySql

 通过yum安装MySql
yum install -y mysql-server

(3)启动MySql服务

 MySQL的服务名:
       < 5.5 版本 使用 mysqld
       >= 5.5 版本 使用 mysql

 启动:
service mysqld start

(4)设置开机启动

 使用以下命令查看,我这个是开着的:
chkconfig mysqld --list
在这里插入图片描述
 这个是开启命令chkconfig mysqld on,再进行查看应该就和上图一样

(5)设置root用户命名

/usr/bin/mysqladmin -u root password '123456'

(6)登录mysql

mysql -uroot -p123456

(7)更改授权

select user,host,password from user;
在这里插入图片描述
 添加授权
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

 删除其他授权,只留下:
在这里插入图片描述
 刷新授权,
flush privileges

 重启mysql服务,远程连接
service mysqld restart

 到这里就可以远程连接数据库了

二、准备工作

(1)确保Hadoop相关进程启动

NameNode,DateNode,ResourceManager,NodeManager, JobHistoryServer
进入cd /opt/modules/hadoop-2.7.3/目录下,开启以下进程

  sbin/hadoop-daemon.sh start namenode
  sbin/hadoop-daemon.sh start datanode
  sbin/yarn-daemon.sh start resourcemanager
  sbin/yarn-daemon.sh start nodemanager
  sbin/mr-jobhistory-daemon.sh start historyserver

执行 jps查看一下:
在这里插入图片描述

(2)Mysql服务器启动

确保开启,开机启动
windows 上 Navite等工具可以连上

三、安装 Hive

(1)上传,解压,重命名

上传:
在这里插入图片描述
解压:tar -zxvf apache-hive-1.2.1-bin.tar.gz -C ../modules

重命名:mv apache-hive-1.2.1-bin/ hive-1.2.1-bin/
在这里插入图片描述

(2)hive目录结构

在这里插入图片描述

(3)修改配置

hive-env.sh
修改了一下名字:
mv hive-env.sh.template hive-env.sh
在这里插入图片描述
修改配置:
在这里插入图片描述
创建数据仓库
   hive 的数据需要保存到HDFS,那么保存HDFS那个目录,是不是需要配置
  不配置,因为它会去读默认路径,但是这些目录是空,所以需要去创建

bin/hdfs dfs -mkdir -p /user/hive/warehouse
bin/hdfs dfs -mkdir -p /tmp
bin/hdfs dfs -chmod g+w /tmp
bin/hdfs dfs -chmod g+w /user/hive/warehouse

在这里插入图片描述
在这里插入图片描述

(4)hive的基本使用

启动交互式命令:bin/hive
在这里插入图片描述

四、Hive文档

https://cwiki.apache.org/confluence/display/Hive/Home#Home-UserDocumentation

五、小测试

(1)准备数据

将准备好的数据上传到Linux里
在这里插入图片描述

(2)创建数据库&表

直接使用default表
Hive创建表:

CREATE TABLE tb_word(
    word STRING,
    count INT
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' 
LINES TERMINATED BY '\n';

在这里插入图片描述

(3)加载数据到数据库

LOAD DATA LOCAL INPATH '/opt/datas/tb_word.txt' INTO TABLE tb_word;
在这里插入图片描述

(4)测试

SELECT
    word,count(word) count
FROM
    tb_word
GROUP BY
    word 

在这里插入图片描述
在这里插入图片描述

六、和Mysql的对比

database:数据库
  将同一类表放在此空间下,以便进行管理操作
table:表
  字段:数据类型和字段名称
映射:表对应的数据文件
  对应的文件数据在HDFS上
在这里插入图片描述

七、使用Mysql存储元数据

(1)交互式命令问题

现象:
  bin/hive这个交互性命令不能同时开多个,开第二个就报错

原因:
  hive中无论是创建的 数据库还是表,这些元数据metaStore需要存储数据
  默认情况下存储在Derby数据库里面的,属于嵌入式数据,每次仅仅支持一个会话

解决:
  使用支持多个会话的数据,推荐MySQL存储元素(官方推荐)
在这里插入图片描述

(2)配置使用Mysql存储元素

文档:https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Administration

1. 创建配置文件

touch hive-site.xml

2. 修改配置

在这里插入图片描述

3. 添加驱动

给lib目录下传所需要的驱动包:mysql-connector-java-5.1.27-bin.jar

(3)测试

1.将metastore_db 和 derbylog删除
在这里插入图片描述
2.启动 bin/hive

3.效果:
①可以启动多个bin/hive交互性命令行
②mysql数据库中可以看到那个数据库

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值