Hive配置MySQL及安装

为什么不用hive内嵌的数据库Derby?
因为Hive默认的metadata(元数据)是存储在Derby里面的,但是有一个弊端就是同一时间只能有一个Hive实例访问,只适合做开发程序时做本地测试;
为了支持多用户会话,需要一个独立的元数据库,而使用 MySQL 作为元数据库,因为Hive 内部对 MySQL 提供了很好的支持。
安装MySQL
1,先查询本地MySQL yum list installed | grep mysql
2,将原先的删除 yum -y remove mysql-libs.x86_64
3,下载yum源
[root@hdcluster1 soft]# wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
4,进行安解压 rpm -ivh mysql-community-release-el6-5.noarch.rpm
5,查看 yum repolist all | grep mysql
6,进行安装 yum install mysql-community-server -y
7,查看是否安装成功 chkconfig --list mysqld
8,设置开机启动 chkconfig mysqld on
9, 启动mysql服务 service mysqld start
(如果启动不成功 删除rm -rf /var/lib/mysql/*)
10, 修改密码:mysql -uroot -p (默认密码为空)
11,对MySQL库进行操作 use mysql;
12,设置密码
update user set password=password(‘root’) where user=‘root’;
13,刷新权限 flush privileges;
14, 给远程root授权并连接测试
update user set host=’%’ where host=‘127.0.0.1’;
刷新权限 flush privileges;
15, 退出 exit;
Hive配置数据源mysql:
1,拷贝mysql驱动包到soft,然后拷贝到hive的lib目录:
[root@hdcluster1 apache-hive-1.2.2-bin]# cp /root/soft/mysql-connector-java-5.6-bin.jar lib/
2,查看官网,配置hive-site.xml:
https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Administration
[root@hdcluster1 conf]# vim hive-site.xml
拷贝如下内容:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
 <name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hdc1:3306/metastore?createDatabaseIfNotExist=true</value>
 <description>JDBC connect string for a JDBC metastore,metastore不存在创建</description>
</property>
<property>
 <name>javax.jdo.option.ConnectionDriverName</name>
 <value>com.mysql.jdbc.Driver</value>
 <description>Driver class name for a JDBC metastore</description>
</property>
<property>
 <name>javax.jdo.option.ConnectionUserName</name>
 <value>root</value>
 <description>username to use against metastore database</description>
</property>
<property>
 <name>javax.jdo.option.ConnectionPassword</name>
 <value>root</value>
 <description>password to use against metastore database</description>
</property>
</configuration>

配置完毕,启动hive:
链接mysql:
[root@hdcluster1 bin]# mysql -uroot -proot
查看数据库:
mysql> show databases;
在这里插入图片描述
说明换库成功 下面开始测试

hive> use default;
hive> create table tb_user(id int,name string,age int) row format delimited fields terminated by ‘\t’;
hive> load data local inpath ‘/root/user.txt’ into table tb_user;
(将本地文件导入 前提创建文件 vim user.txt)
hive> select * from tb_user;(显示表信息说明创建成功)

-e  hive在命令 执行 sql 语句:

[root@hdc1 apache-hive-1.2.2-bin]# bin/hive -e “select * from default.tb_user”;
-f 在文件执行sql语句(类似脚本):
[root@hdcluster1 apache-hive-1.2.2-bin]# vim /root/user.sql
在这里插入图片描述
[root@hdc1 apache-hive-1.2.2-bin]# bin/hive -f /root/user.sql
还可以把执行结果写入文件:
[root@hdc1 apache-hive-1.2.2-bin]# bin/hive -f /root/user.sql >> /root/user_result
[root@hdcluster1 apache-hive-1.2.2-bin]# cat /root/user_result
在这里插入图片描述
查看所有在hive执行的历史命令(在当前用户的根目录下):
[root@hdc1 ~]# cat .hivehistory
可以连接数据库MySQL查看建表信息
在这里插入图片描述
Hive 运行日志信息配置
1)Hive 的 log 默认存放在/tmp/root/hive.log 目录下(当前用户名下)。
2)修改 hive 的 log 存放日志到hive/logs
(1)[root@hdc1 apache-hive-1.2.2-bin]# cp conf/hive-log4j.properties.template con
f/hive-log4j.properties
(2)在 hive-log4j.properties 文件中修改 log 存放位置
[root@hdc1 apache-hive-1.2.2-bin]# vim conf/hive-log4j.properties
在这里插入图片描述
查看日志就行了
大功告成!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值