Cloud Computing for Big Data – Monitoring & Resource Management

Slides:



Advertisements
Similar presentations
MMN Lab 未來教室與雲端化學習 Yueh-Min Huang Department of Engineering Science, National Cheng Kung University, Tainan, Taiwan
Advertisements

第一组 Java 与云计算. Contents 云计算简介 一 二 云计算实例 三 云计算在教育中的应用 四.
Web Role 的每台虚机运行有 IIS ,用于处理 Web 请求 Worker Role 用于运行后台进程 Cloud Service 是什么? 支持多层架构的应用容器 由多个 Windows 虚拟机集群构成 集群有两种类型: Web 和 Worker Cloud Service 做什么 进行应用的自动化部署.
13-1 人工智慧 13-2 雲端運算 13-3 感測網路與物聯網 13-4 生物資訊 13-5 計算機萬能嗎?
云计算辅助教学风云录 黎加厚 上海师范大学教育技术系 2010年8月9日.
云计算及安全 ——Cloud Computing & Cloud Security
中华字库的云输入法 王勇 基础软件国家工程研究中心
职业教育网络学习空间建设的实践与思考 江苏省南京工程高等职业学校.
第120讲:Hadoop的MapReduce和Yarn的配置实战详解
Big Data Ecosystem – Hadoop Distribution
云计算应用对比分析 李洁睿 周良俊 2017/3/8.
教育雲端科技的現況與未來發展 臺北市政府教育局聘任督學 韓長澤.
上海地面通云主机产品 产品介绍 通信成就梦想 未来你我把握
云计算学习报告 报告人: 陈 霁 大规模数据处理软件Apache Hadoop.
Network Storage and System Virtualization Technology
台灣雲端運算應用實驗中心研發計畫 計 畫 期 間:自98年7月1日至99年6月30日止 執行單位名稱 :財團法人資訊工業策進會 國立中山大學.
操作系统结构.
HADOOP的高能物理分析平台 孙功星 高能物理研究所/计算中心
为教师开展大数据课程教学提供全方位、一站式服务
悠遊卡與行動支付 悠遊卡公司 通路事業部 經理 黃士展 2016/05/23.
Azure Event Hub Survey 周琦.
Made by Feng Nie 开源机器学习库&Hadoop介绍 Made by Feng Nie
云实践引导产业升级 沈寓实 博士 教授 MBA 中国云体系产业创新战略联盟秘书长 微软云计算中国区总监 WinHEC 2015
當企鵝龍遇上小飛象 DRBL-Hadoop Jazz Wang Yao-Tsung Wang
YARN & MapReduce 2.0 Boyu Diao
Dave 云的未来: PaaS软件 Dave
雲端運算虛擬主機技術的發展.
3G时代的云计算 中国云计算专家委员会 刘鹏 中国网格: 中国云计算:
分布式系统中的关键概念及Hadoop的起源、架构、搭建
第2章 大数据处理架构Hadoop (PPT版本号:2017年2月版本)
快速学习环境搭建 安装前预备工作(Linux相关配置) 实操演示(hadoop、hbase为例) 总结&练习题(课后练练手)
雲端計算 參考書籍:Python+Spark 2.0+Hadoop 機器學習與大數據分析實戰
異質計算教學課程內容 「異質計算」種子教師研習營 洪士灝 國立台灣大學資訊工程學系
Spark零基础入门——Spark入门基础
高效能運算服務 (High Performance Computing) 建置之經驗分享
李亚康,齐法制,洪剑书,计算中心同事 中国科学院高能物理研究所 中国散裂中子源 2017/6/5,成都
王耀聰 陳威宇 國家高速網路與計算中心(NCHC)
作業系統 補充: 雲端運算.
和諧社區資訊服務推廣計畫 -軟體雲端社區 資訊研習營
Unit 06 雲端分散式Hadoop實驗 -II
CHAPTER 6 認識MapReduce.
Spark在智慧图书馆建设中的应用探索 2017年12月22日.
开源云计算系统简介 电子工业出版社 刘鹏主编《云计算》教材配套课件11.
Cloud Computing(雲端運算) 技術的現況與應用
斯巴達帶大家上雲端.
崑山科技大學 曾 龍 資訊工程系系主任 數位生活研究所所長 雲端運算與資通安全研發中心主任
本节我们结合AD5724驱动时序给大家介绍一下状态机在实际工程中的使用。
Android 课程讲义 智能手机开发
Why Cloud Computing Will Not Be Free Dave Durkee  Communications of the ACM, Vol. 53 No. 5, Pages 刁伯駒 涂崇智 指導教授:林娟娟 博士.
國立屏東高級工業職業學校 雲端網路及 雲端開系統介紹
《大数据技术原理与应用》 第十二讲 图计算 (2016春季学期)
CHAPTER 9 供應鏈管理系統.
邹佳恒 第十八届全国科学计算与信息化会议 • 威海,
软件工程基础 云计算概论 刘 驰.
TinyOS开发环境安装 基于Ubuntu14.04.
Linux核心編譯與模組管理 2013/01/19.
李亚康,齐法制,洪剑书,计算中心同事 中国科学院高能物理研究所 中国散裂中子源 2017/7/5,威海
微软云计算 --Windows Azure platform
資料庫 靜宜大學資管系 楊子青.
Real-Time System Software Group Lab 408 Wireless Networking and Embedded Systems Laboratory Virtualization, Parallelization, Service 實驗室主要是以系統軟體設計為主,
Unit 05 雲端分散式Hadoop實驗 -I M. S. Jian
中国科学技术大学计算机系 陈香兰 2013Fall 第七讲 存储器管理 中国科学技术大学计算机系 陈香兰 2013Fall.
虚 拟 仪 器 virtual instrument
Apache Flink 刘 驰.
班級:四企四B 指導老師:李文瑞老師 組員: 莊煜麒4950L089 黃暉原4950L109
百万亿次超级计算机诞生记 姓名 Xiangyu Ye 职务 微软中国技术中心资深HPC顾问 公司 微软中国
Introduction to Service Science 课程概述
第 18 章 雲端計算.
11 Overview Cloud Computing 2012 NTHU. CS Che-Rung Lee
OrientX暑期工作总结及计划 XML Group
Presentation transcript:

Cloud Computing for Big Data – Monitoring & Resource Management

Cloud Monitoring Requirements Cloud ≈ virtualization + elasticity Types of clouds: IaaS: virtual VMs and network devices, elasticity in number/size of devices PaaS: virtual, elastically sized platform SaaS: software provided by employing virtual, elastic resources Cloud is a collection of virtual resources provided in physical infrastructure Cloud provides resources elastically

Cloud Monitoring Requirements Why should someone use clouds? Cloud consumer can outsource IT infrastructure No fixed costs for cloud consumer Pay for resource utilization Cloud provider responsible for building and maintaining physical infrastructure Cloud provider can rent out unused IT infrastructure Eliminate waste Get money back for overcapacity

Mesos簡介 由美國加州大學柏克萊分校開發 將Data Center中伺服器CPU、Memory、Storage…etc,全部加以虛擬化,並進行管理 可依使用者需求動態資源分配 以Framework來支援各種應用 Marathon  Docker Container Myriad  Big Data Analysis Platform Spark  Run Spark

Mesos簡介 Mesos kernel: Mesos-master Mesos-slave Framework Executor 管理Mesos-task 資源回報 Framework 計算框架 e.g. Spark Executor 啟動框架內部task MesosExecutorDiver

Mesos Goals High utilization of resources Support diverse frameworks (current & future) Scalability to 10,000’s of nodes Reliability in face of failures Resulting design: Small microkernel-like core that pushes scheduling logic to frameworks

Element 1: Fine-Grained Sharing Coarse-Grained Sharing (HPC): Fine-Grained Sharing (Mesos): Fw. 3 Fw. 2 Fw. 3 Fw. 1 Framework 1 Fw. 1 Fw. 2 Fw. 2 Storage System (e.g. HDFS) Storage System (e.g. HDFS) Fw. 2 Fw. 1 Fw. 1 Fw. 3 Framework 2 Fw. 3 Fw. 3 Fw. 2 Fw. 2 Fw. 3 Fw. 2 Framework 3 Fw. 1 Fw. 2 Fw. 1 Fw. 3 + Improved utilization, responsiveness, data locality

