Hadoop在Linux环境下的配置

  写在前面:在这之前需要有自己 的Linux环境,了解常用的Linux命令。并且已经配置好了java环境,什么叫配置好呢,就是 echo ${JAVA_HOME}  命令是可以输出jdk路径的,

才叫配置好。如果只是java -version可以查看java版本,就需要source /etc/profile 命令来使其生效,不生效也是不行滴。

一、下载解压

首先下载Hadoop安装包,直接在Windows官网上下载就行,这是镜像网站,可自取:http://mirror.bit.edu.cn/apache/hadoop/common/,

我下载的版本是2.7.7     

下载完之后,直接将下载下来的压缩文件传到Linux上,我用的传输软件是 WinSCP,长这样:,至于怎么用,百度一查就很明了了。

好了,现在就是真正的Linux时间了,cd进到存放Hadoop压缩包的目录下,用解压缩命令(tar -zxvf hadoop-2.7.7-tar.gz)将其进行解压,

二、文件配置

接下来就要开始配置了,cd进到Hadoop路径下的 etc/hadoop 下,

1、首先是java路径配置,vim hadoop-env.sh编辑文件,

  这里的java路径一定要自己配一遍,不要用  ${JAVA_HOME},否则在集群环境下,启动的时候会找不到java的!!!!

  :wq 保存并退出。然后执行  source hadoop-env.sh令其生效(忘了是不是必须的)。

  然后 vim /etc/profile 打开系统配置,配置HADOOP环境变量。,source令其生效.

2、core-site.xml 文件,打开后是空白的,如下添加

<configuration>
  <property>
   <!-- The name of the default file system. A URI whose scheme and authority determine the FileSystem implementation. The uri‘s scheme determines the config property (fs.SCHEME.impl) naming the FileSystem implementation class. The uri‘s authority is used to determine the host, port, etc. for a filesystem.-->
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>  <!--master是Linux主机名-->
  </property>
  <property>
    <!--Size of read/write buffer used in SequenceFiles. byte -->
    <name>io.file.buffer.size</name>
    <value>131072</value>  <!-- 大小 -->
  </property>
    <property>
    <!-- A base for other temporary directories. -->
    <name>hadoop.tmp.dir</name>
    <value>/study/hadoopWork/hadoop</value>  <!-- 路径 -- >
  </property>

</configuration>

3、hdfs-site.xml文件

<configuration>
  <property>
    <!-- HDFS blocksize of 256MB for large file-systems.  default 128MB-->
    <name>dfs.blocksize</name>
    <value>268435456</value>
  </property>
   <property>
    <!-- More NameNode server threads to handle RPCs from large number of DataNodes. default 10-->
    <name>dfs.namenode.handler.count</name>
    <value>100</value>
  </property>
</configuration>

4、mapred-site.xml,这个文件没有,需要将mapred-site.xml.template重命名

<configuration>
    <!-- Configurations for MapReduce Applications -->
    <property>
        <!-- Execution framework set to Hadoop YARN. -->
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

    <property>
        <!-- The amount of memory to request from the scheduler for each map task. -->
        <name>mapreduce.map.memory.mb</name>
        <value>1536</value>
    </property>

    <property>
        <!-- Larger heap-size for child jvms of maps. -->
        <name>mapreduce.map.java.opts</name>
        <value>-Xmx1024M</value>
    </property>

    <property>
        <!-- Larger resource limit for reduces. -->
        <name>mapreduce.reduce.memory.mb</name>
        <value>3072</value>
    </property>

    <property>
        <!-- Larger heap-size for child jvms of reduces. -->
        <name>mapreduce.reduce.java.opts</name>
        <value>-Xmx2560M</value>
    </property>

    <property>
        <!-- The total amount of buffer memory to use while sorting files, in megabytes. By default, gives each merge stream 1MB, which should minimize seeks.-->
        <name>mapreduce.task.io.sort.mb</name>
        <value>512</value>
    </property>

    <property>
        <!-- The number of streams to merge at once while sorting files. This determines the number of open file handles.-->
        <name>mapreduce.task.io.sort.factor</name>
        <value>100</value>
    </property>

    <property>
        <!--The default number of parallel transfers run by reduce during the copy(shuffle) phase.-->
        <name>mapreduce.reduce.shuffle.parallelcopies</name>
        <value>50</value>
    </property>

    <!--Configurations for MapReduce JobHistory Server-->
    <property>
        <!--MapReduce JobHistory Server IPC host:port-->
        <name>mapreduce.jobhistory.address</name>
        <value>master:10020</value>
    </property>

    <property>
        <!--MapReduce JobHistory Server Web UI host:port-->
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>master:19888</value>
    </property>

    <property>
        <!--Directory where history files are written by MapReduce jobs.-->
        <name>mapreduce.jobhistory.intermediate-done-dir</name>
        <value>/study/hadoopWork/hadoop</value>
    </property>

    <property>
        <!--Directory where history files are managed by the MR JobHistory Server.-->
        <name>mapreduce.jobhistory.done-dir</name>
        <value>/study/hadoopWork/hadoop</value>
    </property>
