5.1 hive数据仓库

hive:是数据仓库,不是数据库,是非Java编程者对hdfs的数据做mapreduce操作,把SQL语言转化为mapreduce语言
数据仓库:存的是历史数据,做分析用,增加冗余
数据库:存在线数据,减少冗余
hive最小处理单元是操作符,每个操作符代表hdfs的一个操作或一个mapreduce程序
hive三种模式:本地模式,单用户模式,多用户模式

mysql安装
yum -y install mysql-server yum安装MySQL
service mysqld start 启动MySQL
chkconfig mysqld on 添加到开机启动项
mysql 进入mysql客户端
use mysql 切换库
delete from user; 删除默认权限表
重新创建权限用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
flush privileges; 刷新权限
quit 退出
mysql -u root -p 登陆(带用户)

hive安装:
运行hadoop集群 安装一个关系型数据,(mysql):yum install mysql-server (前面已经安装了MySQL就不需要了)
tar -zxvf apache-hive-1.2.1-bin.tar.gz 解压安装包
mv apache-hive-1.2.1-bin apache-hive-1.2.1 改名为apache-hive-1.2.1
配置环境变量:
export HIVE_HOME=/opt/local/apache-hive-1.2.1
export PATH=$PATH:$HIVE_HOME/bin
source ~/.bash_profile 重启配置文件
记得把mysql-connector-java-5.1.32-bin.jar这个驱动包放到apache-hive-1.2.1/lib下 没有这个jar的去网上下载一个
注意:把apache-hive-1.2.1/lib下 jline-2.12.jar和hadoop-2.5.2/share/hadoop/yarn/lib下的jar同步,删除低版本,保留高版本
然后进入conf目录下创建 hive-site.xml
单用户模式conf/hive-site.xml:
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive_remote/warehouse</value> //数据存储路径
</property>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name> //MySQL配置路径
<value>jdbc:mysql://node1/hive_remote?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name> //MySQL驱动
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name> //MySQL用户
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name> //MySQL密码
<value>password</value>
</property>

启动MySQL和hadoop
hive 启动hive
quit 退出

多用户(远程客户端)模式conf/hive-site.xml拆分为2部分:
1,服务端部分hive-site.xml:
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://node1:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>password</value>
</property>

2,客户端配置hive-site.xml:
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<name>hive.metastore.local</name>
<value>false</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://node2:9083</value> //配置服务端
</property>

启动 hive 服务端程序 hive --service metastore
客户端直接使用 hive 命令即可
注意:把apache-hive-1.2.1/lib下 jline-2.12.jar和hadoop-2.5.2/share/hadoop/yarn/lib下的jar同步,删除低版本,保留高版本
记得把mysql-connector-java-5.1.32-bin.jar这个驱动包放到apache-hive-1.2.1/lib下

猜你喜欢

转载自blog.csdn.net/u011418530/article/details/80533953
5.1