Element 2: Resource Offers Option: Global scheduler Frameworks express needs in a specification language, global scheduler matches them to resources + Can make optimal decisions – Complex: language must support all framework needs – Difficult to scale and to make robust – Future frameworks may have unanticipated needs

Element 2: Resource Offers Mesos: Resource offers Offer available resources to frameworks, let them pick which resources to use and which tasks to launch Keeps Mesos simple, lets it support future frameworks Decentralized decisions might not be optimal

Pick framework to offer resources to Mesos Architecture MPI job Hadoop job MPI scheduler Hadoop scheduler Pick framework to offer resources to Mesos master Allocation module Resource offer Mesos slave Mesos slave MPI executor MPI executor task task

Pick framework to offer resources to Mesos Architecture MPI job Hadoop job MPI scheduler Hadoop scheduler Resource offer = list of (node, availableResources) E.g. { (node1, <2 CPUs, 4 GB>), (node2, <3 CPUs, 2 GB>) } Pick framework to offer resources to Mesos master Allocation module Resource offer Mesos slave Mesos slave MPI executor MPI executor task task

Mesos Architecture MPI job Hadoop job MPI scheduler Hadoop scheduler Framework-specific scheduling task Pick framework to offer resources to Mesos master Allocation module Resource offer Mesos slave Mesos slave Launches and isolates executors MPI executor MPI executor Hadoop executor task task

Users Twitter uses Mesos on > 100 nodes to run ~12 production services (mostly stream processing) Berkeley machine learning researchers are running several algorithms at scale on Spark Conviva is using Spark for data analytics UCSF medical researchers are using Mesos to run Hadoop and eventually non-Hadoop apps

安裝Mesos(1/5) 在Master與Slave,設定安裝來源,並且安裝Mesos sudo apt-key adv --keyserver keyserver.ubuntu.com --recv E56151BF DISTRO=$(lsb_release -is | tr '[:upper:]' '[:lower:]') CODENAME=$(lsb_release -cs) echo "deb http://repos.mesosphere.com/${DISTRO} ${CODENAME} main" | sudo tee /etc/apt/sources.list.d/mesosphere.list sudo apt-get update sudo apt-get -y install mesos

安裝Mesos(2/5) 在Master,設定Zookeeper ID為1,之後再設定zookeeper #1 IP位置,並重啟zookeeper sudo vi /etc/zookeeper/conf/myid sudo vi /etc/zookeeper/conf/zoo.cfg sudo service zookeeper restart

安裝Mesos(3/5) 在Master與Slave,設定zk為Master的ZooKeeper IP sudo vi /etc/mesos/zk

安裝Mesos(4/5) 在Master與Slave,分別啟動不同服務 Master Slave sudo service mesos-master restart sudo service mesos-slave restart Slave sudo service zookeeper stop sudo sh -c "echo manual > /etc/init/zookeeper.override" sudo service mesos-master stop sudo sh -c "echo manual > /etc/init/mesos-master.override"

安裝Mesos(5/5) 打開瀏覽器可看到我們啟動的兩個資源 http://192.168.56.101:5050/#/

Mesos API Scheduler Callbacks resourceOffer(offerId, offers) offerRescinded(offerId) statusUpdate(taskId, status) slaveLost(slaveId) Scheduler Actions replyToOffer(offerId, tasks) setNeedsOffers(bool) setFilters(filters) getGuaranteedShare() killTask(taskId) Executor Callbacks launchTask(taskDescriptor) killTask(taskId) Executor Actions sendStatus(taskId, status)

Big Data Analysis Platform Processing Engine YARN Framework安裝

Myriad 簡介(1/3) 讓Data Center中的Mesos與YARN結合 動態擴增YARN的Cluser 效能優於VM所組成的Virtual Cluster

Myriad 簡介(2/3)

