Hive的安装配置和连接mysql
2016-11-15 22:16
447 查看
一、基础介绍
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件(存储在hdfs中)映射为一张数据库表,并提供类SQL查询功能,通过使用hive的sql脚本来操作数据(hql),本质是将SQL转换为MapReduce程序 。它包括解释器(把脚本解释成java代码),编译器(编译java代码,其实就是mapreduce代码,提交到hadoop),优化器等。
hive运行时,一定要有元数据(存储真实数据到逻辑表的映射),它存储在关系型数据库里,hive自带的derby数据库不稳定,我们用mysql。
hive的特点:
1、操作接口采用类SQL语法,提供快速开发的能力
2、避免了去写MapReduce,减少开发人员的学习成本
3、扩展功能很方便 ,容错性好
4、虽然执行延迟高,但处理数据规模大
hql脚本有三种方式执行:
1、hive -e 执行一个sql脚本(一行),如:
hive -e 'select a.col from tab1 a'2、hive -f 执行一个sql文件,如:
hive -f /home/my/hive-script.sql3、hive jdbc 代码执行脚本,即java语句
hive命令行操作:
hive> set mapred.reduce.tasks=32; 设置变量 hive> set; 打印用户改变的变量 hive> select a.* from tab1; 直接执行sql脚本 hive> !ls; 在hive命令行中执行一个普通命令行操作 hive> dfs -ls; 在hive命令行中执行dfs命令
二、hive搭建与连接mysql
使用hive要先启动hadoop,关于Hadoop的搭建可以参看我的另一篇文章:完全分布式Hadoop集群的安装搭建和配置(4节点),下文的节点设置等内容都参照这篇文章。Hadoop启动顺序为:先在有zk的节点启动zk(zkServer.sh start),然后在主节点启动全部(start-all.sh)
启动之后把hive安装包(我用的0.13.1版本)解压:
sudo tar -zxf ~/下载/apache-hive-1.0.1-bin.tar.gz -C /usr/local # 解压到/usr/local中 cd /usr/local/ sudo mv ./ apache-hive-1.0.1-bin / ./hive # 将文件夹名改为hive sudo chown -R hadoop ./hive #赋予权限然后进入hive的conf目录,修改配置文件名:
cp -a hive-default.xml.template hive-site.xml启动hive,在hive的bin目录下(建议在/etc/profile中配好环境变量):
./hive
退出hive交互:quit;
安装mysql:
sudo apt-get install mysql-server mysql-client把下载的mysql-connector-java包解压缩的jar包放到hive的lib下,但这只能本地登录mysql,不能远程登录,要设置:
mysql -u root -p(登录,密码我设的root)查看mysql的用户:
mysql> use mysql; mysql> select * from user;赋予所有表上的权限给root用户,%表示所有的主机都可以访问,密码是root:
grant all on *.* to root@'%' identified by 'root'; grant all on *.* to root@'Master' identified by 'root';查看/etc/mysql/my.cnf文件:
bind-address = 127.0.0.1 //找到并注释掉
有的人可能这个my.cnf文件里没有上边的内容,网上查到可以把etc下share下的一个任意一个.cnf文件复制过来,我没试,我是把别人的能用的文件复制过来的,下载链接点我。
设置完修改hive-site.xml:
可以用/查找,第一处:
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://Master/hive</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>root</value> <description>password to use against metastore database</description> </property>
启动hive时如果报错:拒绝连接。原因是需要先重启mysql服务:service mysql restart
相关文章推荐
- ubuntu下MySQL的安装及远程连接配置
- RedHat 上安装多个 mysql 实例并配置 django 连接的操作记录
- linux下mysql的安装配置远程连接
- Hive-0.11.0 安装配置过程(MySQL存储meta data)
- Ubuntu下用codeblock+mysql安装、配置、连接
- ubuntu下MySQL的安装及远程连接配置等配置
- Ubuntu下MySQL的安装及远程连接配置等配置
- Ubuntu下MySQL的安装及远程连接配置等配置
- hive-mysql安装配置
- mysql安装,配置,远程连接
- ubuntu下MySQL的安装及远程连接配置等配置
- hive连接mysql配置
- ubuntu下MySQL的安装及远程连接配置等配置
- hive连接mysql配置
- hive安装、配置 mysql存储元数据
- hive与mysql安装配置
- Centos下安装并配置ODBC连接MySQL
- hive+mysql安装配置
- Ubuntu下用codeblock+mysql安装、配置、连接
- Hive安装配置及与mysql结合应用