第一章:Hive远程搭建
hive 简介:非java编程者对HDFS的数据做mapreduce操作
hive属于数据仓库的范畴,那么,数据库和数据仓库到底有什么区别了,这里简单说明一下:数据库侧重于OLTP(在线事务处理),数据仓库侧重OLAP(在线分析处理);也就是说,例如mysql类的数据库更侧重于短时间内的数据处理,反之。
hive特点:
数据仓库
解释器,编译器,优化器等
运行时,元数据存储在关系型数据库里面
无hive:使用者.....->mapreduce...->hadoop数据(可能需要会mapreduce)
有hive:使用者...->HQL(SQL)->hive...->mapreduce...->hadoop数据(只需要会SQL语句)
1、安装mysql
#解决没有mysql-server可用的包 yum -y install wget wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm #通过yum安装mysql服务 yum -y install mysql-server #启动mysql服务 systemctl start mysqld.service #显示数据库实例 show databases; #使用mysql数据库 use mysql #授权 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; #删除其他授权 delete from user where host!='%' #刷新权限 flush privileges
2、启动zookeeper集群
3、启动hadoop集群
4、上传hive包到服务器
5、修改hive-site.xml文件
<configuration>
<!-- hive工作目录 -->
<property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive_remote/warehouse</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop01:3306/hive_remote?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>123456</value> </property> </configuration>
6、启动metastore服务器
./hive --service metastore
7、客户端hive-site.xml 修改
<configuration> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive_remote/warehouse</value> </property> <property> <name>hive.metastore.uris</name> <value>thrift://hadoop02:9083</value> </property> </configuration>
8、客户端启动
#Caused by: org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot create directory /tmp/hive. Name node is in safe mode ./hadoop dfsadmin -safemode leave
./hive
9、hive测试
#hive创建表 create table test(id int); #hive插入数据 insert into test values (1)
浙公网安备 33010602011771号