Hadoop安装

Posted 116970u

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop安装相关的知识,希望对你有一定的参考价值。

1. Hadoop安装包目录结构

  binHadoop最基本的管理脚本和使用脚本的目录,这些脚本是sbin目录下管理脚本的基础实现,用户可以直接使用这些脚本管理和使用Hadoop。

  etcHadoop配置文件所在的目录,包括core-site,xml、hdfs-site.xml、mapred-site.xml等从Hadoop1.0继承而来的配置文件和yarn-site.xml等Hadoop2.0新增的配置文件。

  include:对外提供的编程库头文件(具体动态库和静态库在lib目录中),这些头文件均是用C++定义的,通常用于C++程序访问HDFS或者编写MapReduce程序。

  lib:该目录包含了Hadoop对外提供的编程动态库和静态库,与include目录中的头文件结合使用。

  libexec:各个服务对用的shell配置文件所在的目录,可用于配置日志输出、启动参数(比如JVM参数)等基本信息。

  sbinHadoop管理脚本所在的目录,主要包含HDFS和YARN中各类服务的启动/关闭脚本

  share:Hadoop各个模块编译后的jar包所在的目录。

2. Hadoop安装和配置文件修改

  以下操作在node-1主机中完成  

  将hadoop-3.2.0.tar.gz上传到 /usr/local/hadoop,解压,解压完成后,可以删除原来的压缩包

1 rm -rf hadoop-3.2.0.tar.gz 

  Hadoop安装主要就是配置文件的修改,一般在主节点进行修改,完毕后scp下发给其他各个从节点机器。

2.1. hadoop-env.sh

  文件中设置的是Hadoop运行时需要的环境变量。JAVA_HOME是必须设置的,即使我们当前的系统中设置了JAVA_HOME,它也是不认识的,因为Hadoop即使是在本机上执行,它也是把当前的执行环境当成远程服务器。

  vi hadoop-env.sh

1 export JAVA_HOME=/usr/local/java/jdk1.8.0_201

  技术图片

2.2. core-site.xml

  hadoop的核心配置文件,有默认的配置项core-default.xml。

  core-default.xml与core-site.xml的功能是一样的,如果在core-site.xml里没有配置的属性,则会自动会获取core-default.xml里的相同属性的值。

  创建一个Hadoop临时目录,不使用默认的tmp,路径为:/usr/local/hadoop/data/hddata

  将以下内容写在configuration标签内

<!-- 用于设置Hadoop的文件系统,由URI指定 -->
<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://node-1:9000</value>
</property>
<!-- 配置Hadoop的临时目录,默认/tmp/hadoop-${user.name} -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/hadoop/data/hddata</value>
</property>

  技术图片

2.3. hdfs-site.xml

  HDFS的核心配置文件,有默认的配置项hdfs-default.xml。

  hdfs-default.xml与hdfs-site.xml的功能是一样的,如果在hdfs-site.xml里没有配置的属性,则会自动会获取hdfs-default.xml里的相同属性的值。

<!-- 指定HDFS副本的数量,不指定默认为3 -->
<property>
    <name>dfs.replication</name>
    <value>2</value>
</property>
<!-- secondary namenode 所在主机的ip和端口->
<property>
     <name>dfs.namenode.secondary.http-address</name>
      <value>node-2:50090</value>
</property>

  技术图片

2.4. mapred-site.xml

  MapReduce的核心配置文件,有默认的配置项mapred-default.xml。

  mapred-default.xml与mapred-site.xml的功能是一样的,如果在mapred-site.xml里没有配置的属性,则会自动会获取mapred-default.xml里的相同属性的值。

  说明:有些hadoop版本可能没有mapred-site.xml,需要将模板复制,我安装的是3.2.0版本,里面有mapred-site.xml,不需要再进行复制,直接编译即可。

    技术图片

<!-- 指定mr运行时框架,这里指定在yarn上,默认是local -->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

  技术图片

2.5. yarn-site.xml

  YARN的核心配置文件,有默认的配置项yarn-default.xml。

  yarn-default.xml与yarn-site.xml的功能是一样的,如果在yarn-site.xml里没有配置的属性,则会自动会获取yarn-default.xml里的相同属性的值。

<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>node-1</value>
</property>
<!-- NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序默认值:"" -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

  技术图片

2.6. slaves

  slaves文件里面记录的是集群主机名。一般有以下两种作用:

  技术图片

  技术图片

  说明:创建的时候必须换行,换行表示不同的机器

  一是:配合一键启动脚本如start-dfs.sh、stop-yarn.sh用来进行集群启动。这时候slaves文件里面的主机标记的就是从节点角色所在的机器。

  二是:可以配合hdfs-site.xml里面dfs.hosts属性形成一种白名单机制。

  dfs.hosts指定一个文件,其中包含允许连接到NameNode的主机列表。必须指定文件的完整路径名。如果值为空,则允许所有主机。例如:

<property>
    <name> dfs.hosts </name>
    <value>/root/apps/hadoop/etc/hadoop/slaves </value>
</property>

  那么所有在slaves中的主机才可以加入的集群中。

3. Hadoop环境变量

  编辑环境变量的配置文件:

    vi /etc/profile

export HADOOP_HOME=/usr/local/hadoop/hadoop-3.2.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

  技术图片

  保存配置文件,刷新配置文件:                                                 

    source /etc/profile

 

到此为止,node-1的hadoop就全部配置结束了,接下来要使用scp命令将这些配置复制到node-2、node-3主机中。

  scp -r /usr/local/hadoop/hadoop-3.2.0/ [email protected]:/usr/local/hadoop/

  scp -r /usr/local/hadoop/hadoop-3.2.0/ [email protected]:/usr/local/hadoop/

    -r:表示递归,文件夹所有内容

然后将环境变量也复制过去,当然,你也可以进行修改

  scp -r /etc/profile [email protected]:/etc/

  scp -r /etc/profile [email protected]:/etc/

复制完成后,node-2、node-3主机中要重新加载配置文件

  source /etc/profile

 

内容补充:

关于hadoop的配置文件:
***-default.xml 这里面配置了hadoop默认的配置选项
如果用户没有更改 那么这里面的选项将会生效
****-site.xml 这里面配置了用户需要自定义的配置选项
site中配置选项优先级>Default中的,如果有配置的话 就会覆盖默认的配置选项

以上是关于Hadoop安装的主要内容,如果未能解决你的问题,请参考以下文章

PHP代码-psysh调试代码片段工具

VIM 代码片段插件 ultisnips 使用教程

Apache Hadoop与Gora的组合功能

如何从开源 Hadoop 构建 deb/rpm 存储库或由 ambari 安装的公开可用的 HDP 源代码

hadoop的mapreduce常见算法案例有几种

Android 插件化VirtualApp 源码分析 ( 目前的 API 现状 | 安装应用源码分析 | 安装按钮执行的操作 | 返回到 HomeActivity 执行的操作 )(代码片段