单台服务器上学习Hadoop和Hive十分钟教程
Hadoop是个很流行的分布式计算解决方案,Hive是基于hadoop的数据分析工具。
一般的学习者不是太容易找到多台服务器来做集群学习hadoop,所以hadoop官方文档提供了在单台服务器上运行hadoop的指南(hive是基于hadoop的,它不关心有几台服务器,只要有hadoop就行了),来教大家怎样在一台硬件机器上模拟一个hadoop集群,这种模式只适合用来学习练手,真正要做分布式计算,是会配置在多台机器上的。
下面是一个最简单的安装使用hadoop/hive的文档:
下载Hadoop、Hive
a) Hadoop下载地址:http://www.apache.org/dyn/closer.cgi/hadoop/core/
b) Hive下载地址:http://www.apache.org/dyn/closer.cgi/hive/
选择较新的稳定版本下载即可,下载到任意目录都可以,解压开就可以运行的,不需要编译安装。
这里要注意,Hive 0.6不支持Hadoop 0.21,我是使用Hadoop 0.20.2 + Hive 0.6.0测试成功的(测试于2011年3月16日)
检查环境
Hadoop依赖Java和SSH
Java
Hadoop 0.20要求Java 1.6,最好是从Sun官方下载安装的,通过java –version确认你有没有装java以及java的版本。
输出像这样说明是OK的:
$ java -version
java version “1.6.0_17″
输出像这样说明没装java:
chin@lily ~ $ java -version
-bash: java: command not found
去sun的网站下载个JDK来装上(SUN被Oracle收购了,所以下载地址的域名是oracle.com):http://www.oracle.com/technetwork/java/javaee/downloads/index.html
SSH
i. 确认有没有安装sshd服务和ssh客户端工具
一般服务器都有sshd服务的(因为你要远程连过去操作这个服务器呀),如果没有,说明你是通过linux桌面来操作的,用yum, apt-get之类的包管理工具装上就好了:
chin@lily ~ $ sudo apt-get install ssh
chin@lily ~ $ sudo apt-get install rsync
ii. 确认可以用ssh免密码登录localhost
输入ssh localhost命令
chin@lily ~ $ ssh localhost
如果直接登录进去了而没问你要密码(屏幕提示如下),就是OK的
Last login: Wed Mar 16 15:06:21 2011 from *.*.*.*
如果问你要密码(屏幕提示如下):
chin@lily ~ $ ssh localhost
chin@localhost’s password:
就需要简单设置一下,方法如下:
chin@lily ~ $ ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa
chin@lily ~ $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
这两个命令的意思是让你从本地ssh到localhost的时候使用证书登录,密码是空。
做完之后再用ssh localhost验证一下。最好logout之后再来试,因为如果你ssh localhost成功了,就已经在localhost(在软件概念里,已经是在远程服务器上了)里了,再ssh localhost的话,会问你要密码的,听起来是不是像盗梦空间,哈哈!所以全部退出,退到未登录状态,再来试,不容易出错一些。
解压、配置hadoop
解压
chin@lily ~ $ tar zxf hadoop-0.20.2.tar.gz
进入解压后的hadoop目录
chin@lily ~ $ cd hadoop-0.20.2
chin@lily ~/hadoop-0.20.2 $
修改配置文件
iii. 设置JAVA_HOME
编辑conf/hadoop-env.sh文件,找到:
# export JAVA_HOME=/usr/lib/j2sdk1.5-sun
把前面的注释符号#去掉,这个#是注释的意思
把等号后面的路径改为你的JDK所在的目录,如你的java可执行文件在/usr/bin/java,则写成(不要包含bin):
export JAVA_HOME=/usr
如果不知道java在什么地方请用whereis java查询
iv. 配置hadoop的单机集群模式(伪集群模式)
按此文档的指示改:
http://hadoop.apache.org/common/docs/r0.20.0/quickstart.html#PseudoDistributed
修改conf/core-site.xml,内容改为:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
修改conf/hdfs-site.xml,内容改为:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
修改conf/mapred-site.xml,内容改为:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
初始化hadoop Namenode
执行:bin/hadoop namenode –format
看到successfully formatted
chin@lily ~/hadoop-0.20.2 $ bin/hadoop namenode -format
11/03/16 16:12:03 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
一堆日志输出,为节省篇幅,不贴了
11/03/16 16:12:04 INFO common.Storage: Storage directory /tmp/hadoop-chin/dfs/name has been successfully formatted.
启动运行hadoop
执行:bin/start-all.sh
chin@lily 16:12:04 ~/hadoop-0.20.2 $ bin/start-all.sh
starting namenode, logging to 一个日志文件
localhost: starting datanode, logging to一个日志文件
localhost: starting secondarynamenode, logging to 一个日志文件
starting jobtracker, logging to一个日志文件
localhost: starting tasktracker, logging to一个日志文件
会看到这个脚本依次启动了namenode, secondarynamenode, datanode, jobtracker, tasktracker,只有这五个全部成功启动才算成功,用jps命令看一下启动了哪些java进程:
chin@lily 16:30:57 ~/hadoop-0.20.2 $ jps
24106 TaskTracker
23931 SecondaryNameNode
24001 JobTracker
25095 Jps
23712 NameNode
24741 DataNode
至此,Hadoop安装成功
在HDFS中建立hive要用的目录
chin@lily ~/hadoop-0.20.2 $ bin/hadoop fs -mkdir /tmp
chin@lily ~/hadoop-0.20.2 $ bin/hadoop fs -mkdir /user/hive/warehouse
chin@lily ~/hadoop-0.20.2 $ bin/hadoop fs -chmod g+w /tmp
chin@lily ~/hadoop-0.20.2 $ bin/hadoop fs -chmod g+w /user/hive/warehouse
解压Hive
chin@lily ~ $ tar zxf hive-0.6.0-bin.tar.gz
chin@lily ~ $ cd hive-0.6.0-bin
chin@lily ~/hive-0.6.0-bin $
设置HADOOP_HOME
chin@lily ~/hadoop-0.20.2 $ export HADOOP_HOME=/home/chin/hadoop-0.20.2
运行Hive
chin@lily ~/hive-0.6.0-bin $ bin/hive
Hive history file=/tmp/chin/hive_job_log_chin_201103161721_2092136471.txt
hive >
修改 hadoop/conf/hadoop-env.sh,
# The maximum amount of heap to use in MB. Default is 1000.
export HADOOP_HEAPSIZE=256
至此,Hive运行成功
分享到:
相关推荐
在本文档中,我们将详细介绍如何搭建一个大数据集群环境,包括 Hadoop、HBase、Hive 和 Sqoop 的安装配置及使用。该文档将分为四部分:Hadoop 集群环境搭建、HBase 集群环境搭建、Hive 集群环境搭建和 Sqoop 集成...
- 将上述所有组件安装在每台服务器上,包括Master和Slave节点。 - 调整各组件的配置文件,确保集群通信正常。 - 分别启动Hadoop、HBase、Spark和Hive的服务,测试它们之间的交互和数据流动。 总的来说,搭建...
然后,从Apache的官方网站或镜像服务器上下载Hadoop和Hive的最新发行版。Hadoop的配置文件位于`conf`目录下,主要包括`hadoop-env.sh`和`hadoop-site.xml`。 在`hadoop-env.sh`中,设置`JAVA_HOME`指向你的Java安装...
本压缩包"hadop安装文件.rar"提供了关于Hadoop及其相关组件(如Hive、HBase、Sqoop和MySQL)的安装步骤,这对于初学者和系统管理员来说是一份宝贵的资源。 首先,我们来详细了解一下Hadoop。Hadoop由Apache软件基金...
在Hive 0.11.0版本之前,只有HiveServer服务可用,你得在程序操作Hive之前,必须在Hive安装的服务器上打开HiveServer服务,如下: 1 [wyp@localhost/home/q/hive-0.11.0]$ bin/hive --service hiveserver -p10002 2 ...
【虚拟机Ubuntu+Hadoop+hive安装教程】 本教程详细阐述了如何在虚拟机Ubuntu上安装Hadoop和Hive,适合对大数据处理感兴趣的互联网技术人员。首先,我们将介绍Ubuntu的安装步骤,接着是Hadoop的安装,最后是Hive的...
其中,HDFS(Hadoop Distributed File System)是Hadoop的核心部分,它将大型数据集分布式存储在多台廉价服务器上,实现了高容错性和高吞吐量的数据访问。压缩包中的`hadoop-2.7.3.tar(1).gz`包含了Hadoop的二进制...
标题中的"一键安装jdk+mysql+hadoop+hive+zeppelin.rar"表明这是一个包含Java开发环境(JDK)、MySQL数据库、Hadoop分布式计算框架、Hive数据仓库工具以及Zeppelin交互式数据分析平台的一键安装包。这个压缩包为用户...
根据提供的文件信息,我们可以深入探讨Hadoop 3.0.3和Hive 2.3.5的相关知识点。 ### Hadoop 3.0.3 #### 1. Hadoop简介 Hadoop是一个开源软件框架,用于分布式存储和处理大规模数据集。它能够将大量数据分发到多台...
Hive将SQL语句转换为MapReduce任务执行,简化了在Hadoop上处理大数据的工作。在本项目中,Hive可能是用于数据的存储、管理和查询,方便快速获取业务指标。 3. **数据仓库**: 数据仓库是专门设计用于数据分析的...
在Windows 10环境下搭建Hadoop生态系统,包括JDK、MySQL、Hadoop、Scala、Hive和Spark等组件,是一项繁琐但重要的任务,这将为你提供一个基础的大数据处理平台。下面将详细介绍每个组件的安装与配置过程。 **1. JDK...
Hadoop和Hive是大数据处理和分析领域的重要工具。Hadoop是一个分布式系统基础架构,由Apache基金会开发。它通过在计算机集群之间分布式存储大量数据并允许应用程序在这些集群上并行处理大量数据,来实现高可靠性和...
通常,我们将Hive安装在Hadoop的namenode节点上,便于管理和访问。 2. **环境变量配置** 在系统环境变量中添加`HADOOP_HOME`和`HIVE_HOME`。`HADOOP_HOME`指向Hadoop的安装目录,而`HIVE_HOME`则指向Hive的安装...
Hadoop的分布式文件系统(HDFS)可以将数据分布在多台廉价服务器上,确保高可用性和容错性。而MapReduce则是一种编程模型,用于大规模数据集的并行计算,使得处理大量数据变得高效且易于管理。 接下来是Hive,它是...
2. 文档:文件中说明了如何在Red Hat Enterprise Server 5.5上安装Hadoop、Hive和Mysql。 标签中的知识点: 1. 技术资料:通常指与IT技术相关的文档资料,如安装教程、配置说明、用户手册等。 部分内容中的知识点...
元数据存储了表和分区的定义,Hive服务器处理客户端请求,执行引擎则将HiveQL转换为MapReduce任务在Hadoop集群上执行。 6. **HiveQL操作**:HiveQL支持常见的数据操作,如创建表、加载数据、查询、聚合、分组、排序...
### Hadoop Hive 安装与配置详解 #### 一、Hadoop Hive 概述 Hadoop Hive 是一种基于 Hadoop 的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的 SQL 查询功能,使不熟悉 MapReduce 的开发...
综上所述,本文详细介绍了如何安装和整合Hadoop2.2、HBase0.96和Hive0.12,并提供了一些常见的问题解决方案。对于初次接触这些技术的新手来说,遵循上述步骤可以大大减少安装过程中可能出现的问题。此外,对于那些...