hive指定mysql数据源

Hive 默认使用 derby 作为映射表(SQL 操作映射为MapReduce Job,将SQL中创建的表映射为 hdfs 的文件/文件夹,字段映射为其中的行),但 derby 的一大缺陷在于它不允许多个客户端同时执行sql操作。不同的客户端看到的表和库的数目不一样,所以为了统一查看,将mysql作为hive的数据源。

一、Mysql为了安全性,在默认情况下用户只允许在本地登录,可是在有此情况下,还是需要使用用户进行远程连接,因此为了使其可以远程需要进行如下操作:

允许root用户在任何地方进行远程登录,并具有所有库任何操作权限,

具体操作如下:

[root@master hive-1.2.1]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.7.22 MySQL Community Server (GPL)
............

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******(此处填写你的root用户的密码)' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.03 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.12 sec)

mysql> exit;
Bye

二、在hive安装目录的conf文件夹中新建hive-site.xml文件。此文件中的配置将替换掉该目录下hive-default.xml.template文件。

[root@master system]# cd /apps/hive-1.2.1/conf/
[root@master conf]# vi hive-site.xml

文件内容:

<configuration>
	<property>
	       <name>javax.jdo.option.ConnectionURL</name>
	       <value>jdbc:mysql://localhost: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>(你的密码)</value>
	</property>
</configuration>

三、将jdbc驱动包放到hive/lib下面

[root@master hive-1.2.1]# mv /root/桌面/mysql-connector-java-5.1.21-bin.jar ./lib/
[root@master hive-1.2.1]# cd lib/
[root@master lib]# ll

-rw-------.  1 root root   827942 3月  16 2017 mysql-connector-java-5.1.21-bin.jar
否则报错:
Caused by: org.datanucleus.store.rdbms.connectionpool.DatastoreDriverNotFoundException: The specified datastore driver ("com.mysql.jdbc.Driver") was not found in the CLASSPATH. Please check your CLASSPATH specification, and the name of the driver.
	at org.datanucleus.store.rdbms.connectionpool.AbstractConnectionPoolFactory.loadDriver(AbstractConnectionPoolFactory.java:58)
	at org.datanucleus.store.rdbms.connectionpool.BoneCPConnectionPoolFactory.createConnectionPool(BoneCPConnectionPoolFactory.java:54)
	at org.datanucleus.store.rdbms.ConnectionFactoryImpl.generateDataSources(ConnectionFactoryImpl.java:238)
	... 68 more
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值