`
tangjunliang
  • 浏览: 109099 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hadoop详细安装和配置

阅读更多
hadoop版本:hadoop-2.2.0-cdh5.0.0-beta-1
jdk版本:jdk-7u40-linux-x64

环境准备:
10.95.3.100 master1
10.95.3.101 master2
10.95.3.103 slave1
10.95.3.104 slave2

说明:本安装没有进行hdfs HA配置,NameNode和SecondaryNameNode都在master1上,其他三个节点作为DN节点。

安装步骤(JDK的安装省略):

1、添加hadoop用户
   root身份登录master1
   添加用户:useradd –d /home/hadoop -m hadoop
   给hadoop用户设置密码:passwd hadoop

2、配置hosts
   以root用户登录各台机器,vi /etc/hosts文件,修改如下:
#127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.95.3.100              master1
10.95.3.101              master2
10.95.3.103              slave1
10.95.3.104              slave2


3、配置master1到各台机器的免密码登录
   以hadoop用户登录master1,进入/home/hadoop目录下,执行:
   ssh-keygen -t rsa
   注意一定不要输入密码,这样,在/home/hadoop/.ssh目录下将会生成id_rsa,  id_rsa.pub两个文件
   然后再分别执行:
   ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@master1
   ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@master2
   ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@slave1
   ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@slave2
这样,就把master1的公钥加入到了master的authorized_keys文件中。可以测试下从master1 ssh到其他各台机器是否不需要输入密码。
   注意:文件夹的权限
   sudo chmod 755 .ssh/
   sudo chmod 644 .ssh/authorized_keys

4、解压hadoop-2.2.0-cdh5.0.0-beta-1.tar.gz,设置hadoop的安装目录为/dp/hadoop
   设置环境变量:vi ~/.bashrc
export HADOOP_HOME=/dp/hadoop
export HADOOP_PID_DIR=/dp/hadoop_pid_dir
export HADOOP_MAPRED_HOME=${HADOOP_HOME}
export HADOOP_COMMON_HOME=${HADOOP_HOME}
export HADOOP_HDFS_HOME=${HADOOP_HOME}
export YARN_HOME=${HADOOP_HOME}
export HADOOP_YARN_HOME=${HADOOP_HOME}
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HDFS_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export YARN_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=/dp/hadoop
export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$ANT_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$ZOOKEEPER_HOME/bin:$FLUME_HOME/bin:$SQOOP_HOME/bin:$OOZIE_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin:.


5、进入/dp/hadoop/etc/hadoop目录,修改配置文件
core-site.xml
<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://master1</value>
        </property>

        <property>
                <name>fs.trash.interval</name>
                <value>10080</value>
        </property>
        <property>
                <name>fs.trash.checkpoint.interval</name>
                <value>10080</value>
        </property>
        <property>
                <name>topology.script.file.name</name>
                <value>/dp/hadoop/etc/hadoop/rack.py</value>
                </property>
        <property>
                <name>topology.script.number.args</name>
                <value>6</value>
        </property>
        <property>
               <name>hadoop.security.group.mapping</name>
               <value>org.apache.hadoop.security.JniBasedUnixGroupsMappingWithFallback</value>
        </property>
<!--
        <property> 
                <name>hadoop.native.lib</name> 
                <value>false</value> 
                <description>Should native hadoop libraries, if present, be used.</description> 
        </property>
-->
<!--
        <property>
                <name>ha.zookeeper.quorum</name>
                <value>master:2181,slave2:2181,slave6:2181</value>
        </property>      
        
        <property>
                <name>hadoop.proxyuser.hadoop.hosts</name>
                <value>*</value>
        </property>
        <property>
                <name>hadoop.proxyuser.hadoop.groups</name>
                <value>*</value>
        </property>
-->
</configuration>


hdfs-site.xml
<configuration>
        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>
        <property>
                <name>dfs.blocksize</name>
                <value>16m</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/dp/data/hadoop</value>
        </property>

        <property>
                <name>dfs.namenode.http-address</name>
                <value>master1:50070</value>
        </property>

        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>master1:50090</value>
        </property>
        <property>
                <name>dfs.webhdfs.enabled</name>
                <value>true</value>
        </property>
        <property>
                <name>dfs.datanode.max.xcievers</name>
                <value>1000000</value>
        </property>
        <property>
                <name>dfs.balance.bandwidthPerSec</name>
                <value>104857600</value>
                <description>
                        Specifies the maximum amount of bandwidth that each datanode
                        can utilize for the balancing purpose in term of
                        the number of bytes per second.
                </description>
        </property>
        <property>
                <name>dfs.hosts.exclude</name>
                <value>/dp/hadoop/etc/hadoop/excludes</value>
                <description>Names a file that contains a list of hosts that are
                        not permitted to connect to the namenode.  The full pathname of the
                        file must be specified.  If the value is empty, no hosts are
                        excluded.</description>
         </property>

上述的配置要手工创建excludes文件。

map-site.xml
<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>master1:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>master1:19888</value>
        </property>

<!--        <property>
                <name>mapreduce.history.server.delegationtoken.renewer</name>
                <value>true</value>
        </property>
-->
        <property>
                <name>mapreduce.output.fileoutputformat.compress</name>
                <value>true</value>
        </property>
        <property>
                <name>mapreduce.output.fileoutputformat.compress.type</name>
                <value>BLOCK</value>
        </property>
        <property>
                <name>mapreduce.output.fileoutputformat.compress.codec</name>
                <value>org.apache.hadoop.io.compress.SnappyCodec</value>
        </property>
        <property>
                <name>mapreduce.map.output.compress</name>
                <value>true</value>
        </property>
        <property>
        <property>
                <name>mapreduce.map.output.compress.codec</name>
                <value>org.apache.hadoop.io.compress.SnappyCodec</value>
        </property>


yarn-site.xml
<configuration>
        <property>
                <name>yarn.resourcemanager.resource-tracker.address</name>
                <value>master1:8031</value>
        </property>
        <property>
                <name>yarn.resourcemanager.address</name>
                <value>master1:8032</value>
        </property>
        <property>
                <name>yarn.resourcemanager.scheduler.address</name>
                <value>master1:8030</value>
        </property>

        <property>
                <name>yarn.resourcemanager.admin.address</name>
                <value>master1:8033</value>
        </property>

        <property>
                <name>yarn.resourcemanager.webapp.address</name>
                <value>master1:8088</value>
        </property>
        <property>
                <name>yarn.nm.liveness-monitor.expiry-interval-ms</name>
                <value>10000</value>
        </property>
        <property>
                <description>Classpath for typical applications.</description>
                <name>yarn.application.classpath</name>
                <value>$HADOOP_CONF_DIR,$HADOOP_COMMON_HOME/share/hadoop/common/*,
                        $HADOOP_COMMON_HOME/share/hadoop/common/lib/*,
                        $HADOOP_HDFS_HOME/share/hadoop/hdfs/*,$HADOOP_HDFS_HOME/share/hadoop/hdfs/lib/*,
                        $YARN_HOME/share/hadoop/yarn/*,$YARN_HOME/share/hadoop/yarn/lib/*,
                        $YARN_HOME/share/hadoop/mapreduce/*,$YARN_HOME/share/hadoop/mapreduce/lib/*</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
                <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
        <property>
                <name>yarn.nodemanager.local-dirs</name>
                <value>/dp/data/yarn/local</value>
        </property>
        <property>
                <name>yarn.nodemanager.log-dirs</name>
                <value>/dp/data/yarn/logs</value>
        </property>
        <property>
                <description>Where to aggregate logs</description>
                <name>yarn.nodemanager.remote-app-log-dir</name>
                <value>/dp/data/yarn/logs</value>
        </property>
        <property>
                <name>yarn.app.mapreduce.am.staging-dir</name>
                <value>/user</value>
        </property>
        <property>
                <description>Amount of physical memory, in MB, that can be allocated
                  for containers.</description>
                <name>yarn.nodemanager.resource.memory-mb</name>
                <value>2048</value>
        </property>


6、配置机架感知,在/dp/hadoop/etc/hadoop下添加rack.data rack.py文件
rack.data
default /rack/default

10.95.3.101 master2 /rack/rack1
10.95.3.103 slave1  /rack/rack1
10.95.3.104 slave2  /rack/rack1


rack.py

#!/bin/env python

import sys,os,time

pwd = os.path.realpath( __file__ )
rack_file = os.path.dirname(pwd) + "/rack.data"

rack_list = [ l.strip().split() for l in open(rack_file).readlines() if len(l.strip().split()) > 1 ]
rack_map = {}
for item in rack_list:
        for host in item[:-1]:
                rack_map[host] = item[-1]
rack_map['default'] = 'default' in rack_map and rack_map['default'] or '/default/rack'
rack_result = [av in rack_map and rack_map[av] or rack_map['default'] for av in sys.argv[1:]]
#print rack_map, rack_result
print ' '.join( rack_result )

f = open('/tmp/rack.log','a+')
f.writelines( "[%s] %sn" % (time.strftime("%F %T"),str(sys.argv)))
f.close()


7、修改slaves文件:
master2
slave1
slave


8、将master1上配置好的hadoop拷贝到其他节点上去

9、执行start-dfs.sh启动hadoop,注意如果防火墙没关闭,有可能造成DN连接不上NN

10、执行hadoop dfsadmin -report命令,查看hadoop是否正常启动
  
分享到:
评论

相关推荐

    Hadoop集群安装与配置详细步骤

    通过安装 Linux 系统的虚拟机、配置虚拟机网络、安装 Hadoop、配置 HDFS、配置 YUM 源和安装必要软件,可以实现高效的数据处理和存储。本节提供了详细的安装和配置步骤,帮助读者快速安装和配置 Hadoop 集群。 知识...

    hadoop1.1.2安装和配置

    hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2...

    完全分布式Hadoop2.3安装与配置

    完全分布式 Hadoop 2.3 安装与配置 Hadoop 介绍 Hadoop 是一个开源的分布式计算框架,它具有高可靠性、高扩展性、高效性、...注意:Hadoop 的安装和配置需要满足一定的条件,并且需要按照正确的顺序进行安装和配置。

    Hadoop的安装部署与配置实验 共11页.pdf

    然后,需要配置 Hadoop 的环境变量,包括配置 JDK 的目录和 Hadoop 的安装目录。这里需要编辑 /etc/profile 文件,添加以下内容: export JAVA_HOME=/usr/local/jdk1.7.0_67 export PATH=$PATH:$JAVA_HOME/bin ...

    Hadoop安装和配置

    本文将详细介绍如何在多台虚拟机上安装和配置Hadoop集群。 #### 二、环境准备 本示例中使用了三台虚拟机作为Hadoop集群的基础环境,它们的IP地址和角色分配如下: - **Master节点**:192.168.1.80 - **Slave1节点...

    ubuntu上hadoop的安装及配置

    在本文中,我们将详细探讨如何在Ubuntu 10.10 (Maverick Meerkat)上通过VMware虚拟机安装并配置Hadoop集群。这个过程涵盖了从搭建虚拟环境到安装必要的软件,以及最终配置Hadoop分布式文件系统(HDFS)和MapReduce服务...

    Hadoop集群安装详细步骤

    Hadoop集群安装详细步骤 Hadoop是一个分布式计算框架,主要提供了分布式文件存储(DFS)和Map/Reduce核心功能。在这里,我们将详细介绍Hadoop集群的安装步骤,包括准备工作、安装Hadoop软件、配置集群环境等内容。 ...

    Hadoop安装与配置

    ### Hadoop安装与配置知识点详解 #### 一、Hadoop简介及核心组件 **Hadoop** 是Apache软件基金会旗下的一款开源分布式计算平台,其主要功能是处理和存储大规模数据集。Hadoop的核心组件包括 **Hadoop分布式文件...

    hadoop安装与配置 Hadoop的安装与配置可以分成几个主要步骤: 1. 安装Java 2. 下载Hadoop 3. 配

    hadoop安装与配置 hadoop安装与配置 Hadoop的安装与配置可以分成几个主要步骤: 1. 安装Java 2. 下载Hadoop 3. 配置Hadoop 4. 格式化Hadoop文件系统 5. 启动Hadoop 以下是基于Linux系统的简化安装与配置步骤: 1. ...

    Hadoop的安装、配置过程和集群运行截图。

    全程跟着安装配置的一般不会出现问题,jdk版本尽量选择和Hadoop版本相容的,Hadoop版本可以选择较低版本,2.7版本较为稳定,Linux系统版本没有多大要求,一般将Hadoop和jdk版本选择好就行,这个作业较为简单,在安装...

    Hadoop详细安装配置过程.docx

    本文详细介绍了Hadoop的安装配置过程,包括基础环境搭建、软件安装、SSH免密码登录配置、Hadoop解压和环境变量更新等方面。 一、基础环境搭建 Hadoop的安装需要具备一定的基础环境,包括Java、vsftpd等软件的安装...

    hadoop3.0.0安装和配置

    - 进入Hadoop配置目录`$HADOOP_HOME/etc/hadoop`。 - 编辑以下核心配置文件: - `hadoop-env.sh`:设置Java路径和其他环境变量。 - `core-site.xml`:配置Hadoop的基本属性,如默认FS(文件系统)。 - `hdfs-...

    hadoop安装和配置

    hadoop安装和配置,这份PPT讲诉了如何安装和配置Hadoop

    实验2 Hadoop安装与配置 (2).docx

    Hadoop 安装与配置实验报告 ...该实验报告对 Hadoop 的安装和配置进行了详细的实验和实践,掌握了 Hadoop 的基本使用和配置方法。学生通过该实验可以了解 Hadoop 的基本使用和配置过程,掌握 Hadoop 的安装和配置方法。

    hadoop2.7.3安装配置

    hadoop2.7.3安装配置 前提条件:1. 拥有Linux环境 2. 有良好的网络

    Hadoop与Spark安装配置手册

    以上内容详细介绍了在Linux环境下Hadoop和Spark的安装与配置方法,涉及了JDK、用户权限、SSH无密码登录以及Hadoop和Spark自身的安装配置等重要知识点。这些步骤为在Linux环境中搭建和配置大数据处理环境提供了清晰的...

    实验2 Hadoop安装与配置.docx

    本报告将详细介绍 Hadoop 的安装和配置步骤,并对实验过程中的关键技术点进行讲解。 一、Hadoop 概述 Hadoop 是一种基于 Java 的开源分布式计算框架,由 Doug Cutting 和 Mike Cafarella 于 2005 年开发。Hadoop ...

Global site tag (gtag.js) - Google Analytics