`
godlovesdog
  • 浏览: 99450 次
社区版块
存档分类
最新评论

hadoop安装

阅读更多
前期准备

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是一种开源的大数据处理框架,广泛应用于数据存储和处理场景。本文档将详细介绍如何在Ubuntu 14.04环境下安装配置Hadoop 2.6.0版本,包括单机模式...

    linux下载,安装,JDK配置,hadoop安装

    ### Linux下载、安装、JDK配置、Hadoop安装相关知识点 #### 一、Linux环境准备与安装 **1.1 Linux版本选择** - **CentOS 6.5**:适用于本教程,是一款稳定且广受支持的企业级操作系统。 **1.2 下载Linux** - **...

    HADOOP安装部署文档

    《Hadoop安装部署详解》 Hadoop,作为Google文件系统(GFS)的开源实现,是分布式计算领域的重要工具,其强大的数据处理能力和高容错性吸引了众多开发者和企业的关注。本文将详细介绍如何在Linux环境下安装和部署...

    Hadoop课程实验和报告——Hadoop安装实验报告

    Hadoop课程实验和报告——Hadoop安装实验报告 Hadoop是一个开源的大数据处理框架,由Apache基金会开发和维护。它提供了一种可靠、可扩展、可高效的方法来存储和处理大规模数据。在本实验报告中,我们将介绍Hadoop的...

    Hadoop安装学习-入门教程

    Hadoop 安装 学习 入门教程 Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括,YARN, Hcatalog, Oozie, ...

    hadoop 安装部署手册

    Hadoop安装部署手册是针对初学者的全面指南,旨在帮助用户了解和实践Hadoop的安装与运行。Hadoop是一个开源的分布式计算框架,由Apache基金会开发,主要用于处理和存储大规模数据集。以下是详细的步骤和关键知识点:...

Global site tag (gtag.js) - Google Analytics