Windows环境下安装Hadoop+Hive的使用案例

摘要:
------------------------正文开始------------------------------Hadoop安装:首先,到官方网站下载Hadoop 2.7.7。链接如下https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadooponwindows的主人。在线磁盘的zip链接如下https://pan.baidu.com/s/1VdG6PBnYKM91ia0hlhIeHg解压hadoop-2.7.7.tar。gz,并将hadoop2.7.7的bin等替换为hadooponwindows master的bin等。注意:在安装Hadoop 2.7.7时,请从Hadoop 2.7.8的官方网站下载Hadoop 2.7.7.在安装过程中,请注意不要将其安装在带有空格的路径名下,例如ProgrameFiles。否则,在配置Hadoop配置文件时将找不到JDK。

 正文前先来一波福利推荐:

福利一:

百万年薪架构师视频,该视频可以学到很多东西,是本人花钱买的VIP课程,学习消化了一年,为了支持一下女朋友公众号也方便大家学习,共享给大家。

福利二:

毕业答辩以及工作上各种答辩,平时积累了不少精品PPT,现在共享给大家,大大小小加起来有几千套,总有适合你的一款,很多是网上是下载不到。

获取方式:

微信关注 精品3分钟 ,id为 jingpin3mins,关注后回复   百万年薪架构师 ,精品收藏PPT  获取云盘链接,谢谢大家支持!

Windows环境下安装Hadoop+Hive的使用案例第1张

------------------------正文开始---------------------------

Hadoop安装:

首先到官方下载官网的hadoop2.7.7,链接如下 
https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/ 
找网盘的hadooponwindows-master.zip 
链接如下 
https://pan.baidu.com/s/1VdG6PBnYKM91ia0hlhIeHg 
把hadoop-2.7.7.tar.gz解压后 
使用hadooponwindows-master的bin和etc替换hadoop2.7.7的bin和etc 

注意:安装Hadoop2.7.7 
  官网下载Hadoop2.7.7,安装时注意,最好不要安装到带有空格的路径名下,例如:Programe Files,否则在配置Hadoop的配置文件时会找不到JDK(按相关说法,配置文件中的路径加引号即可解决,但我没测试成功)。 
配置HADOOP_HOME 

Windows环境下安装Hadoop+Hive的使用案例第2张

path添加%HADOOP_HOME%in(win10不用分号或者如下编辑界面不用分号,其余加上 ;)

-----------------------------------------------------------配置文件----------------------------

使用编辑器打开E:Hadoop2.7.7hadoop-2.7.7etchadoophadoop-env.cmd 
修改JAVA_HOME的路径 
把set JAVA_HOME改为jdk的位置 
注意其中PROGRA~1代表Program Files 
set JAVA_HOME=E:PROGRA~1Javajdk1.8.0_171 

Windows环境下安装Hadoop+Hive的使用案例第3张

打开 hadoop-2.7.7/etc/hadoop/hdfs-site.xml 
修改路径为hadoop下的namenode和datanode 

dfs.replication 


dfs.namenode.name.dir 
/E:/Hadoop2.7.7/hadoop-2.7.7/data/namenode 


dfs.datanode.data.dir 
/E:/Hadoop2.7.7/hadoop-2.7.7/data/datanode 

在E:Hadoop-2.7.7目录下 添加tmp文件夹 
在E:/Hadoop2.7.7/hadoop-2.7.7/添加data和namenode,datanode子文件夹 

Windows环境下安装Hadoop+Hive的使用案例第4张

 Windows环境下安装Hadoop+Hive的使用案例第5张

 还需要把hadoop.dll(从)拷贝到 C:WindowsSystem32 

 Windows环境下安装Hadoop+Hive的使用案例第6张

不然在window平台使用MapReduce测试时报错

以管理员身份打开命令提示符 
输入hdfs namenode -format,看到seccessfully就说明format成功。

 Windows环境下安装Hadoop+Hive的使用案例第7张

转到Hadoop-2.7.3sbin文件下   输入start-all,启动hadoop集群 ,关闭是 stop-all

Windows环境下安装Hadoop+Hive的使用案例第8张

Windows环境下安装Hadoop+Hive的使用案例第9张

Windows环境下安装Hadoop+Hive的使用案例第10张

Windows环境下安装Hadoop+Hive的使用案例第11张

Windows环境下安装Hadoop+Hive的使用案例第12张

输入jps - 可以查看运行的所有节点

 Windows环境下安装Hadoop+Hive的使用案例第13张

访问http://localhost:50070,访问hadoop的web界面

 Windows环境下安装Hadoop+Hive的使用案例第14张

---------------------------------------------------------------------

hadoop启动后,创建如下的HDFS文件:

D:Codehadoop-2.7.7hadoop-2.7.7sbin>hdfs dfs -mkdir /user
D:Codehadoop-2.7.7hadoop-2.7.7sbin>hdfs dfs -mkdir /user/hive
D:Codehadoop-2.7.7hadoop-2.7.7sbin>hdfs dfs -mkdir /user/hive/warehouse
D:Codehadoop-2.7.7hadoop-2.7.7sbin>hdfs dfs -mkdir /tmp
D:Codehadoop-2.7.7hadoop-2.7.7sbin>hdfs dfs -mkdir /tmp/hive
D:Codehadoop-2.7.7hadoop-2.7.7sbin>hadoop fs -chmod -R 777 /tmp