</configuration>

5、yarn-site.xml

<configuration>
    <!-- Configurations for ResourceManager and NodeManager -->
    <property>
        <!-- Enable ACLs? Defaults to false. -->
        <name>yarn.acl.enable</name>
        <value>false</value>
    </property>

    <property>
        <!-- ACL to set admins on the cluster. ACLs are of for comma-separated-usersspacecomma-separated-groups. Defaults to special value of * which means anyone. Special value of just space means no one has access. -->
        <name>yarn.admin.acl</name>
        <value>*</value>
    </property>

    <property>
        <!-- Configuration to enable or disable log aggregation -->
        <name>yarn.log-aggregation-enable</name>
        <value>false</value>
    </property>

    <!-- Configurations for ResourceManager -->

    <property>
        <!-- host Single hostname that can be set in place of setting all yarn.resourcemanager*address resources. Results in default ports for ResourceManager components. -->
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>

    <property>
        <!-- CapacityScheduler (recommended), FairScheduler (also recommended), or FifoScheduler -->
        <name>yarn.resourcemanager.scheduler.class</name>
        <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
    </property>

    <property>
        <!--The minimum allocation for every container request at the RM, in MBs. Memory requests lower than this will throw a InvalidResourceRequestException.-->
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>1024</value>
    </property>

    <property>
        <!--The maximum allocation for every container request at the RM, in MBs. Memory requests higher than this will throw a InvalidResourceRequestException.-->
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>8192</value>
    </property>

    <!--Configurations for NodeManager-->

    <property>
        <!-- Defines total available resources on the NodeManager to be made available to running containers -->
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>8192</value>
    </property>
    <property>
        <!--Ratio between virtual memory to physical memory when setting memory limits for containers. Container allocations are expressed in terms of physical memory, and virtual memory usage is allowed to exceed this allocation by this ratio.-->
        <name>yarn.nodemanager.vmem-pmem-ratio</name>
        <value>2.1</value>
    </property>

    <property>
        <!-- Where to store container logs. An application‘s localized log directory will be found in ${yarn.nodemanager.log-dirs}/application_${appid}. Individual containers‘ log directories will be below this, in directories named container_{$contid}. Each container directory will contain the files stderr, stdin, and syslog generated by that container.-->
        <name>yarn.nodemanager.log-dirs</name>
        <value>/study/hadoopWork/data/hadoop/log</value>
    </property>

    <property>
        <!--HDFS directory where the application logs are moved on application completion. Need to set appropriate permissions. Only applicable if log-aggregation is enabled.  -->
        <name>yarn.nodemanager.remote-app-log-dir</name>
        <value>/study/hadoopWork/data/hadoop/log</value>
    </property>
</configuration>

至此,基本已经配置完毕,配置文件中遇到的路径等,需要自己在相应目录下去新建,也可以配置成自己的路径。

6、初始化hadoop

  hdfs namenode -format。如果报错找不到JAVA路径等,就去看看自己的java环境变量是不是配置正确,hadoop-env.sh文件的java路径是不是正确。

  如果百度查到的解决办法都试过了,还是不行,就把安装好的jdk卸载掉,重新下载安装。一定要卸载干净!!卸载方法可自行百度,当时我足足配置了三四遍才成功配置好。

7、启动集群

  在sbin路径下,执行 start-all.sh,java报错解决办法同6,成功啦!

  执行jps查看执行状态。

也不是一次就能配置成功,配置过程中,我也是百度了大量的前辈的资料,如本文中有相似之处,请谅解。实在是前辈们的博客地址没记住,

        假装这里有参考文献吧

原文地址:https://www.cnblogs.com/xuanyuandai/p/10957272.html

时间: 2024-10-08 19:51:01

Hadoop在Linux环境下的配置的相关文章

深度分析LINUX环境下如何配置multi-path

