前期准备
1.安装包下载
1)jdk
http://download.oracle.com/otn/java/jdk/7u21-b11/jdk-7u21-linux-x64.rpm]
2) hadoop
http://apache.mirrors.tds.net/hadoop/common/stable/
2.待部署集群规划
1)职责划分
确定哪台机器为namenode,哪几台机器为SecondaryNameNode,哪几台机器为datanode
- namenode:负责对HDFS的metadata的持久化存储等功能
- SecondaryNameNode:简单的说,用来保存namenode中对HDFS metadata的信息的备份,并减少namenode重启的时间。并非namenode的热备进程,只是存储namenode中的部分信息。namenode挂了就算SecondaryNameNode没挂,系统仍无法工作
- datanode:数据存储
2)防火墙配置
涉及多个端口,建议初次安装打通各机器间的iptables限制
或配置时规划好各端口做好准备,以免启动后因端口限制导致系统无法运行
3)主机间账号信任关系
出于安全性考虑,最好使用一个没有sudo权限的账号运行hadoop
#useradd hadoop
#passwd hadoop
且必须授权namenode主机上的hadoop账号可以无密码登陆datanode
有关ssh信任关系可以参见
http://linux.chinaunix.net/techdoc/net/2007/08/08/964784.shtml
4)主机名/IP解析
如果采用主机名来配置namenode及datanode,请务必修改/etc/hosts文件中<ip,host>映射关系,以避免本机hostname被解析成127.0.0.1(后面章节会讲到,如果这样的话,namenode无法正常监听,client无法正常连接namenode)
安装
namenode节点上配置环境,然后拷贝安装包到其他datanode即可
1.安装jdk
sudo rpm -ivh jdk-7u21-linux-x64.rpm
2.解压hadoop-xxx.tar.gz到/data/hadoop/目录
mv ~/hadoop-1.1.2.tar.gz /data/hadoop;
cd /data/hadoop;
tar -xzvf hadoop-1.1.2.tar.gz
3.创建tmp目录
mkdir /data/hadoop/hadoop-1.1.2/tmp
4.配置环境变量
vim conf/hadoop-env.sh #增加export JAVA_HOME="/usr/java/jdk1.7.0_21"
5.集群配置
5.1 conf/core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://namenode.godlovesdog.com:9000/</value>
//namenode的hostname
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop/hadoop-1.1.2/tmp</value>
</property>
<property>
<name>dfs.datanode.socket.write.timeout</name>
<value>3000000</value>
</property>
<property>
<name>dfs.socket.timeout</name>
<value>3000000</value>
</property>
</configuration>
- fs.default.name是NameNode的URI。hdfs://主机名:端口/
- hadoop.tmp.dir
Hadoop的默认临时路径,这个最好配置,如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令。
5.2 conf/mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>http://namenode.godlovesdog.com:9001</value>
</property>
<property>
<name>mapred.child.java.opts</name>
<value>-Xmx2048m</value> //可选的配置,后续会讲到这一配置的含义
</property>
</configuration>
5.3 conf/hdfs-site.xml
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/data/hadoop/hadoop-1.1.2/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/data/hadoop/hadoop-1.1.2/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
<property>
<name>dfs.namenode.handler.count</name>
<value>1000</value>
</property>
<property>
<name>dfs.datanode.handler.count</name>
<value>1000</value>
</property>
<property>
<name>dfs.client.block.write.retries</name>
<value>10</value>
</property>
<property>
<name>dfs.datanode.max.xcievers</name>
<value>2560000</value>
</property>
</configuration>
- dfs.name.dir是NameNode持久存储名字空间及事务日志的本地文件系统路径。 当这个值是一个逗号分割的目录列表时,nametable数据将会被复制到所有目录中做冗余备份。
- dfs.data.dir是DataNode存放块数据的本地文件系统路径,逗号分割的列表。 当这个值是逗号分割的目录列表时,数据将被存储在所有目录下,通常分布在不同设备上。
- dfs.replication是数据需要备份的数量,默认是3,如果此数大于集群的机器数会出错。
注意:此处的目录/data/hadoop/hadoop-1.1.2/data,/data/hadoop/hadoop-1.1.2/name不能预先创建,hadoop格式化时会自动创建,如果预先创建反而会有问题。
5.4 配置masters及slavers
配置conf/masters和conf/slaves来设置主从结点,注意最好使用主机名,并且保证机器之间通过主机名可以互相访问,每个主机名一行。
vi masters: #配置SecondaryNameNode
输入:
node1
vi slaves:
输入:
node2
node3
5.5 配置环境变量(/etc/profile)
export JAVA_HOME=/usr/java/jdk1.7.0_21
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$PATH:/usr/local/php-5.3/bin:/usr/local/php-5.3/sbin:$JAVA_HOME/bin:/data/hadoop/hadoop-1.1.2/bin
不要配置环境变量HADOOP_HOME,不然访问hadoop时老是抛Warning: $HADOOP_HOME is deprecated.
配置结束,把配置好的hadoop文件夹拷贝到其他集群的机器中,并且保证上面的配置对于其他机器而言正确,例如:如果其他机器的Java安装路径不一样,要修改conf/hadoop-env.sh
启动
1. 格式化namenode
hadoop namenode -format
2. 启动所有节点
start-all.sh (同时启动hdfs及Map/Reduce)
或
start-dfs.sh(单独启动HDFS集群)
start-mapred.sh (单独启动Map/Reduce)
测试
1.jps检查
:/data/hadoop/hadoop-1.1.2 $ jps
5829 Jps
11608 NameNode
13142 JobTracker
14340 TaskTracker
11815 DataNode
11998 SecondaryNameNode
2.netstat查看端口LISTEN状态
查看9000(默认namenode)及9001(默认jobtracker)的监听状态
3.dfsadmin
hadoop dfsadmin -report
4.存储文件
hadoop fs -put ~/a.txt /
可能遇到的问题(待续)
参考:
http://blog.csdn.net/hguisu/article/details/7237395
分享到:
相关推荐
Hadoop课程实验和报告——Hadoop安装实验报告 Hadoop是一个开源的大数据处理框架,由Apache基金会开发和维护。它提供了一种可靠、可扩展、可高效的方法来存储和处理大规模数据。在本实验报告中,我们将介绍Hadoop的...
### Hadoop安装教程:单机与伪分布式配置详解 #### 一、引言 Hadoop是一种开源的大数据处理框架,广泛应用于数据存储和处理场景。本文档将详细介绍如何在Ubuntu 14.04环境下安装配置Hadoop 2.6.0版本,包括单机模式...
### Linux下载、安装、JDK配置、Hadoop安装相关知识点 #### 一、Linux环境准备与安装 **1.1 Linux版本选择** - **CentOS 6.5**:适用于本教程,是一款稳定且广受支持的企业级操作系统。 **1.2 下载Linux** - **...
《Hadoop安装部署详解》 Hadoop,作为Google文件系统(GFS)的开源实现,是分布式计算领域的重要工具,其强大的数据处理能力和高容错性吸引了众多开发者和企业的关注。本文将详细介绍如何在Linux环境下安装和部署...
Hadoop 安装 学习 入门教程 Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括,YARN, Hcatalog, Oozie, ...
Hadoop安装部署手册是针对初学者的全面指南,旨在帮助用户了解和实践Hadoop的安装与运行。Hadoop是一个开源的分布式计算框架,由Apache基金会开发,主要用于处理和存储大规模数据集。以下是详细的步骤和关键知识点:...
### Hadoop安装与配置详解 #### 一、概述 Hadoop是一个开源软件框架,用于分布式存储和处理大数据集。它能够高效地处理PB级别的数据,适用于海量数据的存储和计算场景。本文将详细介绍如何在多台虚拟机上安装和...
### Hadoop安装过程详解 #### 一、概述 Hadoop是一种能够处理大量数据的大规模分布式存储与计算框架,常用于构建大数据分析平台。本文档基于一位用户的实践经历,详细介绍了如何在虚拟机环境下安装和配置Hadoop的...
### Hadoop 安装详细指南 #### 一、概述 Hadoop是一款开源软件框架,用于分布式存储和处理大型数据集。本文档详细介绍了如何在CentOS 7环境下部署Hadoop 2.7.3的完全分布式环境。此教程适合希望在多台服务器之间...
### Hadoop安装与配置详解 #### 一、前言 Hadoop是一款开源软件框架,用于分布式存储和处理大型数据集。本文将详细介绍如何在CentOS 5.5环境下搭建一个包含1个NameNode节点和2个DataNode节点的Hadoop集群,并通过一...
Hadoop安装-保你一次成功
【Hadoop安装教程_伪分布式配置_CentOS6.4】 Hadoop是一个开源的分布式计算框架,由Apache基金会开发,主要用于处理和存储大规模数据。本教程针对的是在CentOS 6.4操作系统上安装Hadoop 2.6.0的伪分布式配置,这种...
三、Hadoop安装与部署 1. 环境准备:确保具备多台Linux服务器,安装Java环境,配置SSH无密码登录。 2. 下载Hadoop:从Apache官方网站获取最新稳定版本的Hadoop,解压到服务器。 3. 配置环境变量:在`~/.bashrc`或`~/...
Hadoop安装使用教程Hadoop安装使用教程Hadoop安装使用教程Hadoop安装使用教程Hadoop安装使用教程Hadoop安装使用教程Hadoop安装使用教程Hadoop安装使用教程Hadoop安装使用教程Hadoop安装使用教程Hadoop安装使用教程...
hadoop安装和配置,这份PPT讲诉了如何安装和配置Hadoop
《Hadoop系统搭建及项目实践》课件02Hadoop安装与配置管理.pdf《Hadoop系统搭建及项目实践》课件02Hadoop安装与配置管理.pdf《Hadoop系统搭建及项目实践》课件02Hadoop安装与配置管理.pdf《Hadoop系统搭建及项目实践...
Hadoop安装教程_单机/伪分布式配置_Hadoop2.7.1/Ubuntu 16.04 本教程主要讲述了在 Ubuntu 16.04 环境下安装 Hadoop 2.7.1 的步骤,包括单机模式、伪分布式模式和分布式模式三种安装方式。以下是本教程的知识点总结...