HIVE安装:

1.安装hadoop

2.从maven中下载mysql-connector-java-5.1.26-bin.jar(或其他jar版本)放在hive目录下的lib文件夹

3.配置hive环境变量,HIVE_HOME=F:hadoopapache-hive-2.1.1-bin

4.hive配置

hive的配置文件放在$HIVE_HOME/conf下,里面有4个默认的配置文件模板

hive-default.xml.template                           默认模板

hive-env.sh.template                hive-env.sh默认配置

hive-exec-log4j.properties.template    exec默认配置

 hive-log4j.properties.template               log默认配置

可不做任何修改hive也能运行,默认的配置元数据是存放在Derby数据库里面的,大多数人都不怎么熟悉,我们得改用mysql来存储我们的元数据,以及修改数据存放位置和日志存放位置等使得我们必须配置自己的环境,下面介绍如何配置。

(1)创建配置文件

$HIVE_HOME/conf/hive-default.xml.template  -> $HIVE_HOME/conf/hive-site.xml

$HIVE_HOME/conf/hive-env.sh.template  -> $HIVE_HOME/conf/hive-env.sh

$HIVE_HOME/conf/hive-exec-log4j.properties.template ->  $HIVE_HOME/conf/hive-exec-log4j.properties

$HIVE_HOME/conf/hive-log4j.properties.template  -> $HIVE_HOME/conf/hive-log4j.properties

(2)修改 hive-env.sh

export HADOOP_HOME=F:hadoophadoop-2.7.2
export HIVE_CONF_DIR=F:hadoopapache-hive-2.1.1-binconf
export HIVE_AUX_JARS_PATH=F:hadoopapache-hive-2.1.1-binlib

(3)修改 hive-site.xml

复制代码
  1  <!--修改的配置-->  
  2 
  3 <property>  
  4 
  5 <name>hive.metastore.warehouse.dir</name>  
  6 
  7 <!--hive的数据存储目录,指定的位置在hdfs上的目录-->  
  8 
  9 <value>/user/hive/warehouse</value>  
 10 
 11 <description>location of default database for the warehouse</description>  
 12 
 13 </property>  
 14 
 15 <property>  
 16 
 17 <name>hive.exec.scratchdir</name>  
 18 
 19 <!--hive的临时数据目录,指定的位置在hdfs上的目录-->  
 20 
 21 <value>/tmp/hive</value>  
 22 
 23 <description>HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/<username> is created, with ${hive.scratch.dir.permission}.</description>  
 24 
 25 </property>  
 26 
 27 <property>  
 28 
 29 <name>hive.exec.local.scratchdir</name>  
 30 
 31 <!--本地目录-->  
 32 
 33 <value>F:/hadoop/apache-hive-2.1.1-bin/hive/iotmp</value>  
 34 
 35 <description>Local scratch space for Hive jobs</description>  
 36 
 37 </property>  
 38 
 39 <property>  
 40 
 41 <name>hive.downloaded.resources.dir</name>  
 42 
 43 <!--本地目录-->  
 44 
 45 <value>F:/hadoop/apache-hive-2.1.1-bin/hive/iotmp</value>  
 46 
 47 <description>Temporary local directory for added resources in the remote file system.</description>  
 48 
 49 </property>  
 50 
 51 <property>  
 52 
 53 <name>hive.querylog.location</name>  
 54 
 55 <!--本地目录-->  
 56 
 57 <value>F:/hadoop/apache-hive-2.1.1-bin/hive/iotmp</value>  
 58 
 59 <description>Location of Hive run time structured log file</description>  
 60 
 61 </property>  
 62 
 63 <property>  
 64 
 65 <name>hive.server2.logging.operation.log.location</name>  
 66 
 67 <value>F:/hadoop/apache-hive-2.1.1-bin/hive/iotmp/operation_logs</value>  
 68 
 69 <description>Top level directory where operation logs are stored if logging functionality is enabled</description>  
 70 
 71 </property>  
 72 
 73 <!--新增的配置-->  
 74 
 75 <property>  
 76 
 77 <name>javax.jdo.option.ConnectionURL</name>  
 78 
 79 <value>jdbc:mysql://localhost:3306/hive?characterEncoding=UTF-8</value>  
 80 
 81 </property>  
 82 
 83 <property>  
 84 
 85 <name>javax.jdo.option.ConnectionDriverName</name>  
 86 
 87 <value>com.mysql.jdbc.Driver</value>  
 88 
 89 </property>  
 90 
 91 <property>  
 92 
 93 <name>javax.jdo.option.ConnectionUserName</name>  
 94 
 95 <value>root</value>  
 96 
 97 </property>  
 98 
 99 <property>  
