首页 / MYSQL / hive 与mysql集成安装
hive 与mysql集成安装
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了hive 与mysql集成安装,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5380字,纯文字阅读大概需要8分钟。
内容图文
![hive 与mysql集成安装](/upload/InfoBanner/zyjiaocheng/453/ca5fe50638bb4e19994522366599bb4c.jpg)
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘hive‘@‘%‘ WITH GRANT OPTION;
mysql> flush privileges;重启mysql服务: sudo service mysql restart
第四步:建立 Hive 专用的元数据库,记得创建时用刚才创建的“hive”账号登陆。
mysql> create database hive;第五步:在Hive的conf目录下的文件“hive-site.xml”中增加如下配置:
cd $HIVE_HOME/conf
cp hive-default.xml.template hive-default.xml
cp hive-default.xml.template hive-site.xml
从前面我们知道我们的“hive-site.xml”是一个“hive-default.xml.template”的一个拷贝,里面的配置参 数非常之 多,但是并不是我们都需要的,我们知道,Hive 系统会加载两个配置文件一个默认配置文件“hive-default.xml”,另一个就是用户自定义文件“hive-site.xml”。当 “hive-site.xml”中的配置参数的值与“hive-default.xml”文件中不一致时,以用户自定义的为准。所以我们就把我们不需要的 参数都删除掉,只留下上面所示的内容。
备注:其实修改这里的配置文件如果在Linux下面进行则非常麻烦,尽然我们都建立了FTP了,为何不 用, 所以把Master.Hadoop上面的这个配置文件下载下来,按照要求进行修改,这样的文件在Windows进行操作是非常方便的,弄好之后在上传上 去,覆盖原来的即可。
所以在此可将hive-site.xml中
<configuration>内容清空
</configuration>
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.1.78:3306/hive?characterEncoding=UTF-8</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
</configuration>
将hive配置到etc/profile中 将$HIVE_HOME/bin配置到PATH中方便使用
将mysql-connector-java-5.1.32.jar拷贝到$HIVE_HOME/lib即可
在bash中执行hive
执行hive遇到一堆问题
Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
at jline.TerminalFactory.create(TerminalFactory.java:101)
at jline.TerminalFactory.get(TerminalFactory.java:158)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:229)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
at org.apache.hadoop.hive.cli.CliDriver.getConsoleReader(CliDriver.java:773)
at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:715)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:615)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Exception in thread "main" java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
at jline.console.ConsoleReader.<init>(ConsoleReader.java:230)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
at org.apache.hadoop.hive.cli.CliDriver.getConsoleReader(CliDriver.java:773)
at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:715)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:615)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
解决方法:在/etc/profile中添加
export HADOOP_USER_CLASSPATH_FIRST=true
FAILED: Error in metadata: javax.jdo.JDOFatalDataStoreException: Access denied for user ‘hive‘@‘eidlink‘ (using password: YES)
NestedThrowables:
java.sql.SQLException: Access denied for user ‘hive‘@‘eidlink‘ (using password: YES)
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask
解决方案:
在bash中执行查看hostname 为eidlink
hostname登陆mysql
mysql -uhive -phivemysql>exit;
service mysql restart
执行hive 即可成功 hive默认启动的日志文件目录为/tmp/登陆用户/hive.log
在192.168.1.78:3306/hive库中将自动创建如下表
hive> show tables;
OK
Time taken: 1.279 seconds
1)在Hive上建立数据表
hive> CREATE TABLE xp(id INT,name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘\t‘;
2)从 MySQL 数据库上查看元数据信息
用到的 SQL 语句:
use hive; //使用 hive 数据库库
show tables;//显示 hive 数据库中的数据表
select * from TBLS;//查看 hive 的元数据信息
到此Hive集成Mysql作为元数据已完成。
success!
hive 与mysql集成安装
标签:
本文系统来源:http://www.cnblogs.com/hxy520/p/4665272.html
内容总结
以上是互联网集市为您收集整理的hive 与mysql集成安装全部内容,希望文章能够帮你解决hive 与mysql集成安装所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。