2013年8月22日 星期四

進貨折讓

進貨折讓
參考網址
進貨折讓是指企業購進商品,在驗收商品寸,如發現商品損壞、質量不合要求、或逾期交貨等問題時,除採用退回商品辦法外,經與供貨方協商聯繫後,也可以採取按原進貨價格減收一部分進貨款的辦法,予以解決。減收的這一部分貨款叫做進貨折讓。
對進貨折讓可以有兩種會計處理方法:一是直接沖減原進貨價格;一是月末彙總本期進貨折讓總額,集中沖減商占銷售成本

2013年3月24日 星期日

Ubuntu12.10 Server_架設二台VM叢集跑MPI

題目:VM Cluster setup and performance results

1. Please setup a VM cluster (at least two VMs) on your computer
  
    1.1 Please clone your VM for the other, and setup networking

2. Please install HPL on one VM and get HPL result

3. Please install HPL on both VMs and get HPL result
    example
    ct@c1:~$ /usr/bin/mpirun -hostfile hosts -np 4 hello3_mpi.exe
    Hello World! from processor 0 of 4 on c1
    Hello World! from processor 1 of 4 on c1
    Hello World! from processor 2 of 4 on c2
    Hello World! from processor 3 of 4 on c2

4. Please run bwtest_mpi on both VMs
    example
    ct@c1:~$ /usr/bin/mpirun -H c1,c2 -np 2 bwtest_mpi.exe 524288
    c1 c2 156.367Mbps 52.3896ms
⓪實體機若2核,兩台VM開的也都2核。

實驗記錄

工具:Ubuntu 12.10 server
環境:架設二台VM(Ubuntu Server)、一台Client(Windows 8)
IP Address:
192.168.186.2(CC1)
192.168.186.3(CC2)

一、基本設置:

設定IP:

# sudo vi /etc/network/interfaces
auto eth0
iface eth0 inet static
address [IP]
netmask 255.255.255.0
gateway [GW]
dns-nameservers [168.95.1.1]

二、重啟網路:


cd /etc/init.d/
sudo restart networking





三、更改 hostname & hosts

3.1 路徑:
cd /etc/
sudo hostname


/etc/hosts
127.0.0.1 localhost cc1 or cc2
192.168.186.2 or 192.168.186.2 cc1or cc2


3.2 Windows 8修改hosts
 路徑:C:\Windows\System32\Drivers\etc
(把hosts資料放到桌面修改完後再貼回去!)

注意:
若使用VMWare Clone者,設定網路環境時,

要修改/etc/hosts底下的電腦名稱(如下圖),127.0.0.1 [電腦名稱]

四、 安裝&設定SSH

參考網址:鳥哥私房菜免密碼SSH免密碼SSH2免密碼SSH3

套件升級(包含作業系統更新),指令:sudo apt-get upgrade

之前使用CentOS的時候,SSH是內建在裡面的,現在Ubuntu要自行安裝。

安裝SSH:sudo apt-get install ssh

使用putty測試連線~~成功!


五、設定兩台PC免密碼使用SSH

5.1 在CC1 & CC2 上下指令:ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key(/home/landy/.ssh/id_rsa):[ENTER]

Enter Passphrase(Empty For No PassPhrase):[ENTER]

Enter same passphrase again:[ENTER]


5.2.1 RSA存放路徑/home/landy/.ssh/id_rsa

5.2.2 檔案異地直接複製: scp

⓪如果知道伺服器上的檔案及檔名,  則是透過 scp 這個指令較為簡單。

⓪複製key檔案,輸入命令: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    authorized_keys 專門用來存放公開金鑰的檔案


⓪我目前要把CC1的資料復製到CC2上