Myriad 簡介(3/3) 可以依需求增加運算引擎 批次  Mapreduce 影像  Storm In-memory  Spark

YARN Framework安裝(1/12) 硬體建議 在Master,安裝Myriad的建置套件Gradle CPU: 4 Core Memory: 8 GB 在Master,安裝Myriad的建置套件Gradle sudo add-apt-repository ppa:cwchien/gradle sudo apt-get update sudo apt-get install -y gradle

YARN Framework安裝(2/12) 在Master,從GitHub Clone Myriad的Source Code git clone https://github.com/apache/incubator-myriad.git

YARN Framework安裝(3/12) 在Master,切換至Myriad Source Code目錄,設定Java Home後進行建置 cd incubator-myriad echo "export JAVA_HOME=/opt/java-8-openjdk-amd64" >> ~/.bashrc source ~/.bashrc ./gradlew build

YARN Framework安裝(4/12) 在Master,建置完成後,修改myriad-config-default.yml中的 mesosMaster, frameworkUser, zkServers vi myriad-scheduler/src/main/resources/myriad-config-default.yml

YARN Framework安裝(5/12) 在Master,設定myriad-config-default.yml,新增一個profile “micro” 1 core CPU, 1 GB memory vi myriad-scheduler/src/main/resources/myriad-config-default.yml

YARN Framework安裝(6/12) 在Master,修改myriad-config-default.yml中的 executor path, YARN_HOME, JAVA_HOME ,並將預設啟動的 vi myriad-scheduler/src/main/resources/myriad-config-default.yml

YARN Framework安裝(6/12) 在Master,修改myriad-config-default.yml完後,建置Scheduler與Executor ./gradlew :myriad-scheduler:build ./gradlew :myriad-executor:build

YARN Framework安裝(7/12) 在Master,複製所有建置好的libs到Hadoop YARN的lib資料夾 cp myriad-scheduler/build/libs/*.jar /opt/hadoop-2.7.1/share/hadoop/yarn/lib/ cp myriad-executor/build/libs/myriad-executor-0.1.0.jar /opt/hadoop-2.7.1/share/hadoop/yarn/lib/ cp myriad-scheduler/build/resources/main/myriad-config-default.yml /opt/hadoop-2.7.1/etc/hadoop/

YARN Framework安裝(8/12) 在Master,設定hadoop-env.sh,增加 mesos 的 lib 路徑 vi /opt/hadoop-2.7.1/etc/hadoop/hadoop-env.sh

YARN Framework安裝(9/12) 在Master,設定yarn-site.xml,新增下圖紅框參數 vi /opt/hadoop-2.7.1/etc/hadoop/yarn-site.xml

YARN Framework安裝(10/12) 在Master,設定mapred-site.xml,新增下圖紅框參數 vi /opt/hadoop-2.7.1/etc/hadoop/mapred-site.xml

YARN Framework安裝(11/12) 在Master,將設定完成的完整Hadoop資料夾複製到Slave,並啟動YARN Framework scp -r /opt/hadoop-2.7.1 Slave:/opt /opt/hadoop-2.7.1/sbin/yarn-daemon.sh start resourcemanager

YARN Framework安裝(12/12) 安裝完畢可調整動態開啟(Flex Up)或關閉(Flex Down) YARN的運算節點 http://192.168.56.101:8192/#/flex http://192.168.56.101:8088/cluster/nodes

Simple wordcount, sort, randomtextwriter… Benchmarking

randomtextwriter 隨機產生1GB的文字檔案 /opt/hadoop-2.7.1/bin/hadoop jar /opt/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar randomtextwriter -D mapreduce.randomtextwriter.bytespermap=1073741824 /1GB

wordcount 使用產生1GB檔案進行 /opt/hadoop-2.7.1/bin/hadoop jar /opt/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /1GB /wordcount

sort 使用產生1GB檔案進行排序 /opt/hadoop-2.7.1/bin/hadoop jar /opt/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar sort -outKey org.apache.hadoop.io.Text -outValue org.apache.hadoop.io.Text /1GB /sort