Hive配置 连接远程mysql

来源:互联网 发布:商品数据分析管理服装 编辑:程序博客网 时间:2024/06/09 21:45

这几天配置了一下hive,本以为配置还蛮简单,结果却花了4,5个小时,中间遇到了一些问题,记录下来。
1.首先需要下载hive http://www.apache.org/dyn/closer.cgi/hive
2.下载完后进行解压,然后配置环境变量并生效,这个都一样

export HIVE_HOME=/home/hadoop/thd/hive/hiveexport PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH

然后在hdfs上创建目录

hadoop fs -mkdir /tmphadoop fs -mkdir /user/hive/warehousehadoop fs -chmod 777 /tmphadoop fs -chmod 777 /user/hive/warehouse

最重要的是对hive conf中的文件进行配置
首先创建hive-site.xml文件,附上内部代码

<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><property>  <name>javax.jdo.option.ConnectionURL</name>  <value>jdbc:mysql://10.15.90.244:3306/hive?createDatabaseIfNotExist=true</value>  <description>JDBC connect string for a JDBC 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>password</value>  <description>password to use against metastore database</description> </property></configuration>

这里需要注意有几个问题,很重要!!!
1. 远程访问mysql用在xml里配置上述代码就够了,其他教程里一直添加其他变量,实际上并不需要
2. jdbc:mysql://10.15.90.244:3306/hive? 这里必须是hive,我之前设置成其他数据库名字,发现执行时候一直报错。
3. 为了连接mysql需要在hive的lib中添加mysql connection的jar包
4. 同时启动时候可能会出现问题需要将/home/hadoop/thd/hadoop/share/hadoop/yarn/目录下的jline jar包删除

然后可以直接启动hive了;
启动hive后可以看到远程mysql下多了个hive数据库
然后创建table譬如create table test(id int);
可以看到在hive的tbls表格TBL_Name下回多一个test表格
同时hdfs的/user/hive/warehouse下也会多一个test表格

0 0
原创粉丝点击