- 浏览: 587901 次
- 来自: 北京
文章分类
最新评论
-
lidi2011:
很通俗易懂的文章,很形象。
同步synchronized方法和代码块 -
inuyasha027:
领教了,谢谢。
Hadoop安装, Hive 安装。 -
xbmujfly:
好文 ,本人发现晚了
学习笔记 - java.util.concurrent 多线程框架 -
hanazawakana:
学习学习!
ANT-build.xml文件详解 -
david.org:
似乎还忽略一点,那就是cassandra不同数据中心的同步,H ...
Cassandra Vs HBase
Hadoop安装指南 / Hive安装指南
Hadoop集群需要一个机器作为Master节点,其余的机器都是slave节点。
HIVE只需在Master节点中安装和配置即可。
配置Hadoop
Hadoop的配置比较简单,下面详细讲一下安装与配置步骤。
以配置Hadoop 0.20.2版本为例。
(1) 从hadoop官网上下载hadoop-0.20.2.tar.gz文件,并解压产生hadoop-0.20.2目录,将该目录到/opt/hadoop目录下(如果你解压缩到了其它目录中,注意后面要相应的修改配置项)。
输入命令建立软连接$ ln -s hadoop-0.20.2 hadoop (这样做的好处是如果改用其它版本的hadoop不用重新配置)
(2) Hadoop和Hive都需要机器名。用hostname命令修改本机的机器名,例如修改10.10.10.1的机器名为hadoop139需要键入 # hostname hadoop1
修改/etc/hosts文件,添加Hadoop集群中所有的机器名和Ip地址的对应关系。
Master节点和所有slave节点一定都要添加,否则会出问题。例如在我的所有hadoop机器的/etc/hosts文件都添加
10.10.10.1 hadoop1 10.10.10.2 hadoop2 10.10.10.3 hadoop3 10.10.10.4 hadoop4 10.10.10.5 hadoop5 10.10.10.6 hadoop6 10.10.10.7 hadoop7 |
(3) 由于Master节点的机器需要ssh无密码登录到所有slave节点,因此所有机器都需要如下配置。
在本文中Hadoop1是Master节点。
打开/etc/ssh/sshd_config文件,确保ssh使用的不是ssh2协议,否则将所有的Protocol 2修改成Protocol 1。
如果修改了该文件,用service sshd restart命令重启一下ssh服务。
键入以下命令
# cd ~/.ssh/
# ssh-keygen -t rsa1 -C "hadoop1" -f /root/.ssh/identity
# cat identity.pub >> authorized_keys
这时本机的公钥文件被存到了authorized_keys文件。
这时ssh localhost命令应该可以不需要输入密码就自动登录本机(如果ssh 本机IP成功,但ssh localhost失败,则可以打开/etc/hosts.allow文件并添加127.0.0.1)。
为了保证master不需要密码直接ssh到slave节点,所有slave机器要rsync下来master机器的/root/.ssh/identity.pub文件,并cat到本机的/root/.ssh/authorized_keys文件。
这时在master节点上用ssh+IP不输入密码直接可以登录slave机器。
(Hadoop需要SSH的无密访问。 Master机器访问Slaves机器)
(4) 修改环境变量
打开/etc/profile文件,在最后添加
export $HADOOP_HOME=/search/hadoop/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
关闭,并运行$ source /etc/profile命令,则环境变量生效。
(5) 修改$HADOOP_HOME/conf/hadoop-env.sh配置文件的两个配置
export JAVA_HOME=配置本机jdk或者jre的路径
(Redhat如果没有jdk,可以yum install java-1.6.0-openjdk-devel,
注意必须是java1.6版本以上,否则hadoop无法正常运行)
#这里设定hadoop占用2G内存,可以根据机器配置来改
export HADOOP_HEAPSIZE=2000
(6) 修改$HADOOP_HOME/conf/hadoop-site.xml文件如下,注意fs.default.name和mapred.job.tracker配置项必须用master节点的机器名而不能IP。
否则运行HIVE时会遇到错误。
<!--[if !supportLists]-->1. <!--[endif]--><?xml version="1.0"?>
<!--[if !supportLists]-->2. <!--[endif]--><?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--[if !supportLists]-->3. <!--[endif]-->
<!--[if !supportLists]-->4. <!--[endif]--><configuration>
<!--[if !supportLists]-->5. <!--[endif]--><property>
<!--[if !supportLists]-->6. <!--[endif]--> <name>fs.default.name</name>
<!--[if !supportLists]-->7. <!--[endif]--> <value>hdfs://hadoop1:9000</value>
<!--[if !supportLists]-->8. <!--[endif]--> <description>The name of the default file system. Either the literal string "local" or a host:port for DFS.</description>
<!--[if !supportLists]-->9. <!--[endif]--></property>
<!--[if !supportLists]-->10. <!--[endif]--><property>
<!--[if !supportLists]-->11. <!--[endif]--> <name>mapred.job.tracker</name>
<!--[if !supportLists]-->12. <!--[endif]--> <value>hadoop1:9001</value>
<!--[if !supportLists]-->13. <!--[endif]--> <description>The host and port that the MapReduce job tracker runs at. If "local", then jobs are run in-process as a single map and reduc
<!--[if !supportLists]-->14. <!--[endif]--></property>
<!--[if !supportLists]-->15. <!--[endif]--><property>
<!--[if !supportLists]-->16. <!--[endif]--> <name>hadoop.tmp.dir</name>
<!--[if !supportLists]-->17. <!--[endif]--> <value>/search/hadoop/hadoop/tmp</value>
<!--[if !supportLists]-->18. <!--[endif]--> <description>A base for other temporary directories.</description>
<!--[if !supportLists]-->19. <!--[endif]--></property>
<!--[if !supportLists]-->20. <!--[endif]--><property>
<!--[if !supportLists]-->21. <!--[endif]--> <name>dfs.name.dir</name>
<!--[if !supportLists]-->22. <!--[endif]--> <value>/search/hadoop/hadoop/filesystem/name</value>
<!--[if !supportLists]-->23. <!--[endif]--> <description>Determines where on the local filesystem the DFS name node should store the name table. If this is a comma-delimited list of
<!--[if !supportLists]-->24. <!--[endif]--></property>
<!--[if !supportLists]-->25. <!--[endif]--><property>
<!--[if !supportLists]-->26. <!--[endif]--> <name>dfs.data.dir</name>
<!--[if !supportLists]-->27. <!--[endif]--> <value>/search/hadoop/hadoop/filesystem/data</value>
<!--[if !supportLists]-->28. <!--[endif]--> <description>Determines where on the local filesystem an DFS data node should store its blocks. If this is a comma-delimited list of dire
<!--[if !supportLists]-->29. <!--[endif]--></property>
<!--[if !supportLists]-->30. <!--[endif]--><property>
<!--[if !supportLists]-->31. <!--[endif]--> <name>dfs.replication</name>
<!--[if !supportLists]-->32. <!--[endif]--> <value>1</value>
<!--[if !supportLists]-->33. <!--[endif]--> <description>Default block replication. The actual number of replications can be specified when the file is created. The default is used
<!--[if !supportLists]-->34. <!--[endif]--></property>
<!--[if !supportLists]-->35. <!--[endif]--></configuration>
(7) 修改所有机器的$HADOOP_HOME/conf/masters文件,指定了Master节点的IP;
修改所有机器的$HADOOP_HOME/conf/slaves文件,每行指定一个集群中slave节点的IP;
slaves文件示例如下
10.10.10.2 10.10.10.3 10.10.13.4 10.10.15.5 10.10.10.6 10.10.10.7 |
(8) 在Master节点上运行$ hadoop namenode -format 命令格式化namenode
(9) 在Master节点运行$HADOOP_HOME/bin/start-all.sh 启动hadoop。
(注意slave机器不用输入该命令,只需要在Master节点操作即可)
在shell中输入jps命令,查看启动的hadoop进程。例如
11304 DataNode 15763 Jps 11190 NameNode 11516 JobTracker 11636 TaskTracker 11437 SecondaryNameNode |
注意Master节点中必须包括NameNode、SecondaryNameNode和JobTracker进程,
slave机器必须包括DataNode和TaskTracker进程才算启动成功。
补充:如果要停止,运行$HADOOP_HOME/bin/stop-all.sh
Hadoop查询接口
http://master机器IP:50070/dfshealth.jsp (HDFS运行情况)
http://master机器IP:50030/jobtracker.jsp (MapReduce运行情况)
Hadoop常用命令
Hadoop dfs –ls / 就是查看/目录下的内容,默认如果不填路径这就是当前用户路径;
Hadoop dfs –rmr xxx就是删除目录,还有很多命令看看就很容易上手;
Hadoop dfsadmin –report这个命令可以全局的查看DataNode的情况;
Hadoop job后面增加参数是对于当前运行的Job的操作,例如list,kill等;
Hadoop balancer就是前面提到的均衡磁盘负载的命令。
HIVE配置
HIVE是基于hadoop分布式计算平台上的提供data warehouse的sql功能的一套软件。使得存储在hadoop里面的海量数据的汇总,即席查询简单化。hive提供了一套QL的查询语言,以sql为基础,使用起来很方便。Hadoop目录下实际上已经自带HIVE,但版本比较低,不推荐使用。
HIVE只需配置在Master节点,步骤如下
<!--[if !supportLists]-->(1) <!--[endif]-->从官网下载hive-0.6.0-bin.tar.gz并解压缩产生hive-0.6.0-bin文件夹。
在$HADOOP_HOME/目录下建立名叫hive的软链接。
(2) 在/etc/profile增加环境变量
export HIVE_HOME=$HADOOP_HOME/hive
export PATH=$HIVE_HOME/bin:$PATH
(3) 运行如下命令
$ $HADOOP_HOME/bin/hadoop fs -mkdir /tmp
$ $HADOOP_HOME/bin/hadoop fs -mkdir /user/hive/warehouse
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse
(4) 这时已经可以通过命令行(CLI)使用HIVE了。但是这种方式只支持单用户,多用来测试。在实际应用中,往往要将HIVE的元数据(schemal)存入Mysql中。这样就可以支持多用户了。
<!--[if !supportLists]-->36. <!--[endif]--><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter" /> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0" /> <v:f eqn="sum @0 1 0" /> <v:f eqn="sum 0 0 @1" /> <v:f eqn="prod @2 1 2" /> <v:f eqn="prod @3 21600 pixelWidth" /> <v:f eqn="prod @3 21600 pixelHeight" /> <v:f eqn="sum @0 0 1" /> <v:f eqn="prod @6 1 2" /> <v:f eqn="prod @7 21600 pixelWidth" /> <v:f eqn="sum @8 21600 0" /> <v:f eqn="prod @7 21600 pixelHeight" /> <v:f eqn="sum @10 21600 0" /> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" /> <o:lock v:ext="edit" aspectratio="t" /> </v:shapetype><v:shape id="图片_x0020_3" o:spid="_x0000_i1025" type="#_x0000_t75" alt="clip_image002" style='width:290.25pt;height:114pt;visibility:visible; mso-wrap-style:square'> <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image001.jpg" o:title="clip_image002" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
因此需要修改$HIVE_HOME/conf/hive-default.xml配置文件
配置项 |
值 |
javax.jdo.option.ConnectionURL |
jdbc:mysql:///?createDatabaseIfNotExist=true |
javax.jdo.option.ConnectionDriverName |
com.mysql.jdbc.Driver |
javax.jdo.option.ConnectionUserName |
|
javax.jdo.option.ConnectionPassword |
(参考文章http://www.mazsoft.com/blog/post/2010/02/01/Setting-up-HadoopHive-to-use-MySQL-as-metastore.aspx)
(5)从网上下载mysql-connector-java-5.1.11-bin.jar文件,并放到$HIVE_HOME/lib目录下,这时HIVE已经全部配置完了。
- Hadoop和Hive的安装配置.rar (35.2 KB)
- 下载次数: 41
发表评论
-
HDFS 抛出错误 (java.io.IOException: config())
2011-04-07 14:56 4393DEBUG [main] Configuration.& ... -
HBase vs Cassandra: 我们迁移系统的原因
2011-04-01 14:52 1695HBase vs Cassandra: 我们 ... -
hbase 介绍
2011-04-01 14:51 1576hbase 介绍 一、简介 history s ... -
HBase技术介绍
2011-04-01 14:49 1737From:http://www.searchtb.com/ ... -
HBase与BigTable的比较(翻译)
2011-04-01 13:41 2007知,HBase是Google的BigTable架构 ... -
Hadoop 状态分析系统Chukwa
2011-03-31 16:50 1570http://hi.baidu.com/ops_bd/blog ... -
Hive 的扩展特性
2011-03-30 15:54 1533Hive 的扩展特性 文章分类:Java编程 ... -
HIVE中map,array和structs使用
2011-03-30 15:25 89011:怎样导入文本文件 ... -
Hive 中UDF和UDAF简述
2011-03-30 15:24 1713From: http://blog.csdn.net ... -
Hive 中 SerDe 概述
2011-03-30 15:17 2363From: http://blog.csdn.net/da ... -
Hive 安装手册
2011-03-21 14:04 1435安装Hive 安装Hive是非常简单的,前提是 ... -
Hive 日志
2011-03-17 17:44 2701Hive日志存储在什么地方呢? 打开Hive安装目录的 ... -
The Google File System中文版
2010-10-09 20:34 2516Google MapReduce中文版 ...
相关推荐
通过以上步骤,你就可以成功安装并配置Hadoop和Hive,从而在大数据环境中进行高效的数据存储和分析了。但实际操作过程中可能会遇到各种问题,所以要有耐心和解决复杂问题的能力。不断学习和实践,才能更好地掌握这两...
Hadoop之Hive安装 本篇文章将指导您如何在CentOS 6.4下安装Hive,并解决可能遇到的错误。 环境及软件介绍 本篇文章使用的环境是CentOS 6.4-x86_64-bin-DVD1.iso,软件版本为Hadoop 2.2.0和Hive 0.12.0,以及MySQL...
elasticsearch-hadoop-hive-2.3.4.jar包下载
本压缩包"hadop安装文件.rar"提供了关于Hadoop及其相关组件(如Hive、HBase、Sqoop和MySQL)的安装步骤,这对于初学者和系统管理员来说是一份宝贵的资源。 首先,我们来详细了解一下Hadoop。Hadoop由Apache软件基金...
基于Hadoop Hive健身馆可视化分析平台项目源码+数据库文件.zip启动方式 环境启动 hadoop hive2元数据库 sql导入 导入hivesql脚本,修改application.yml 启动主程序 HadoopApplication 基于Hadoop Hive健身馆可视化...
本主题将深入探讨如何构建一个基于Hadoop的大数据离线分析系统,并着重讲解Hive和Sqoop的安装与配置。Hadoop是分布式计算框架,而Hive是基于Hadoop的数据仓库工具,用于数据 warehousing 和 SQL-like 查询。另一方面...
##### 三、Hive安装与配置 1. **安装MySQL**: - 在Mac上安装MySQL作为Hive的元数据存储库:`brew install mysql`。 2. **配置Hive**: - 配置Hive站点文件(hive-site.xml): ```xml <name>javax.jdo....
Hive安装与配置 - **解压Hive**:使用`hive-0.9.0.tar.gz`安装Hive,并编辑`/root/hive-0.9.0/hive-env.sh`,设置`JAVA_HOME`和`HIVE_HOME`环境变量。 ```bash export JAVA_HOME=/usr/lib/jvm/java-1.6.0-...
Hive错误之 Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask错误分析_xiaohu21的博客-CSDN博客.mht
大数据集群 Hadoop HBase Hive Sqoop 集群环境安装配置及使用文档 在本文档中,我们将详细介绍如何搭建一个大数据集群环境,包括 Hadoop、HBase、Hive 和 Sqoop 的安装配置及使用。该文档将分为四部分:Hadoop 集群...
"基于Hadoop+Hive的数据查询优化设计与实现" 本文旨在介绍基于Hadoop和Hive的数据查询优化设计与实现,旨在解决大数据处理的需求。该文涵盖了Hadoop和Hive的工作原理、系统设计与实现、数据查询优化等方面的知识点...
VM虚拟机上,安装ubantu搭建hadoop+Hive集群,步骤详细。
在Hive 0.11.0版本之前,只有HiveServer服务可用,你得在程序操作Hive之前,必须在Hive安装的服务器上打开HiveServer服务,如下: 1 [wyp@localhost/home/q/hive-0.11.0]$ bin/hive --service hiveserver -p10002 2 ...
【标题】:“hadoop,hive,hbase学习资料”是一份综合性的学习资源,涵盖了大数据处理领域中的三个核心组件——Hadoop、Hive和Hbase。这些工具在大数据处理和分析中发挥着至关重要的作用。 【描述】:描述指出这份...
hadoop&hive安装配置 本文将详细介绍hadoop&hive的安装配置过程,包括对hadoop集群的搭建和hive的配置。下面将逐步介绍每个步骤的详细内容。 hadoop集群搭建 在开始安装hadoop之前,我们首先需要准备三台机器,...
1. 在新机器上安装好Hadoop,并配置好和NameNode的SSH连接。 2. 把新节点的IP或主机名字加入到主节点的slaves文件中。 3. 登录到新节点,执行Hadoop-Daemon.sh start datanode命令,启动Datanode服务。 删除...
毕业设计,采用Hadoop+Hive构建数据仓库,使用django+echarts构建前端web网站对业务指标进行可视化呈现 1. Hadoop+Hive构建数据仓库 2. django+echarts网站开发 3. 数据清洗,数据模型构建 毕业设计,采用Hadoop+...
【Hadoop_Hive安装--自己整理】 在搭建大数据处理平台时,Hadoop和Hive是两个重要的组件。Hadoop是一个开源的分布式计算框架,提供数据存储和计算能力,而Hive则是建立在Hadoop之上的数据仓库工具,允许用户使用SQL...
“系统总体设计”部分可能详细描述了Hadoop集群的搭建步骤,包括硬件选择、软件安装、配置参数调整等。同时,对于Hive数据库的设计,可能会涉及数据模型的定义,如创建表、分区策略、数据类型选择等,以适应电影数据...