hadoop2.6.0-cdh5.7伪分布式安装(2018-12-7)

1、安装jdk

  • 解压 : tar -zxvf jdk-8u191-linux-x64.tar.gz -C /home/hadoop/app/
  • 配置环境变量 : vim ~/.bash_profile
    添加:
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_191
export PATH=$JAVA_HOME/bin:$PATH
  • 使环境变量生效 : source ~/.bash_profile
  • 验证java : java -version

2、安装ssh

  • yum 安装: yum install ssh
  • 免密登录ssh : ssh-keygen -t rsa
  • 拷贝文件: cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

3、下载并解压hadoop

  • 下载 : 直接去cdh网站下载
  • 解压 : tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz -C ../app/

4、hadoop 配置文件的修改(hadoop_home/etc/hadoop)

vim hadoop-env.sh
// -----------------------------------------------------------------------(修改)
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_191

// =========================================
vim core-site.xml 
// ------------------------------------------------------------------------
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop:8020</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/app/tmp</value>
    </property>
</configuration>
// =========================================
vim hdfs-site.xml 
// ------------------------  副本节点 由于是伪分布式 节点只有一个,所以指定节点为1  -------------------
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

// ------------------------  配置slaves -------------------
slaves

5、启动hdfs

  • 格式化文件系统(仅第一次执行即可,不要重复执行): hdfs namenode -format
  • 启动hdfs : sbin/start-dfs.sh
  • 验证是否成功:
# jps
7796 SecondaryNameNode
7529 NameNode
7615 DataNode

浏览器访问方式: http://192.168.80.83:50070

6、 停止hdfs

  • sbin/stop-dfs.sh

7、 Java API 操作HDFS文件

public void listFiles() throws Exception {
        Path filePath = new Path("/hdfsapi/test/");
        FileStatus[] fileStaStatus = fileSystem.listStatus(filePath);
        for (FileStatus fileStatus : fileStaStatus) {
            boolean isDir = fileStatus.isDirectory();
            String status = isDir ? "文件夹" : "文件";
            short replication = fileStatus.getReplication();
            Long len = fileStatus.getLen();
            String path = fileStatus.getPath().toString();
            // 打印文件信息
            System.out.println(status + "\t" + replication + "\t" + len + "\t" + path);
        }
    }

文件 3 243793920 hdfs://192.168.80.83:8020/hdfsapi/test/MySQL-5.6.tar
文件 3 12 hdfs://192.168.80.83:8020/hdfsapi/test/b.txt
文件 3 983911 hdfs://192.168.80.83:8020/hdfsapi/test/mysql-connector-java-5.1.38.jar

  • 问题 : 我们已经在hdfs-site.xml 中设置了副本系数为1,为什么此时查询文件看到的是3呢?
    public void listFiles() throws Exception {
        Path filePath = new Path("/");
        FileStatus[] fileStaStatus = fileSystem.listStatus(filePath);
        for (FileStatus fileStatus : fileStaStatus) {
            boolean isDir = fileStatus.isDirectory();
            String status = isDir ? "文件夹" : "文件";
            short replication = fileStatus.getReplication();
            Long len = fileStatus.getLen();
            String path = fileStatus.getPath().toString();

            System.out.println(status + "\t" + replication + "\t" + len + "\t" + path);
        }
    }

文件 1 311585484 hdfs://192.168.80.83:8020/hadoop-2.6.0-cdh5.7.0.tar.gz
文件夹 0 0 hdfs://192.168.80.83:8020/hdfsapi
文件 1 51 hdfs://192.168.80.83:8020/hello.txt

  • 解释 : 如果是通过hdfs shell的方式put上去的,那么才会采用默认的副本系数1,如果用java api上传上去的,在本地我们并没有手工设置副本系数,所以采用的是hadoop默认的3

8、Hadoop1.x 时:

  • MapReduce : Master/Slave 架构,一个JobTracker带多个TaskTracker
  • JobTracker : 负责资源管理和作业调度
  • TaskTracker : 定期向JT汇报本届点的健康状况,资源使用情况,作业执行情况;接受来自JT的命令: 启动/杀死任务
  • YARN(Yet Another Resource Negotiator) : 不同计算机框架可以共享同一个HDFS集群上的数据,享受整体的资源调度
  • XXX on YARN 好处 :与其他计算框架共享集群资源,按资源需要分配,进而提高集群资源的利用率
  • XXX : Spark/MapReduce/Storm/Flink

9、YARN 架构

  • 1、ResourceManager(RM):
    整个集群同一时间提供服务的RM只有一个,负责集群资源的统一管理和调度;
    处理客户端的请求:提交一个作业,杀死一个作业;
    监控我们的NM,一旦某个NM挂了,那么该NM上运行的任务需要告诉我们的AM来如何进行处理

  • 2、NodeManager(NM):
    整个集群中有多个,负责自己本身节点资源管理和使用;
    定时向RM汇报本节点的资源使用情况;
    接收并处理来自RM各种命令:启动/关闭Container
    处理来自AM的命令
    单个节点的资源管理

  • 3、ApplicationMasger(AM)
    每个应用程序对应一个:MR、Spark,负责应用程序的管理
    为应用程序向RM申请资源(core、memory),分配给内部task
    需要与NM通信:启动/停止task,task是运行在container里面,AM也是运行在container里面

  • 4、Container
    封装了CPU、Memory等资源的一个容器
    是一个任务运行环境的抽象

  • 5、Client
    提交作业
    查询作业的进度
    杀死作业

10 、YARN 环境搭建

  • mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
  • yarn-site.xml
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>
  • 启动YARN相关进程:sbin/start-yarn.sh
  • 验证
    jps : ResourceManager NodeManager
    http://localhost:8088/
  • 停止yarm相关的进程:sbin/stop-yarn.sh

11、测试yarn

  • 提交作业到YARN上运行:/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar
  • 使用 (hadoop jar): hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar pi 2 3
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容