在Hadoop-2.2.0集群上安装 Hive-0.13.1 with MySQL
fesh个人实践,欢迎经验交流!本文Blog地址:http://www.cnblogs.com/fesh/p/3872872.html
软件环境
操作系统:Ubuntu14.04
JDK版本:jdk1.7.0_51
Hadoop版本:Hadoop-2.2.0
Hive可以理解为在Hadoop和HDFS之上为用户封装一层便于用户使用的接口。Hive需要将元数据存储在RDBMS中,这对于Hive的运行是非常重要的。
(1)安装Hadoop-2.2.0集群
参见《Ubuntu12.04-x64编译Hadoop2.2.0和安装Hadoop2.2.0集群》
(2)下载Hive安装包
stable版:apache-hive-0.13.1-bin.tar.gz
tar -zxvf apache-hive-0.13.-bin.tar.gz
对于编译Hive0.13.1,使用命令
mvn package -Pdist -DskipTests -Phadoop-
(3)配置环境变量
在/etc/profile或者~/.bashrc中配置
#Set Hive Environment
export HIVE_HOME=/home/fesh/apache-hive-0.13.1-bin
export PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/conf
并使配置生效
source /etc/profile
(4)修改Hive配置文档(不修改则使用默认配置文档)
创建hive-site.xml
cd apache-hive-0.13.-bin/conf
cp hive-default.xml.template hive-site.xml
配置hive-site.xml
(4.1)参数hive-metastore.warehourse.dir 指定Hive的数据存储目录,指定的是HDFS上的位置,默认值为/usr/hive/warehouse
(4.2)参数hive.exec.scratchdir 指定Hive的数据临时文件目录,默认位置为/tmp/hive-${user.name}
(4.3)连接数据库配置
在默认情况下,Hive已经配置好了Derby数据库的连接参数,并且集成了Derby数据库及数据库连接驱动jar包。
参数javax.jdo.option.ConnectionURL指定Hive连接的数据库:jdbc:derby:;databaseName=metastore_db;create=true
参数javax.jdo.option.ConnectionDriverName指定驱动的类入口名称:org.apache.derby.jdbc.EmbeddedDriver
参数javax.jdo.option.ConnectionUserName指定数据库的用户名:APP
参数javax.jdo.option.ConnectionPassword指定数据库的密码:mime
Derby数据库驱动在目录$HIVE_HOME/lib/下,Hive-0.13.1默认提供的驱动包:derby-10.10.1.1.jar
创建hive-env.sh (也可以不进行这个创建和修改,因为之前已经在/etc/profile中注册过了)
cp hive-env.sh.template hive-env.sh
修改
# Set HADOOP_HOME to point to a specific hadoop install directory
export HADOOP_HOME=/home/fesh/hadoop-2.2. # Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/home/fesh/apache-hive-0.13.-bin/conf
(5)运行Hive
由于Hive使用Hadoop,因此必须在/etc/profile中的PATH路径中设置了Hadoop目录,或者需要在Hive的conf目录hive-env.sh中添加路径 export HADOOP_HOME=<hadoop-install-dir> (这里可以不用管)
另外,在Hive建表之前,(在默认配置文档下)创建 /tmp 和/user/hive/warehouse文件目录,并在HDFS中设置它们chmod g+w (这一步可以不要,会自动新建)
$ $HADOOP_HOME/bin/hadoop fs -mkdir /tmp
$ $HADOOP_HOME/bin/hadoop fs -mkdir /user/hive/warehouse
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse
必须先启动Hadoop集群
启动连接Hive,在目录$HIVE_HOME下
./bin/hive

退出Hive
hive> exit;
附-配置MySQL存储Hive元数据:
(6)Hive配置
(6.1)修改$HIVE_HOME/conf/hive-site.xml,并配置连接字符串、驱动、数据库用户名、密码参数。修改参数
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost: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>hive</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use against metastore database</description>
</property>
(6.2)JDBC驱动包
下载MySQL的JDBC驱动包,并将其复制到$HIVE_HOME/lib目录。这里是mysql-connector-java-5.1.22-bin.jar 链接: http://pan.baidu.com/s/1sj2lekX 提取密码: kr9b
(7)MySQL配置
(7.1)安装MySQL
sudo apt-get install mysql-server
在安装过程中,会弹出一个界面要求输入mysql的root的密码并确认,然后系统会自动安装mysql直到完成。
通过netstat -tap|grep mysql来查看系统是否已经有了mysql服务

说明安装mysql成功。
(7.2)远程访问
修改/etc/mysql/my.cnf文件,注释掉bind-address,该参数绑定本地用户访问。
#bind-address = 127.0.0.1
(7.3)登陆
登录数据库命令:mysql -u root -p 回车后,输入我们前面所设的密码,就可以登录成功。

(7.4)创建Hive系统的用户权限
MySQL安装完成后,只拥有root用户。下面创建Hive系统的用户权限(这里的用户需要和之前设置的用户相一致)
创建用户(这里用户名和密码都是 hive)
CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';
赋予权限
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;
强制写入
flush privileges;

(7.5)重启MySQL
exit退出MySQL,并重启MySQL数据库
sudo /etc/init.d/mysql restart

(8)重新运行Hive,并测试是否成功
在Hive中新建表,并查看

