Hadoop安装

hadoop安装

1. 安装jdk

  a.复制jdk-xx.tar.gz 到~Downloads

  b.解压

  c. 移动到/soft ; 创建软连接ln -s /soft/jdk-xxx  jdk

  d.配置环境变量

    [/etc/enviroment]

    JAVA_HOME=/soft/jdk

    PATH=".../soft/jdk/bin"

  e. 刷新环境变量:$> source /etc/enviroment

  f. 验证安装结果

    $> java -version

2. 安装hadoop

  a. 复制解压hadoop-xxx-tar.gz 到/soft/ ;创建软连接ln -s  hadoop-xxx hadoop;

  b. 增加环境变量,source生效

    [/etc/enviroment]

    HADOOP_HOME=/soft/hadoop

  c. 重启系统,执行hadoop -version 确认安装结果

Hadoop 包含三个模块  

  1. Hadoop Common: 支持其他模块的基础模块

  2. HDFS(Hadoop Distributed File System) 分布式文件系统,提供应用层数据的高吞吐量访问

    [进程]          节点名称    功能

    NameNode       //名称节点      存放目录

    DataNode       //数据节点      存放数据

    SecondaryNameNode  //辅助名称节点     备份目录

    启动脚本:start-dfs.sh/stop-dfs.sh

  3. Hadoop YARN:  资源调度框架(作业调度和集群资源管理)

    [进程]  

    ResourceManager    // 资源管理器--RM

    NodeManager      //节点管理器--NM

    start-yarn.sh/stop-yarn.sh

  4. MapReduce : 基于yarn系统的对大数据集进行并行处理的技术

 

Hadoop 三种部署方式

  1. Standalone/local

    本地模式,安装后无需其他配置

    查看文件系统的方式

    hadoop fs -ls

    查看java进程

    jps

  2. Pseudodistributed mode伪分布式: 

    单机运行所有服务(start-all.sh)

    (name node, dataNode, 2namenode,RM 资源管理器,nameNode manager, )

    配置文件:

    [core-site.xml]

    fs.defaultFS=hdfs://localhost:8020

 

    [hdfs-site.xml]

    dfs.replication=1

 

    [mapred-site.xml]

    mapreduce.framwork.name=yarn

    

    [yarn-site.xml]

    yarn.resourcemanager.hostname=localhost

 

  3. Full distributed mode 完全分布式

    不同节点运行不同服务,配置文件需要各个节点一样。

    主机名:s100,s101,s102,s103,s104 为例

    [core-site.xml]

    fs.defaultFS=hdfs://s100:8020    

 

    [hdfs-site.xml]

    dfs.replication=3

    <name>dfs.namenode.secondary.http-address</name>

    <value>s104</value>

 

    [mapred-site.xml]

    mapreduce.framwork.name=yarn

    

    [yarn-site.xml]

    yarn.resourcemanager.hostname=s100

    yarn.nodemanager.aux-services=mapreduce_shuffle

 

    [/soft/hadoop/etc/hadoop/slaves]  #数据节点

    s101

    s103

    s103

 

  

  

默认配置文件模板整理

  [core-default.xml]

    hadoop-common-2.7.2.jar/core-default.xml

  [hdfs-default.xml]

    hadoop-hdfs-2.7.2.jar/hdfs-default.xml

  [yarn-default.xml]

    hadoop-yarn-2.7.2.jar/yarn-default.xml

  [mapred-default.xml]

    hadoop-mapreduce-client-core-2.7.2.jar/mapred-default.xml

脚本分析

1.satart-all.sh

  libexec/hadoop-config.sh   -- 设置启动 变量

  sbin/start-dfs.sh --config $HADOOP_CONF_DIR  启动hdfs

  sbin/start-yarn.sh --config $HADOOP_CONF_DIR  启动yarn

2. libexec/hadoop-config.sh

  各个模块的目录变量

  COMMON_DIR

  HADOOP_CONF_DIR=...

  HEAP_SIZE=1000m

  CLASS_PATH=...

 3. sbin/start-dfs.sh --config $HADOOP_CONF_DIR

  1) libexec/hdfs-config.sh

  2) # 获得名称节点地址(主机名)

    NAMENODES = hdfs getconf -namenodes

  3) 启动名称节点

  $HADOOP_PREFIX/sbin/hadoop-daemons.sh \

  --config "$HADOOP_CONF_DIR" \

  --hostnames "$NAMENODES" \

  --script "$bin/hdfs" start  namenode $nameStartOpt

  4)启动dataNode

  $HADOOP_PREFIX/sbin/hadoop-daemons.sh \

  --config "$HADOOP_CONF_DIR" \

  --script "$bin/hdfs" start  datanode $nameStartOpt

  5)启动2nn

  "$HADOOP_PREFIX/sbin/hadoop-daemons.sh" \

  --config "$HADOOP_CONF_DIR" \

  --hostnames "$SECONDARY_NAMENODES" \

  --script "$bin/hdfs" start  secondarynamenode

4. libexec/hdfs-config.sh

  libexec/hadoop-config.sh

5. sbin/hadoop-daemons.sh 启动守护进程脚本

  1)libexec/hdfs-config.sh启动配置脚本

  2)slaves.sh 启动数据节点

    [bin/hadoop-daemon.sh]

 

常用命令

1. 格式化文件系统

  hadoop namenode -format

2. put 向HDFS上传文件

  hadoop fs -put  <本地文件> <hdfs目录>

  hdfs dfs -put   <本地文件> <hdfs目录>

  两种命令等价

3. 重命名文件 hdfs dfs -mv  <原文件> <目的文件名>

4. 下载

 hdfs dfs -get <fdfs 文件路径> <本地文件系统文件名>

 hdfs dfs CopyToLocal  <fdfs 文件路径> <本地文件系统文件名>

5. 移动到hdfs

 hdfs dfs -moveFromeLocal   <本地文件名>

6. 移动到本地

7. 删除文件

 hdfs dfs -rm -r

 

8. 删除目录(空目录)

 hdfs dfs -rmdir <xxx>

9. 在hdfs 上进行文件复制

 hdfs dfs -cp /user/ubuntu/hello.txt  /user/ubuntu/hello-back.txt

 hadoop 配置信息

  1. namenode 的本地目录配置成多个,则每个目录存放内容相同。【副本】

   [hdfs-site.xml]

   dfs.namenode.name.dir=file:///${hadoop.tmp.dir}/dfs/name1,file:///${hadoop.tmp.dir}/dfs/name2

  2. datanode 也可以配置多个目录,不是副本。

  [hdfs-site.xml]

  dfs.datanode.data.dir=file:///${hadoop.tmp.dir}/dfs/data1,file:///${hadoop.tmp.dir}/dfs/data2

  

 hadoop hdfs 文件块儿大小(128M)

  磁盘寻道时间。10ms

  磁盘IO速度:100MB/s

  

 

 

 

 

 

 

 

 

 

 

 

  

posted on 2020-10-09 15:06  zhangmingda  阅读(167)  评论(0编辑  收藏  举报

导航