2015年10月4日 星期日

儲存SaveStorage


2015年8月24日 星期一

C#.net 日期相減, 算出天數

DateTime STime = DateTime.Parse("2005-11-08"); //起始日
DateTime ETime = DateTime.Parse("2005-12-28"); //結束日
TimeSpan Total = ETime.Subtract(STime); //日期相減
Response.Write(Total.Days.ToString()); //共幾天
Response.Write(Total.Hours.ToString()); //共幾小時
Response.Write(Total.Minutes.ToString()); //共幾分
Response.Write(Total.TotalDays.ToString()); //總共多少天
Response.Write(Total.TotalHours.ToString()); //總共多少小時
Response.Write(Total.TotalSeconds.ToString()); //總共多少分

2015年7月25日 星期六

Visual Studio 常用快速鍵整理




移至定義 

 F12


在方法定義和調用之點切换

Ctrl + Shift + 7(8)


設定書籤

Ctrl + K + K


移至上一個、下一個書籤

Ctrl + K + P ; Ctrl + K + N


取消所有書籤

Ctrl + K + L


查找

Ctrl + F, Ctrl + Shift + F


顯示物件的成員清單

Ctrl + J


顯示參數資訊

Ctrl + Shift + 空格


格式化整份文件

Ctrl + K , D


格式化選取範圍

Ctrl + K , F


檢查括號匹配(在左右括號間切换)

Ctrl + ]


設定中斷點

F9


查找所有引用

Shift + F12


註解選取行

Ctrl + K, Ctrl + C


取消註解選取行

Ctrl + K, Ctrl + U


摺疊至定義

Ctrl + M, O


取消大綱

Ctrl + M, P


切換大綱展開

Ctrl + M, M


選取自己圈中的長方塊

Alt + Shift + 鼠標


上面插入一個空行

Ctrl + Enter


下面插入一個空行

Ctrl + Shift + Enter


選取目前文字

Ctrl + W


跳至指定行

Ctrl + G


剪切當前行

Ctrl + L


删除當前行

Ctrl + Shift + L


切換設計與程式碼檔視窗

F7


切換設計與原始檔模式

Shift+F7

2015年6月23日 星期二

Ubuntu安裝 VM tools

Ubuntu 或具有圖形用戶界面的Ubuntu Server

要裝載CD 映像並解壓縮內容,請按以下步驟操作:

啟動此虛擬機。
使用具有管理員權限或root 用戶權限的帳戶登錄此虛擬機。
轉到虛擬機> 安裝VMware Tools(或VM > 安裝VMware Tools)。

注意:如果您運行的是輕量版的Fusion、不帶VMware Tools 的Workstation 版本或VMware Player,則係統會提示您先下載Tools,然後才能安裝它們。此時請單擊立即下載開始進行下載。

打開Ubuntu 桌面上裝載的VMware Tools CD。
右鍵單擊類似於VMwareTools.xxx-xxxx.tar.gz 的文件名,單擊解壓到,然後選擇要將解壓縮的內容保存到的Ubuntu 桌面。

vmware-tools-distrib 文件夾隨即便會解壓縮到Ubuntu 桌面。
要在Ubuntu 中安裝VMware Tools,請按以下步驟操作:

轉到應用程序 > 附件 > 終端。
在“終端”中,運行下面的命令以導航到vmware-tools-distrib 文件夾:

cd Desktop/ vmware-tools-distrib

運行下面的命令來安裝 VMware Tools:

sudo ./vmware-install.pl -d

注意:-d 開關假定您希望接受默認設置。如果不使用-d,請按Return 接受默認值或提供您自己的答案。

輸入您的 Ubuntu 密碼。
在VMware Tools 安裝完畢後重新啟動Ubuntu 虛擬機。

2015年5月27日 星期三

YARN Application執行流程

簡單描述了一個Application在YARN上的執行流程以及其套件的功能,希望對初識YARN的同學提供一些幫助。


了解YARN(Yet Another Resource Negotiator) 或稱作是MapReduce 2.0是學習Hadoop非常重要的一環,透過該系統不同元件的相互溝通,你可以更加了解Hadoop的運作方式,下列是有關個元件詳細的介紹




NameNode(Hadoop FileSystem元件)

NameNode是Hadoop FileSystem的核心。它保留在FileSystem的所有文件的目錄樹,並追踪何處整個群集的文件數據被保持。它不存儲這些文件本身的數據。

DateNode (Hadoop FileSystem元件)