查看HDFS

查看MySQL



至此,安装成功!
参考:
1、官网文档https://cwiki.apache.org/confluence/display/Hive/GettingStarted
2、https://cwiki.apache.org/confluence/display/Hive/AdminManual+SettingUpHiveServer
3、ubuntu下安装mysqlhttp://cycnet.blog.51cto.com/117809/812625/
在Hadoop-2.2.0集群上安装 Hive-0.13.1 with MySQL的更多相关文章
- 超详细实操教程!在现有K8S集群上安装JenkinsX,极速提升CI/CD体验!
在2018年年初,Jenkins X首次发布,它由Apache Groovy语言的创建者Jame Strachan创建.Jenkins X 是一个高度集成化的 CI/CD 平台,基于 Jenkins ...
- Istio(二):在Kubernetes(k8s)集群上安装部署istio1.14
目录 一.模块概览 二.系统环境 三.安装istio 3.1 使用 Istioctl 安装 3.2 使用 Istio Operator 安装 3.3 生产部署情况如何? 3.4 平台安装指南 四.Ge ...
- 分布式Hbase-0.98.4在Hadoop-2.2.0集群上的部署
fesh个人实践,欢迎经验交流!本文Blog地址:http://www.cnblogs.com/fesh/p/3898991.html Hbase 是Apache Hadoop的数据库,能够对大数据提 ...
- Hadoop-2.6.0 集群的 安装与配置
1. 配置节点bonnie1 hadoop环境 (1) 下载hadoop- 2.6.0 并解压缩 [root@bonnie1 ~]# wget http://apache.fayea.com/had ...
- 在Hadoop集群上的Hive配置
1. 系统环境Oracle VM VirtualBoxUbuntu 16.04Hadoop 2.7.4Java 1.8.0_111 hadoop集群master:192.168.19.128slave ...
- apache kylin2.10在原生hadoop集群上安装
Install Kylin Download latest Kylin binaries at http://kylin.apache.org/download Export KYLIN_HOME p ...
- 【Spark】---- 在Linux集群上安装和配置Spark
1 安装JDK 1) 进入JDK官网 2) 下载JDK安装包 3)配置环境变量,在/etc/profile增加以下代码 JAVA_HOME=/home/hadoop/jdk1.6.0_38 PAT ...
- redis-3.0.0集群的安装及使用
redis集群需要至少6个节点(偶数节点),3个主节点,3个从节点.注意:集群模式最好不要keys *查询数据. 1 下载redis,官网下载3.0.0版本,之前2.几的版本不支持集群模式.下载地址: ...
- redis 3.0 集群__安装
参考文档 http://redis.io/topics/cluster-tutorial http://redis.io/topics/cluster-spec http://redis.readth ...
随机推荐
- 几种循环语句 ,break,continue语句用法
Java有非常灵活的三循环机制.可以使用以下三种循环之一: while 循环 do...while 循环 for 循环while循环是一个控制结构,可以重复的特定任务次数.在执行时,如果布尔表达式的结 ...
- 将JZ2440的调试串口换成com2
众所周知JZ2440 V3很小巧,精致.今天单就JZ2440的串口来讨论一些问题.我们在用串口进行调试的时候,需要用JZ2440自带的一根USB线连接电脑USB口和开发板的USB-com1口.先来看一 ...
- .net windows 服务创建、安装、卸载和调试
原文:http://blog.csdn.net/angle860123/article/details/17375895 windows服务应用程序是一种长期运行在操作系统后台的程序,它对于服务器环境 ...
- android四大组件之ContentProvider(一)
ContentProvider学习笔记 1. ContentProvider基本概念 ContentProvider向我们提供了我们在应用程序之间共享数据的一种机制,虽然采用文件和SharedPref ...
- [solr] - SolrJ增删查
使用SolrJ进行对Solr的增.删.查功能. 参考引用: http://wiki.apache.org/solr/Solrj Eclipse中新建一个项目:TestSolr 其中SorlJ的Lib包 ...
- 【MySQL】主备复制
复制对于mysql的重要性不言而喻,mysql集群的负载均衡,读写分离和高可用都是基于复制实现.下文主要从4个方面展开,mysql的异步复制,半同步复制和并行复制,最后会简单聊下第三方复制工具.由于生 ...
- 原生+jquery 实现好看滚动条。
//原生 <!doctype html> <html> <head> <meta charset="utf-8"> <titl ...
- HBase体系结构
HBase的服务器体系结构遵从简单的主从服务器架构,它由HRegion服务器(HRegion Service)群和HBase Master服务器(HBase Master Server)构成.Hbas ...
- 仿淘宝详情转场(iOS,安卓没有这功能)
由于公司是做跨境电商的,所以对各大电商APP都有关注,最近看到淘宝iOS端(安卓没有)在商品详情点击加入购物车有一个动画效果特别赞,正好今天新版本上线,下午就抽了些时间研究了下. 主要思路是自定义转场 ...
- safari渲染Transition动画不流畅问题
用css3的transition过渡来做页面动画的时候,发现在chrome和ff流畅,在safari 不流畅: 度娘找到了淘宝UED的一个类似解决方案,动画就流畅了. 测试环境: win7 32bit ...