您好,登录后才能下订单哦!
这篇文章主要介绍Ubuntu中如何安装hive1.1 + mysql,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
一,下载
1, apache-hive-1.1.0-bin.tar.gz下载
下载地址:http://apache.dataguru.cn/hive/hive-1.1.0/apache-hive-1.1.0-bin.tar.gz
2,mysql-connector-java-5.0.8.tar.gz下载
二,安装
1,mysql 安装:
sudo apt-get install mysql-server
中间让设root密码,请认真添写,并劳记
启动MySQL:
创建hive连接的用户,和hive存放元数据的数据库,如下:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' IDENTIFIED BY 'hive' ;
Query OK, 0 rows affected (0.09 sec)
mysql> create database hive default character set latin1; //字符集必须是latian1,如果是utf8则很多 hive元数据表无法创建。
Query OK, 1 row affected (0.01 sec)
具体的启动命令:
启动metastore:(远程mysql需要启动)
hive --service metastore -hiveconf hbase.zookeeper.quorum=db96,db98,db99 -hiveconf hbase.zookeeper.property.clientPort=2181
启动hiveservice:
hive --service hiveserver -hiveconf hbase.zookeeper.quorum=db96,db98,db99
-hiveconf hbase.zookeeper.property.clientPort=2181 //(启动服务,这样jdbc:hive就能连上,默认10000端口,后面的部分一定要带上,否则用eclipse连接不上的)
2,hive安装:进入hive下载目录解压apache-hive-1.1.0-bin.tar.gz到/usr/local目录
sudo tar -zxvf apache-hive-1.1.0-bin.tar.gz -C /usr/local
mv apche-hive-1.1.0-bin hive
sudo chown -R hadoop:hadoop hive
三,环境配置
1,/etc/profile:
exprot HIVE_HOME=/usr/local/hive
export PATH=$HIVE_HOME/bin:$PATH
2,cp hive-default.xml.template hive-site.xml 并配置hive.site.xml
<property>
<name>hive.metastore.warehouse.dir</name>
<value>hdfs://node0:9000/usr/hive/warehouse</value>
(这里就与前面的hdfs dfs -mkdir -p /usr/hive/warehouse相对应)
</property>
其中node0指的是笔者的NameNode的hostname;
<property>
<name>hive.exec.scratchdir</name>
<value>hdfs://node0:9000/usr/hive/warehouse</value>
</property>
//这个没有变化与derby配置时相同
<property>
<name>hive.querylog.location</name>
<value>/usr/hive/log</value>
</property>
-------------------------------------
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNoExist=true</value>
</property>
javax.jdo.option.ConnectionURL
这个参数使用来设置元数据连接字串
-------------------------------------
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
javax.jdo.option.ConnectionDriverName
关于在hive中用java来开发与mysql进行交互时,
需要用到一个关于mysql的connector,
这个可以将java语言描述的对database进行的操作,
转化为mysql可以理解的语句。
connector是一个用java语言描述的jar文件。
而这个connector可在官方网站上下载得到。
经证实即便connector与mysql的版本号不一致,
也可以实现相应的功能。
connector是要copy到/usr/hive/lib目录下面的。
cp mysql-connector-java-5.1.1.18-bin /usr/hive/lib
-------------------------------------
<property>
<name>javax.jdo.option.ConnectorUserName</name>
<value>hive</value>
</property>
这个javax.jdo.option.ConnectionUserName
是用来设置hive存放的元数据的数据库(这里是mysql数据库)的用户名称的。
而这个‘hive‘可以根据用户自己的需要来自行设置
--------------------------------------
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
这个javax.jdo.option.ConnetionPassword是用来设置,
用户登录数据库的时候需要输入的密码的。
而这个‘hive’同样可以根据用户自己的需要来进行设置。
<property>
<name>hive.aux.jars.path</name>
<value>file:///usr/local/hive/lib/hive-hbase-handler-0.13.1.jar,file:///usr/local/hive/lib/protobuf-java- 2.5.0.jar,file:///usr/local/hive/lib/hbase-client-0.96.0-hadoop2.jar,file:///usr/local/hive/lib/hbase-common-0.96.0-hadoop2.jar,file:///usr/local/hive/lib/zookeeper-3.4.5.jar,file:///usr/local/hive/lib/guava-11.0.2.jar</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://192.168.8.96:9083</value>
</property>
</configuration>
上面的配置中用到的jar包均在hbase/lib下,
[root@db96 lib]# pwd //发现hive的lib目录下没有该文件。去hbase的lib下找到下面4个文件拷贝
//到hive的lib目录下。
/usr/local/hive/lib
[root@db96 lib]# ll protobuf-java-2.5.0.jar hbase-client-0.96.2-hadoop2.jar hbase-common-0.96.2-hadoop2.jar guava-12.0.1.jar
ls: 无法访问protobuf-java-2.5.0.jar: 没有那个文件或目录
ls: 无法访问hbase-client-0.96.2-hadoop2.jar: 没有那个文件或目录
ls: 无法访问hbase-common-0.96.2-hadoop2.jar: 没有那个文件或目录
ls: 无法访问guava-12.0.1.jar: 没有那个文件或目录
[root@db96 lib]# pwd
/usr/local/hbase/lib
[root@db96 lib]# ll protobuf-java-2.5.0.jar hbase-client-0.96.2-hadoop2.jar hbase-common-0.96.2-hadoop2.jar guava-12.0.1.jar
-rw-r--r-- 1 root root 1795932 12月 11 2013 guava-12.0.1.jar
-rw-r--r-- 1 root root 826678 3月 25 07:03 hbase-client-0.96.2-hadoop2.jar
-rw-r--r-- 1 root root 371546 3月 25 07:03 hbase-common-0.96.2-hadoop2.jar
-rw-r--r-- 1 root root 533455 12月 11 2013 protobuf-java-2.5.0.jar
[root@db96 lib]# cp protobuf-java-2.5.0.jar hbase-client-0.96.2-hadoop2.jar hbase-common-0.96.2-hadoop2.jar guava-12.0.1.jar /usr/local/hive/lib
3,cp hive-log4j.properties.template hive-log4j.proprties
vi hive-log4j.properties
hive.log.dir=
这个是当hive运行时,相应的日志文档存储到什么地方
(mine:hive.log.dir=/usr/hive/log/${user.name})
hive.log.file=hive.log
这个是hive日志文件的名字是什么
默认的就可以,只要您能认出是日志就好,
只有一个比较重要的需要修改一下,否则会报错。
log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter
如果没有修改的话会出现:
WARNING: org.apache.hadoop.metrics.EventCounter is deprecated.
please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.
(只要按照警告提示修改即可)。
4,最后在hive/lib目录下会有一个jline-2.12.jar要拷备到 hadoop/share/hadoop/yarn/lib下替换掉jline-0.19.jar
以上是“Ubuntu中如何安装hive1.1 + mysql”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。