本文共 4009 字,大约阅读时间需要 13 分钟。
一,目标
1、部署hive
二、前提条件
1、环境为centos 6.5
2、已经部署了hadoop伪分布式
3、安装了hbase
4、安装了mysql 5.6.33
三、部署步骤
1、下载安装包
下载hive http://mirrors.hust.edu.cn/apache/ 得到apache-hive-2.1.0-bin.tar.gz ,放到该目录下 /home/soft/hive
2、 在mysql上创建 hive用户, 创建hive用户,数据库等
CREATE USER 'hive'@'archive.cloudera.com' IDENTIFIED BY 'hive'; GRANT ALL ON *.* TO 'hive'@'archive.cloudera.com';create database hive;grant all on hive.* to hive@'%' identified by 'hive';grant all on hive.* to hive@'archive.cloudera.com' identified by 'hive';flush privileges;
退出mysql
3、安装hive 1)解压安装包
进入/home/soft/hive目录,解压hive安装包 tar -zxvf apache-hive-2.1.0-bin.tar.gz
进入/opt/hadoop目录, mv /home/soft/hive/apache-hive-2.1.0-bin ./hive
2) 添加环境变量
vi /etc/profile export HIVE_HOME=/opt/hadoop/hive export PATH=$PATH:$HIVE_HOME/bin 使其有效 source /etc/profile 4)修改hive-site.xml 首先进入 hive的conf目录,cp hive/conf/hive-default.xml.template hive/conf/hive-site.xml 编辑hive-site.xml javax.jdo.option.ConnectionURL jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true JDBC connect string for a JDBC metastore javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver Driver class name for a JDBC metastore javax.jdo.option.ConnectionUserName hive username to use against metastore database javax.jdo.option.ConnectionPassword hive password to use against metastore database hive.metastore.local true datanucleus.readOnlyDatastore false datanucleus.fixedDatastore false datanucleus.autoCreateSchema true datanucleus.autoCreateTables true datanucleus.autoCreateColumns true
5)配置hive-env.sh文件,指定HADOOP_HOME
HADOOP_HOME=/usr/local/hadoop
[root@archive lib]# pwd/opt/hadoop/hive/lib[root@archive lib]# [root@archive lib]# cp /home/soft/hive/*jar .[root@archive lib]# [root@archive lib]# ls my*mysql-connector-java-5.1.6-bin.jar[root@archive lib]#
7)把hive lib目录里面的jline-2.12.jar拷贝到hadoop相应的目录下,替代jline-0.9.94.jar,否则启动会报错 [root@archive lib]# pwd/opt/hadoop/hive/lib[root@archive lib]# cp jline-2.12.jar /opt/hadoop/hadoop-2.6.4/share/hadoop/yarn/lib
四,启动测试hive,启动hadoop后,执行hive命令
1) 启动 hive server
启动正常,可以通过 jps 命令,显示
[root@archive hive]# jps 4944 DataNode 16356 RunJar 5105 SecondaryNameNode 5257 ResourceManager 18329 Jps 5353 NodeManager 4822 NameNode
注意,多了RunJar
现在我们可以用hive登录进行操作: 输入hive 回车
五:启动异常和处理
1) 启动报异常,如图
这个是因为之前
jdbc:mysql://192.168.136.144:3306/hive?createDatabaseIfNotExist=true修改后
2) 启动异常二: 无法连接mysql
解决: hive 版本太高,降级到2.0.0 问题解决
3)hive连接mysql 被拒绝