首先介绍一下什么是多路径(multi-path)?先说说多路径功能产生的背景,在多路径功能出现之前,主机上的硬盘是直接挂接到一个总线(PCI)上,路径是一对一的关系,也就是一条路径指向一个硬盘或是存储设备,这样的一对一关系对于操作系统而言,处理相对简单,但是缺少了可靠性.当出现了光纤通道网络(Fibre Channle)也就是通常所说的SAN网络时,或者由iSCSI组成的IPSAN环境时,由于主机和存储之间通过光纤通道交换机或者多块网卡及IP来连接时,构成了多对多关系的IO通道,也就是说一台主机

【云和恩墨】性能优化:Linux环境下合理配置大内存页(HugePage)

原创 2016-09-12 熊军 熊军(老熊) 云和恩墨西区总经理 Oracle ACED,ACOUG核心会员 PC Server发展到今天,在性能方面有着长足的进步.64位的CPU在数年前都已经进入到寻常的家用PC之中,更别说是更高端的PC Server:在Intel和AMD两大处理器巨头的努力下,x86 CPU在处理能力上不断提升:同时随着制造工艺的发展,在PC Server上能够安装的内存容量也越来越大,现在随处可见数十G内存的PC Server.正是硬件的发展,使得PC Server的处

Linux环境下Apache配置多个虚拟主机挂载多站点同时运行

这样一种场景:我们有一台服务器:但是想挂多个网站:那么Apache下配置虚拟主机可以满足这个需求: 比较简单的是基于主机名的配置步骤如下: 示例环境 ip:115.28.17.191 域名:baijunyao.com thinkbjy.com 目录  /var/www/html/baijunyao /var/www/html/thinkbjy 1:修改hosts文件 [[email protected] /]# ifconfig;              //查看ip并记录自己的ip地址 [[

Linux环境下手动配置sbt

一.下载sbt安装包 从sbt官网下载地址:http://www.scala-sbt.org/download.html下载安装包,以sbt-0.13.13.tgz为例. 二.安装 1.将下载的二进制包移动到/usr/local目录,解压缩文件包 tar zxvf sbt-0.13.13.tgz mv sbt-launcher-packaging-0.13.13 sbt  //重命名目录 2.创建启动sbt的脚本文件 cd /usr/local/sbt/ vi sbt 在打开的sbt文本文件中添

Solr4.9.1在linux环境下的配置安装

运行环境:CentOS6.4       Tomcat7.0    JDK1.7 软件版本: solr-4.9.1   下载链接:http://apache.fayea.com/lucene/solr/ IK-Analyzer-2012FF    下载链接:http://git.oschina.net/wltea/IK-Analyzer-2012FF 安装步骤: CentOS下安装Tomcat,此处不废话. 拷贝 solr-4.9.1/dist路径下 "solr-4.9.1.war"

Linux环境下一些配置记录

Cmake出现The CXX Compiler not found错误 sudo apt-get update && sudo apt-get install build-essential sudo apt-get install libglew-dev sudo apt-get install freeglut3 freeglut3-dev sudo apt-get install libXmu-dev libXi-dev 安装Sublime Text 3 For Sublime-Te

Linux 环境下安装配置 TigerVNC Server 并启用当前会话远程服务(X0VNC)

曾经喜欢用 RealVNC Server 实现 Linux/Windows 的远程控制,因为 RealVNC 为收费商业软件,支持文件传输,性能优化方面也做得不错.但 RealVNC 从 5.0 版本开始协议兼容性方面就加入了很多私有的东西,且客户端只能是 RealVNC 自己的客户端.而开源 VNC 软件如 TigerVNC 等等协议停留在稳定的 VNC 4.4 分支上,不兼容 RealVNC 5.x 以及更高的商业版本,目前大量的开源软件都对 4.4 协议分支提供良好支持,比如 vnc-re

Linux环境下Nginx配置安装PHP

下边的安装配置方法,我试了一晚上没有成功,可能因为我的系统环境比较复杂,所以建议: 先安装PHP.使用yum命令安装,在安装配置MySQL,具体做法看博客中其他文章,至于Nginx服务器可以安装完这两个之后再安装配置,因为我目前不使用Nginx,直接使用Apache服务器,所以就没有在系统上编译安装Nginx,目前使用Wordpress,不需要Nginx,只要PHP和Mysql安装配置好,就可以了: 1.下载PHP依赖库: wget http://soft.beauty-soft.net/lib

Linux环境下网卡配置

DEVICE=eth0 HWADDR=08:00:27:0D:3C:F6 TYPE=Ethernet UUID=73ff4482-1baf-4c9b-b859-720ca92a704a ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.1.233 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 上面是我的电脑上运行的一份配置.其中gateway的地址是我路由器上得地址,如果填其他地址就上不