DataNode存儲實際數據在HDFS上。FileSystem通常有一個以上的的DataNode,它們彼此複製數據。啟動時,DataNode開始連接到NameNode;持續運作直到該服務啟動。然後,DateNode回應它NameNode所需要進行FileSystem請求


Resource Manager (YARN元件)

Resource Manager的功能很簡單:持續以及追踪可用資源。每一個cluster包括兩個主要元件:Scheduler和ApplicationsManager。
Scheduler是負責分配資源的各種運行的應用程序。
ApplicationsManager負責接受作業提交,談判第一容器ApplicationMaster和提供服務的重新啟動ApplicationMaster容器上的失敗。

Application Master (YARN元件)


Application Master是為cluster中運行的每個應用程序創建的。它提供了任務級調度和監視。


Node Manager (YARN元件)

Node Manager 是創建任務容器的框架代理者。容器的資源可以隨意改變,並且任務可以是任何類型的計算不僅映射/降低任務。此外,它監控容器的資源使用情況(CPU,記憶體,硬碟,網絡),並回報給ResourceManager。


**RM=ResourceManager NM=NodeManager AM= AppliactionManager



1.客戶端提交作業到RM。
2.RM在調度器中創建一個新的AppAttempt,維護該作業的信息。
3.NM1向RM發送心跳,RM把ApplicationMaster分配到該NM1。
4.RM通過RPC調用NM1的startcontainer方法。
5.NM1啟動AM。
6.AM啟動後向RM註冊,並向RM請求資源。
7.RM在調度器中維護AM所需的資源container1、container2等。
8.NM2向RM發送心跳,請求資源。
9.RM向NM2分配相應的資源container1。
10.AM向RM發送心跳,RM告訴AM已經分配的container。
11.AM通過RPC調用NM2的startcontainer方法。
12.NM2啟動container1。
13.Container1啟動後向AM匯報進度。
14.Container1結束後NM通過心跳通知RM。
15.AM向RM發送心跳,RM告訴AM相應的container1已經結束(也可以實現container直接告訴AM已經成功​​結束)。
16.當AM的所有Task已經結束,AM向RM匯報自己的結束狀態


出處:http://codesfusion.blogspot.tw/2013/11/hadoop-2x-core-hdfs-and-yarn-components.html

2015年4月26日 星期日

Git README.md 使用方法

針對中文,演示Markdown的各種語法
  
大標題
===================================
  大標題一般顯示程式名稱,類似html的\


  你只要在標題下面輸入=====即可

  
中標題
-----------------------------------
  中標題一般顯示重點項,類似html的\


  你只要在標題下面輸入------即可
  
### 小標題
  小標題類似html的\


  小標題的格式如下 ### 小標題
  注意#和標題字符中間要有空格

### 注意!!!下面所有語法的提示我都先用小標題提醒了!!!

### 單行文本框
    這是一個單行的文本框,只要兩個Tab再輸入文字即可
        
### 多行文本框
    這是一個有多行的文本框
    你可以寫入代碼等,每行文字只要輸入兩個Tab再輸入文字即可
    這裡你可以輸入一段代碼

### 比如我們可以在多行文本框裡輸入一段代碼,來一個Java版本的HelloWorld吧
    public class HelloWorld {

      /**
      * @param args
    */
    public static void main(String[] args) {
    System.out.println("HelloWorld!");

    }

    }
### 鏈接
1.[點擊這裡你可以連接到www.google.com](http://www.google.com)
2.[點擊這裡我你可以連接到我的部落格](http://guoyunsky.iteye.com)

###只是顯示圖片
![github](http://github.com/unicorn.png "github")

###想點擊某個圖片進入一個網頁,比如我想點擊github的icorn然後再進入www.github.com
[![image]](http://www.github.com/)
[image]: http://github.com/github.png "github"

### 文字被些字符包圍
> 文字被些字符包圍
>
> 只要再文字前面加上>空格即可
>
> 如果你要換行的話,新起一行,輸入>空格即可,後面不接文字
> 但> 只能放在行首才有效

### 文字被些字符包圍,多重包圍
> 文字被些字符包圍開始
>
> > 只要再文字前面加上>空格即可
>
> > > 如果你要換行的話,新起一行,輸入>空格即可,後面不接文字
>
> > > > 但> 只能放在行首才有效

### 特殊字符處理
有一些特殊字符如<,#等,只要在特殊字符前面加上轉義字符\即可
你想換行的話其實可以直接用html標籤\



* 在行首加點
行首輸入*,空格後輸入內容即可