100 
101 <name>javax.jdo.option.ConnectionPassword</name>  
102 
103 <value>root</value>  
104 
105 </property>  
106 
107 <!-- 解决 Required table missing : "`VERSION`" in Catalog "" Schema "". DataNucleus requires this table to perform its persistence operations. Either your MetaData is incorrect, or you need to enable "datanucleus.autoCreateTables"  -->  
108 
109 <property>  
110 
111 <name>datanucleus.autoCreateSchema</name>  
112 
113 <value>true</value>  
114 
115 </property>  
116 
117 <property>  
118 
119 <name>datanucleus.autoCreateTables</name>  
120 
121 <value>true</value>  
122 
123 </property>  
124 
125 <property>  
126 
127 <name>datanucleus.autoCreateColumns</name>  
128 
129 <value>true</value>  
130 
131 </property>  
132 
133 <!-- 解决 Caused by: MetaException(message:Version information not found in metastore. )  -->  
134 
135 <property>    
136 
137 <name>hive.metastore.schema.verification</name>    
138 
139 <value>false</value>    
140 
141 <description>    
142 
143     Enforce metastore schema version consistency.    
144 
145     True: Verify that version information stored in metastore matches with one from Hive jars.  Also disable automatic    
146 
147           schema migration attempt. Users are required to manully migrate schema after Hive upgrade which ensures    
148 
149           proper metastore schema migration. (Default)    
150 
151     False: Warn if the version information stored in metastore doesn't match with one from in Hive jars.    
152 
153 </description>    
154 
155 </property>   
复制代码

注:需要事先在hadoop上创建hdfs目录

启动metastore服务:hive --service metastore

Windows环境下安装Hadoop+Hive的使用案例第17张

在数据库中生成对应的 hive 数据库

Windows环境下安装Hadoop+Hive的使用案例第18张

 启动Hive:hive

Windows环境下安装Hadoop+Hive的使用案例第19张

-------------------------------------------------------------- 创建表 以及 查询案例

hive上创建表:

CREATE TABLE testB (
id INT,
name string,
area string
) PARTITIONED BY (create_time string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' STORED AS TEXTFILE;

将本地文件上传到 HDFS:

Windows环境下安装Hadoop+Hive的使用案例第20张

HDFS下执行:    D:Codehadoop-2.7.7hadoop-2.7.7sbin>hdfs dfs -put D:Codehadoop-2.7.7gxybb.txt /user/hive/warehouse

 Windows环境下安装Hadoop+Hive的使用案例第21张

hive导入HDFS中的数据:

LOAD DATA INPATH '/user/hive/warehouse/bbb.txt' INTO TABLE testb PARTITION(create_time='2015-07-08');

Windows环境下安装Hadoop+Hive的使用案例第22张

 执行选择命令:

select * from testb;

Windows环境下安装Hadoop+Hive的使用案例第23张

免责声明:文章转载自《Windows环境下安装Hadoop+Hive的使用案例》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇修改listener的inbound_connect_timeout参数的方法centos7下Zookeeper+sheepdog集群搭建下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

beeline: 新版连接Hive server的工具

HiveServer2支持一个新的命令行Shell,称为Beeline,它是基于SQLLine CLI的JDBC客户端。它是从 Hive 0.11版本引入的,是Hive新的命令行客户端工具。Hive客户端工具后续将使用Beeline替代HiveCLI,并且后续版本也会废弃掉HiveCLI客户端工具。 Beeline支持嵌入模式(embedded mode)...

AMBARI部署HADOOP集群(3)

1.安装ambari-server yum -y install ambari-server 2.ambariserver需要一个数据库存储元数据,默认使用的 Postgres数据库。默认的用户名和密码是:ambari/bigdata 。但是一般情况下,后面还要安装 hive和 Ranger,也需要一个存元数据的数据库,所以使用一个mysql做为数据库。需...

关于hadoop的运行的一些指标监控(非cdh平台的)

在hadoop-env.sh中添加: # 在配置namenode和datanode时都会有用到JMX_OPTS的代码,是为了减少重复提取出的公共代码 export JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom....

Spark2.1集群安装(standalone模式)

机器部署   准备三台Linux服务器,安装好JDK1.7 下载Spark安装包   上传spark-2.1.0-bin-hadoop2.6.tgz安装包到Linux(intsmaze-131)上   解压安装包到指定位置tar -zxvf spark-2.1.0-bin-hadoop2.6.tgz -C /home/hadoop/app/spark2.0...

【原创】大数据基础之Benchmark(4)TPC-DS测试结果(hive/hive on spark/spark sql/impala/presto)

1 测试集群 内存:256GCPU:32Core (Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz)Disk(系统盘):300GDisk(数据盘):1.5T*1 2 测试数据 tpcds parquet 10g tpcds orc 10g 3 测试对象 hive-2.3.4 【set mapreduce.map.m...

Hive入门

第一章 Hive 基本概念 1.1 什么是 Hive Apache Hive是一款建立在Hadoop之上的开源数据仓库系统,可以将存储在Hadoop文件中的结构化、半结构化数据文件映射为一张数据库表,基于表提供了一种类似SQL的查询模型,称为Hive查询语言(HQL),用于访问和分析存储在Hadoop文件中的大型数据集。 Hive核心是将HQL转换为Map...