指令:scp ~/.ssh/*.pub ID@主機位置:~/.ssh/
ID:  landy(CC2's ID)
主機位置:CC2's 192.168.186.3







案例指令:scp ~/.ssh/*.pub landy@192.168.186.3:~/.ssh

 
補充1:移除.ssh目錄指令:m -rf ~/.ssh
補充2:CC1做好內部測試可以通後,將整個.ssh內的資料都copy到CC2下。
測試指令:ssh localhostssh cc1ssh cc2

六、建立一個資料夾mpi_test,然後在linux內讀取usb隨身碟,將usb內的script都copy到linux下。
⓪將usb接到nb上,在Vmware右下角USB連線。
(1)cd /dev  <放各種硬體裝罝的地方>
(2)ls sd* <顯示硬碟>
     sdb1指隨身碟
(3)sudo mount /dev/sdb1 /mnt <掛載隨身碟到mnt目錄>
(4)進入mpi_test資料夾:
     cp /mnt/shell\ scrip.zip  mpi_test(OR[.]指此目錄),\指還原符號(linux無法認空白,要給\)

(6)解壓縮:unzip shell\ scrip.zip(打s後給tab鍵即會帶出)
(7)sudo umount /mnt

⓪補充:移檔案指令mv

指令:mv ~/mpi_test/all ./   < [.]在此資料夾





指令:copy file hello3_mpi.c to "shell scrip"資料夾


七、安裝MPI
指令:
$ sudo apt-get update
$ sudo apt-get install make
$ sudo apt-get install patch
$ sudo apt-get install gcc g++ gfortran
$ which gcc
$ which g++
$ which gfortran
$ sudo apt0get install openmpi-bin openmpi-doc libopenmpi-dev
$ which mpicc
$ sudo apt-get upgrade

八、下指令 vi cpcompall.sh內容裡加入路徑mpi_test

PS:要先看cpcompall.sh在那一個路徑下,此例為在$HOME/mpi_test。


九、執行MPI<OK>

指令:./copmpall.sh all hello3_mpi
⓪ ./cpcompall.sh(執行檔)all (檔案),hello3.mpi(程式)。
⓪all及hello3.mpi檔案,使用vi編輯。

十、$mpirun -hostfile hosts -np 2(4,8) hello3_mpi.exe




指令/usr/bin/mpirun -hostsfile hosts -np 2(or4,8) hello3_mpi.exe

            -np(number process行程),4(指同時跑四個工作)

            /usr/binmpirun -H c1,c2 -np 2 bwtest_mpi.exe

十一、跑HPL

11.1 掛載USB,將sh_hpl_hpcc_NOsource_03112013.tar.gz復製到mpi_test資料夾內。

11.2 Get file "sh_hpl_hpcc_NOsource_03112013.tar.gz" and untar it from Run CC1 and CC2
       
        解壓縮:$tar zxvf  sh_hpl_hpcc_NOsource_03112013.tar.gz
                        $cd source_hpl_hpcc
                        $time sh get_all_nointel_03112013.sh

CC1(流程圖): 
CC2(流程圖): 


 十二、Install GotoBLAS2, Openblas, HPCC and HPL with gcc by your account

12.1 指令:more hpl_hpcc_all_03112013.sh




CC1
CC2



12.2 指令:time sh open026_goto2113_lap342_hpl21_hpcc142.sh gcc 64 2

 CC1(流程圖)



CC2(流程圖) 



12.3  Install openblas.so.0 library path by root account
         12.3.1  cd ~/hpl_hpcc_gcc_open_goto/xianyi-OpenBLAS-87b4d0c
        ps: xianyi-OpenBLAS-87b4d0c要解壓縮,才會出現此資料夾(CC1&CC2皆要執行)。


        12.3.2 下指令:sudo make PREFIX=/usr install 出錯


      ⓪除錯Log (Makefile.install : 13 : *** OpenBLAS: Please run "make" firstly. Stop.)
     
         下指令:make PREFIX=/usr install,流程如下圖







          12.3.2  測試還是失敗,於是下指令刪除rm -rf hpl_hpcc_gcc_open_goto,重弄

                       rm:刪除檔案或目錄 (類似dos之del、deltree)
                                rm -參數 檔案或目錄
                                1. r:刪除其下的檔案及目錄 (類似dos之deltree)
                                2. i:刪除時提出警告
                                3. f:刪除時不提出警告
                                4. d:刪除目錄,即使該目錄並非空目錄
           12.3.3 將source_hpl_hpcc移到根目錄下,指令:mv -f ~/mpi_test/source_hpl_hpcc ~/

                        (再重12.2開始做,即ok)
            12.3.4 下以下兩個指令:
           (1) sudo ldconfig
           (2) ldconfig -p | grep openblas









        
           12.3.5 指令:mpirun -hostfile hosts -np 2 xhpl & <NB風扇轉速開始大聲>
         執行完後
              more HPL.out



2012年12月3日 星期一

Virtualization With KVM on the CentOS 6.3

實驗記錄:

工具:VMware 9

作業系統:CentOS 6.3

首先,先來講一些關於KVM的原因部份

1、Linux KVM為裸機式架構(Bare-Metal),指的是直接安裝在硬碟上的電腦系統,

     而不是安裝在作業系統內,而Bare-metal指的就硬碟,也就是用來安裝作業系統

     的媒介。
   
      1.1 KVM(Kernel-based Virtual Machine)

2、Linux KVM能夠運作,並發揮效能,仰賴兩個主要條件:
    
      2.1 Linux 核心內嵌KVM核心模組。

      2.2 硬體支援虛擬化技術。

3、VT-x與VT-d

      3.1 VT-x 代表CPU對於虛擬化技術的支援。
  
      3.2 VT-d 代表週邊裝置對於虛擬化技術的支援,VT-d的虛擬化技術,指的並不
 
            是顯示卡或網路卡等這些週邊裝置,而是溝通與傳遞這些週邊裝置訊息的「

            主機板」。

4、流程:

      4.1 查看CPU有無支援虛擬化技術,若什麼資訊都沒有,代表電腦CPU不支援虛

            擬化技術。
         
            egrep -c '(vmx|svm)'  /proc/cpuinfo  <= -c:計算找到 '搜尋字串' 的次數

  
 
1為有支援,0表示不支援。
           
            補充1:ergp的參考網址:http://blog.chinaunix.net/uid-20515844-id-2377072.html
 

           
            補充2:若CPU無支援虛擬化技術,還是可以安裝Linux KVM套件,只是系統

                          會以QEMU來執行虛擬電腦(速度較慢)。


            補充3:www.intel.com/products/processor_number 去查看有無支援VT-x及EPT

                          (我的電腦有支援)


     
     4.2 安裝Linux KVM

          上述虛擬化確認ok後,下以下指令:

          yum install kvm kvm-pxe

          yum install qemu-kvm libvirt-bin bridge-utils virt-manager
 
 

     4.3 確件安裝完後,確認Linux KVM是否有在運作,指令如下:
 
          lsmod | grep kvm
 
 
 
          補充:kvm_intel代表CPU廠商是Intel的。
 
      4.4 下指令顯示Linux KVM的"核心模組"。
 
            modprobe -l | grep kvm
 
 
 
 
             補充:Linux KVM安裝完成後,原生套件本身並沒有包含圖形化介面操作環
 
                         境,必須完全在終端機底下,利用指令與相關參數的配合,來建置與
 
                        運行。
 
       4.5 呼叫圖形化管理界面
 
             virt-manager  (畫面開啟成功,就可以安裝系統了)
 
 
 
           

2012年11月26日 星期一

CentOS 6.3_Hadoop除錯(一)

繼上一篇文章:CentOS 6.3_Hadoop安裝及前置作業(一) ,

(http://landyworknotes.blogspot.tw/2012/11/centos-63hadoop.html)

開始要除錯~~~

流程一、我輸入jps的時候,CentOS顯示查無此命令的意思。
    
     指令:yum search openjdk
        
                 yum install java-1.6.0-openjdk-devel.x86_64

                     
                 輸入jsp,有跑出數值來是正確的。









流程二:

1.到路徑:cd hadoop-1.1.0/conf

2.設定masters及slaves。
  
   2.1 到masters內加上hadoop1,到slaves 內加上hadoop2及hadoop3。




















2012年11月22日 星期四

CentOS 6.3_Hadoop安裝及前置作業(一)

Hadoop安裝前置作業(一)

系統:CentOS 6.3
工具:VMware 9

本文章測出來為,單機模式,自己是namenode 也是 datanode。

參考網址:

http://programer-learn.blogspot.tw/2012/04/hadoop.html

Fenriswolf 程式筆記:

http://fenriswolf.me/2012/05/25/hadoop-%E5%8F%83%E6%95%B8%E8%A8%AD%E5%AE%9A-hdfs-site-xml/ 
    

基本系統環境:

1、設定三台Hadoop(Name: Hadoop1、Hadoop2、Hadoop3)

2、設定IP(192.168.1.131,192.168.1.132,192.168.1.133)

      指令:
      2.1 更改網路IP:system-config-network (設定完reboot)

            (到Virtual Network Editor內看NAT Settings,GW為192.168.1.2)

      2.2 更改 hostname:
            路徑:#vim /etc/sysconfig/network (Hadoop1)
                        #vim /etc/hosts (新增:192.168.1.131  Hadoop1 //在這修改hostname)
                                         (新增:192.168.1.132  Hadoop2 //在這修改hostname)
                                         (新增:192.168.1.133  Hadoop3 //在這修改hostname)
      
             注意:因為對LINUX不熟,所以我在PING 域名這一塊花了較多的時間,記得
                         要到 /etc/hosts加入DNS解析,這樣其他台設備才PING的到某台的域名。

      2.3 三台內部都要可以Ping IP及域名成功,做Hadoop才不會有問題。
       
      2.4 請勿使用root來操作。

4、前置流程

      4.1 更新套件  yum update

      4.2 安裝Java (安裝完後,下which java / java -version,會顯示java路徑/版本)

      4.3 到此路徑 /etc/init.d/,啟動SSH

               service sshd restart
              
               yum list installed | grep ssh

               解說:
              
               yum list installed <-列出所有已安裝的程式

               | <- 管線,把前面結果傳遞給後面

      補充1:

      事實上,在我們使用的 Linux 系統當中,預設就已經含有 SSH
      的所有需要的軟體 了!這包含了可以產生密碼等協定的 OpenSSL
      軟體與 OpenSSH 軟體 (註1),所以呢,要啟動 SSH 真的是太簡單
      了!就直接給他啟動就是了!
     
      參考網址:http://linux.vbird.org/linux_server/0310telnetssh.php#ssh_start

      補充2:

      ssh server 用來1.scp復製檔案,這樣不必逐台設定
      從其中一台(namenode)可以去啟動所有的datanode,
      方便管理而已,因為如果有幾百台的話~~

      附帶好處才是我們可以用ssh client連進去

      補充3:

      SSH啟動後,就可以用PUTTY連線了。

   4.4 啟動 SSH 需要輸入密碼,這裡將SSH變成無密碼登入,首先必須先產生一組公鑰,
       以下以DSA為例:
  
       指令:ssh-keygen -t dsa  (接下來會看到三個問題,按Enter即可)     

 


 
      4.5  指令:ls -al,找隱藏檔.ssh(路徑:root/.ssh/)

                                     可以看到一個id_dsaid_dsa.pub的檔案
          
     補充1:
 
     在哪個帳號底下的.ssh裡面,放的就是登入那個帳號或者是用
    
     那個帳號去登入別台機器用的key跟設定。

     補充2:

     .ssh放了三個檔案,一個是自己的key,一個是其他機器的key,
    
     一個是驗證過的key,驗證過的key跟自己的key是同內容的檔案
 





     三台都一樣所以才能夠作到 ssh nodex 能夠互相無密碼。
    
     補充3:
     
      若再重做此項動作, 必須先把各端的~/.ssh下面檔案全數刪除,始可再做下面步驟
           
           補充4:
          
           若要刪除.ssh,輸入命令:  ssh-keygen  -t  dsa  -P  ''  -f  ~/.ssh/id_dsa
 
      ps: ''是兩個單引號, 不是一個雙引號

 
  4.6 將id_dsa.pub導入到SSH的認證公開金鑰檔

      指令:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
   
      接著輸入 

      指令:ssh localhost 檢查看看會不會要你輸入密碼。

      補充:
      authorized_keys 為SSH的認證公開的金鑰檔。
      id_dsa.pub    public key

5.安裝Hadoop

  5.1 下載Hadoop
     
      我這邊下載的檔案是"hadoop 1.1.0.tar.gz"

      到官網上面去下載,網址:

      http://hadoop.apache.org/releases.html#Download

                   可以看一下每一個版本的詳細(下圖)

 
圖二:
                 1、選擇hadoop-1.0.0下載
                 2、注意,不要選擇hadoop-2.0.2-alpha版,
                    alpha 是 beta 版之前的版本(不穩定)。

 
  5.2 解壓縮檔案指令:tar -zcvf hadoop 1.1.0.tar.gz
     
  5.3 進入hadoop-1.1.0目錄下的 conf 資料夾內
 
      路徑:cd /hadoop-1.1.0/conf

     
  5.4 要修改四個檔案:
     
      Hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml
  
  5.5 使用vi進入這四個檔案

      5.5.1 Hadoop-env.sh

            加入JAVA的路徑,我習慣將原本系統預設的留著,加#。

            export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0,0.x86_64/jre

   注意:這邊java的路徑要確定正確,不然接下來執行"5.6.4"步驟的時候會有問題。
          (5.6.4 執行指令:bin/hadoop namenode -format)
          
 

     5.5.2 core-site.xml (指定HDFS的瀏覽位址)

          <configuration>
             <property>
               <name>fs.default.name</name>
               <value>hdfs://localhost:9000</value>
             </property>
          </configuration>
  
     5.5.3 hdfs-site.xml
 
           <configuration>
              <property>
                <name>dfs.replication</name>
                 <value>1</value>
              </property>
           </configuration>
       
           參考網址:
           http://fenriswolf.me/?s=mapred-site.xml

      5.5.4 mapred-site.xml

           <configuration>
              <property>
                 <name>mapred.job.tracker</name>
                 <value>localhost:9001</value>
              </property>
           </configuration>

5.6  到cd/hadoop-1.1.0
     執行指令:bin/hadoop namenode -format


 
 
5.7 啟動Hadoop
 
             指令~/hadoop-1.1.0/bin/start-all.sh
 
 
 
5.8 Hadoop瀏覽看有無正常運作
 
 






2012年9月7日 星期五

JFire.org(二)-除錯及安裝Eclipse

安裝完Eclipse後,還是有誤!!
 
 
六、為了除錯我以為是沒裝Eclipse的關係,馬上去下載來裝~
 
但在這之前,我又把Java JDK重新安裝了一次。



七、將下載下來的Eclipse解壓縮
指令:tar -zxvf eclipse-jee-qalileo-SR2-linux-gtk-x86_64_NL-SDK Subclipse.tar.gz

八、開啟這畫面之前,會有一個路徑,先使用預設




 
九、Ensure that your default installed JRE in Eclipse points to JDK 6.
 
To verify that, in Eclipse open Window > Preferences > Java > Installed JREs,
 
check if the Java 6 is selected as default.



十、After starting your SDK , please choose in the main menu:
 
File => New => Other... => NightLabs => Workspace








 
 









 安裝中,裝…超久的!!!
 
 
 
參考網址:
https://www.jfire.org/modules/phpwiki/index.php/Development%20Environment%20Setup