Amazon Ads

顯示具有 Ubuntu 標籤的文章。 顯示所有文章
顯示具有 Ubuntu 標籤的文章。 顯示所有文章

2015年5月30日 星期六

【筆記】在Ubuntu 14.04建立Hadoop多節點叢集-分散式架構(Multi-node cluster)

這裡使用的版本是2.6.0,之前有些設定如設定JAVA_HOME
或是ssh等,在Setting up a Single Node Cluster己經完成,若有撞牆的地方,可以回去參考一下。

在拜歐的cluster中,會有四台機器,分別為:
  • javakid01:做為master,會用它來跑NameNodeSecondaryNameNode
  • jkserver01:做為slaves,會用它來跑DataNode
  • jkserver02:做為slaves,會用它來跑DataNode
  • jkserver03:做為slaves,會用它來跑DataNode

若要改hostname,你可以這樣做:
sudo vi /etc/hostname
上列四台機器中,先確認已經安裝好JavaHadoop

先對javakid01(master),進行設定,在/etc/hosts中加入:
10.211.55.10    javakid01
10.211.55.7     jkserver01
10.211.55.13    jkserver02
10.211.55.14    jkserver03
再來編輯$HADOOP_INSTALL/etc/hadoop/core-site.xml加入下列設定:

        
                fs.defaultFS
                hdfs://javakid01:9000
        

接著編輯$HADOOP_INSTALL/etc/hadoop/hdfs-site.xml加入下列設定:

        
                dfs.replication
                3
        
        
                dfs.namenode.name.dir
                file:/opt/data/hadoop/hadoop_data/hdfs/namenode
        

上面設定好後,使用下列指令建立上列設定的目錄,建立前請確定有足夠的權限:
mkdir -p opt/data/hadoop/hadoop_data/hdfs/namenode
接著編輯$HADOOP_INSTALL/etc/hadoop/mapred-site.xml加入下列設定:

        
                mapred.job.tracker
                javakid01:54311
        

接著編輯$HADOOP_INSTALL/etc/hadoop/yarn-site.xml加入下列設定:


        
                yarn.nodemanager.aux-services
                mapreduce_shuffle
        
        
                yarn.nodemanager.aux-services.mapreduce.shuffle.class
                org.apache.hadoop.mapred.ShuffleHandler
        
        
                yarn.resourcemanager.resource-tracker.address
                javakid01:8025
        
        
                yarn.resourcemanager.scheduler.address
                javakid01:8030
        
        
                yarn.resourcemanager.address
                javakid01:8050
        

最後,在$HADOOP_INSTALL/etc/hadoop/slaves中加入做為DataNodehostname
jkserver01
jkserver02
jkserver03
下面要開始對做為slaves的機器進行設定,其中jkserver01jkserver02jkserver03的設定幾乎是相同的。

一樣先在/etc/hosts中加入:
10.211.55.10    javakid01
10.211.55.7     jkserver01
10.211.55.13    jkserver02
10.211.55.14    jkserver03
請注意!上列的IP會因機器不同而有差異,這裡設定是以我的機器為例。

再來編輯$HADOOP_INSTALL/etc/hadoop/core-site.xml加入下列設定:

        
                fs.defaultFS
                hdfs://javakid01:9000
        

接著編輯$HADOOP_INSTALL/etc/hadoop/hdfs-site.xml加入下列設定:

        
                dfs.replication
                3
        
        
                dfs.datanode.data.dir
                file:/opt/data/hadoop/hadoop_data/hdfs/datanode
        

上面設定好後,使用下列指令建立上列設定的目錄,建立前請確定有足夠的權限:
mkdir -p opt/data/hadoop/hadoop_data/hdfs/datanode
接著編輯$HADOOP_INSTALL/etc/hadoop/mapred-site.xml加入下列設定:

        
                mapred.job.tracker
                javakid01:54311
        

接著編輯$HADOOP_INSTALL/etc/hadoop/yarn-site.xml加入下列設定:


        
                yarn.nodemanager.aux-services
                mapreduce_shuffle
        
        
                yarn.nodemanager.aux-services.mapreduce.shuffle.class
                org.apache.hadoop.mapred.ShuffleHandler
        
        
                yarn.resourcemanager.resource-tracker.address
                javakid01:8025
        
        
                yarn.resourcemanager.scheduler.address
                javakid01:8030
        
        
                yarn.resourcemanager.address
                javakid01:8050
        

最後,也要將讓DataNode知道slaves的設定。在$HADOOP_INSTALL/etc/hadoop/slaves中加入做為DataNodehostname
jkserver01
jkserver02
jkserver03
接下來,為了讓master不用密碼就可登入slaves的話,需要進行SSH連線的設定。

回到javakid01這台機器,在終端機下執行:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
然後執行:
ssh-copy-id -i ~/.ssh/id_rsa.pub javakid@jkserver01
完成後,由javakid01登入jkserver01,第一次登入會需要在jkserver01上的使用者密碼:
ssh jkserver01
jkserver02jkserver03進行相同設定,在javakid01執行:
ssh-copy-id -i ~/.ssh/id_rsa.pub javakid@jkserver02
登入jkserver02
ssh jkserver02
接著執行:
ssh-copy-id -i ~/.ssh/id_rsa.pub javakid@jkserver03
登入jkserver03
ssh jkserver03
全部設定完成後,在javakid01執行下列指令對HDFS進行格式化:
hadoop namenode -format
接著啟動 HDFS Daemons
$HADOOP_INSTALL/sbin/start-dfs.sh
成功啟動後,在javakid01執行jps指令:
jps
應該可以看到下列的結果:
27964 NameNode
28220 SecondaryNameNode
29695 Jps
再來若是到jkserver01jkserver02jkserver03任一台機器執行jps,應該可以看到下列結果:
2204 DataNode
2378 Jps
若在瀏覽器輸入http://javakid01:50070這個網址,應該在Datanodes這個頁籤看到三台機器的資訊:


2015年4月22日 星期三

【筆記】在Ubuntu 14.04.2 Server安裝Redis(版本3.0.0)

Redis目前官方有支援的版本就是Linux-based的作業系統,在這裡拜歐是在Ubuntu 14.04.2 Server安裝Redis,版本為3.0,先到這裡下載Redis

在終端機中,輸入下列指令下載:
wget http://download.redis.io/releases/redis-3.0.0.tar.gz
下載完成後,將其解壓縮:
  
tar xzv -f redis-3.0.0.tar.gz
進入redis-3.0.0目錄中執行make指令:
 
cd redis-3.0.0
make 
若顯示找不到make指令的訊息,請執行下列指令進行安裝:
 
sudo apt-get install make
再來若遇到下列錯誤訊息:
/bin/sh: 1: cc: not found
make[1]: *** [adlist.o] Error 127
make[1]: Leaving directory `/home/javakid/tools/nosql/redis-3.0.0/src'
make: *** [all] Error 2
這裡要注意的是第一行的訊息,若是出現這個訊息,請執行下列指令進行安裝:
 sudo apt-get install build-essential
若有什麼檔案找不到的,如下列訊息:
In file included from adlist.c:34:0:
zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory
 #include <jemalloc/jemalloc.h>
                               ^
解決辦法只要去把缺的檔案make出來:
cd deps 
make jemalloc
然後再回到redis-3.0.0目錄,再執行make

若是有再遇到下列訊息:
cc: error: ../deps/hiredis/libhiredis.a: No such file or directory
cc: error: ../deps/lua/src/liblua.a: No such file or directory
make[1]: *** [redis-server] Error 1
make[1]: Leaving directory `/home/javakid/tools/nosql/redis-3.0.0/src'
make: *** [all] Error 2
一樣先到deps執行,把缺的檔案make出來:
cd deps
make hiredis lua jemalloc linenoise
完成後,再回到上一層再執行make
cd ../
make
make執行完畢後,執行下列指令,開始執行指令啟動Redis
 src/redis-server

2015年1月11日 星期日

【筆記】使用SSH連線到VirtualBox的Ubuntu VM

若要在實體機器使用如PieTTY等連線軟體使用SSH通訊協定連線到VirtualBox中的Ubuntu時,需要先在VirtualBox中設定「連接埠轉送」:


首先,查出VirtualBox虛擬網卡的資訊,在命令提示字元下輸入:
ipconfig
接著找到 「乙太網路卡 VirtualBox Host-Only Network」這一塊的資訊中的「IPv4 位址」,如下:


若找不到「乙太網路卡 VirtualBox Host-Only Network」這一塊的資訊,則先到Oracle VM VirtualBox管理員視窗中,依下列步驟進行設定。

先點選【檔案】→【喜好設定】:


進入「VirtualBox - 設定值」視窗後,點選【網路】→【「僅限主機」網路】,然後在最右的加號圖示上點按一下:


加入成功後,就會在下方的區塊內出現「VirtualBox Host-Only Ethernet Adapter」,回到命令提示字元再輸入一次ipconfig,應該就可以找到「乙太網路卡 VirtualBox Host-Only Network」了。

在這裡「IPv4 位址」的設定值為「192.168.123.1」。

再來啟動Ubuntu後,使用下列指令來查網路設定:
ifconfig
再來找到eth0這段的設定,這裡是「10.0.2.15」:


回到Oracle VM VirtualBox管理員視窗中,選擇要設定的虛擬機器後,點按上面的【設定值】:


進入設定值視窗後,在左邊區塊內找到【網路】後,把右邊區塊中的【進階】展開,再點按【連接埠轉送】開啟「連接埠轉送規則」設定視窗後,再點按右邊的加號圖示新增一組規則:


在上面畫面的各欄位設定如下:
  • 「名稱」用輸入自訂的名稱,這裡用的是「SSH」
  • 「協定」就使用預設的「TCP」
  • 「主機IP」輸入在「乙太網路卡 VirtualBox Host-Only Network」這一塊的資訊中的「IPv4 位址」,亦即「192.168.123.1」
  • 「主機連接埠」輸入「22」
  • 「客體IP」設定為eth0這段的設定,這裡是「10.0.2.15」
  • 「客體連接埠」設為「22」
設定好點按【確定】鈕離開即可:


若設定完仍無法連線,可能尚未安裝SSH Server,可以在Ubuntu使用下列指令安裝OpenSSH Server
sudo apt-get install openssh-server

2014年12月24日 星期三

【筆記】解決在VirtualBox中安裝Ubuntu14.04後,無法調整螢幕解析度的問題

今天在Windows 8.1上,使用VirtualBox安裝Ubuntu 14.04後,發現要調整螢幕解析度時,只有640 X 480這一個選項:


後來找到這一篇討論,好像是在Ubuntu 14.04後的版本,要再安裝幾個客戶端的套件:
  • virtualbox-guest-dkms
  • virtualbox-guest-utils
  • virtualbox-guest-x11

所以先打関終端機後,輸下列指令:
sudo apt-get install virtualbox-guest-dkms \
virtualbox-guest-utils \
virtualbox-guest-x11
其中,\是表示換行的意思,實際上可以在一行中輸入所以指令。

輸入完成後重新啟動,應該就可以看到VirtualBox中的作業系統視窗不再是小小一塊,而且進入系統設定後,也可以看到解析度有其他選項可以選擇:


參考資料

2014年6月12日 星期四

【筆記】Ubuntu用ls命令的用法

選項功能
-a, --all含有「.」開頭的檔案也一併列出
-A, --almost-all檔案列表中,不包含有「.」和「..」開頭
--author-1一起使用時,會顯示每個檔案的作者

2014年5月21日 星期三

【分享】在Ubuntu使用wget下載網址帶有參數的檔案

今天在Ubuntu中下載一個檔案,網址中是帶有參數的,如:
$ wget -O stock_2330.csv http://www.twse.com.tw/ch/trading/exchange/STOCK_DAY_AVG/STOCK_DAY_AVG2.php?STK_NO=2330&myear=2014&mmon=05&type=csv
結果在終端機中顯示的結果訊息為:
[1] 17936
[2] 17937
[3] 17938
javakid@javakid-VM:~/tools$ --2014-05-20 23:54:41--  http://www.twse.com.tw/ch/trading/exchange/STOCK_DAY_AVG/STOCK_DAY_AVG2.php?STK_NO=2330
正在查找主機 www.twse.com.tw (www.twse.com.tw)... 210.69.240.130
正在連接 www.twse.com.tw (www.twse.com.tw)|210.69.240.130|:80... 連上了。
已送出 HTTP 要求,正在等候回應... 200 OK
長度: 0 [text/html]
Saving to: ‘stock_2330.csv’

    [ <=>                                   ] 0           --.-K/s   in 0s      

2014-05-20 23:54:41 (0.00 B/s) - ‘stock_2330.csv’ saved [0/0]


[1]   Done                    wget -O stock_2330.csv http://www.twse.com.tw/ch/trading/exchange/STOCK_DAY_AVG/STOCK_DAY_AVG2.php?STK_NO=2330
[2]-  Done                    myear=2014
[3]+  Done                    mmon=05
看上列結果,好像沒下載到什麼東西,進一步查看檔案:
$ ll stock_2330.csv 
-rw-r--r-- 1 javakid javakid 0  5月 21 00:04 stock_2330.csv
才發現檔案大小為「0」。

查了一下,發現原來可能是有帶參數的關係,主要是後面的?&這兩個符號在剖析時造成了意外的結果。

解法是,把要請求的網址,用'(單引號)包起來就好,如:
$ wget -O stock_2330.csv 'http://www.twse.com.tw/ch/trading/exchange/STOCK_DAY_AVG/STOCK_DAY_AVG2.php?STK_NO=2330&myear=2014&mmon=05&type=csv'
這樣就下載為想要的檔案:
$ ll stock_2330.csv 
-rw-r--r-- 1 javakid javakid 360  5月 21 00:12 stock_2330.csv
用編輯開啟後,也可以看到正常的結果:
$ cat stock_2330.csv 
103年05月 2330 台積電 日收盤價及月平均收盤價(元)
日期,收盤價
 103/05/02,118.00
 103/05/05,117.00
 103/05/06,118.00
 103/05/07,118.50
 103/05/08,119.50
 103/05/09,120.00
 103/05/12,118.50
 103/05/13,120.50
 103/05/14,122.00
 103/05/15,122.00
 103/05/16,122.00
 103/05/19,121.00
 103/05/20,121.00
月平均收盤價,119.85
說明:以上成交資料採市場交易時間之資料計算。

2014年4月8日 星期二

【分享】讓vim文字編輯器顯示行數

vi預設執行時是不會顯示行號的,若要顯示行號,可以在vi的指令模式中,使用指令變更編輯環境,指令如下:
:set nu
上列指令執行後,會在每一行的最前面顯示行號。 若要取消顯示行號,則在vi的指令模示中執行下列指令:
:set nonu
上列的設定方式,在關閉檔案後,就會失效,若要預設顯示行號的話,則要去編輯/etc/vim下的vimrc這個檔案(以Ubuntu環境為例),先開啟檔案來編輯:
$ sudo vi /etc/vim/vimrc
開啟後,在檔案的最下方,新增下列指令:
set nu
請注意,這裡是沒有:符號的!

按儲存離開後,在使用vi來編輯檔案時,預設就會顯示行號了。

【筆記】Ubuntu常用指令


動作指令備註
df -h列出目前檔案系統使用狀況
find -type f找出目前資料夾中,所有的檔案使用find --help看更多用法
gnome-session-quit登出版本11.10以上
ps查詢程序運作情況參數:
-A:所有的程序均顯示出來
a:不與終端機有關的所有程序
-u:有效使用者相關的程序
x:通常與a這個參數一起使用,可列出較完整資訊
sudo shutdown -h now關機
wc查看檔案的行數、字數等使用wc --help看更多說明
wget網頁資料的取得

參考資料

【筆記】Ubuntu使用wget下載檔案時指定儲存檔案名稱

有時我在Ubuntu使用終端機下載檔案時,下載後的檔案名稱,會跟直接用瀏覽下載的不一樣,如:
$ wget http://www.vim.org/scripts/download_script.php?src_id=8651

下載完成後,檢視檔案,結果檔名變成download_script.php?src_id=8651


這時還要把它重新更改名字,才能做適當的處理。

這時,如果在下載檔案時,多加一個-O(大寫的O),空一格後,再加上要儲存的檔名,就可以指定所要儲存的檔名:
$ wget http://www.vim.org/scripts/download_script.php?src_id=8651 
 -O php.tar.gz

下載完成後的檔名:


若需要更多資訊,可以使用下列指令查詢更多可以使用的參數:
$ wget --help

2014年3月26日 星期三

【分享】Ubuntu解決SVN「資料不存在」、「Access to ... probidden」的問題

今天在用Eclipse更新SVN程式或要連線到SVN時,突然出現下列訊息:


或是「URL access forbidden for unknown reason」、「Access to 'http://... ' forbidden」,如下訊息:


看到「Access forbidden」讓我想到有可能是SVN認證的問題,於是就先試著把家目錄中subversion下的auth資料夾刪掉看看:
rm -r -f ~/.subversion/auth
果然問題就解決了。

這是我的經驗,與你分享!

2013年11月2日 星期六

How to modify the scrollbar style (overlay) in Ubuntu

According to the different versions of Ubuntu, the commands to modify the scrollbar overlay are also different.

In Ubuntu 12.04 the command is as fellow:
gsettings set org.gnome.desktop.interface ubuntu-overlay-scrollbars false
and to restoring it back with the command as fellow:
gsettings set org.gnome.desktop.interface ubuntu-overlay-scrollbars true
If your version of Ubuntu is 12.10, you should use the command:
gsettings set com.canonical.desktop.interface scrollbar-mode normal
and you can use the command below to set it back:
gsettings set com.canonical.desktop.interface scrollbar-mode overlay-auto
Finally if your Ubuntu version is 13.04 the command below can setup what you want:
gsettings set com.canonical.desktop.interface scrollbar-mode normal
and you need the command below to restore it back:
gsettings reset com.canonical.desktop.interface scrollbar-mode

2013年10月26日 星期六

【分享】修改Ubuntu 12.10 scrollbar樣式 (scrollbar overlay)

原本在Ubuntu 12.10中,scrollbar的樣式是這樣的:



打開終端機 (可以使用快捷鍵Ctrl + Alt + T),在終端機中輸入下列指令:

gsettings set com.canonical.desktop.interface scrollbar-mode normal

不用重開機,scrollbar的樣式就會立刻改變。



若要改回來,就在終端機中執行下列指令:

gsettings set com.canonical.desktop.interface scrollbar-mode overlay-auto

2013年10月15日 星期二

【分享】修改Ubuntu 13.04(14.04)內建scrollbar樣式

在「修改Ubuntu 12.04內建scrollbar樣式」中有提到要更改Ubuntu 12.04預設scrollbar樣式,但在13.04版本,作法又有點不同了。

預設樣式如:



若要修改預設的scrollbar樣式 (overlay scrollbars),開啟終端機後輸入:

gsettings set com.canonical.desktop.interface scrollbar-mode normal

不用重新開機,輸入後立刻「有感」:



若要改回來,就在終端機中輸入:

gsettings reset com.canonical.desktop.interface scrollbar-mode


【分享】Ubuntu由12.10升級到13.04

若你的Ubuntu是12.04的版本,請先參考「Ubuntu 12.04升級到12.10」這篇升級到12.10。

其實Ubuntu由12.10升級到13.04的步驟大同小異,只要升級到12.10之後,在終端機中輸入:update-manager -d,或開啟【更新管理員】系統就會開始檢查更新:



若目前的所有軟體皆為最新版本,則會出現升級到13.04的提示:


若要升級,請點按【升級...】按鈕開始進行升級。


過程中會要求輸入密碼,請輸入登入的使用者密碼。


在閱讀發行公告後,點按【升級(U)】按鈕升級程序正式開始。



[分享]Ubuntu 12.04升級到12.10

在開始由Ubuntu 12.04升級到12.10之前,請確認適用於目前版本的更新都己經升級。

在終端機中輸入下列命令

sudo apt-get update

後,再輸入

sudo apt-get upgrade

來升級目前版本適用的所有更新。

更新步驟如下:

在終端機中輸入:update-manager -d,或開啟【更新管理員】,如下:


【更新管理員】對話窗開啟後,若沒有看到「有新 Ubuntu 發行版 '12.10' 可供升級」和【升級】按鈕的話,請進行下列設定。


點按在【更新管理員】對話窗左下方的【設定(S)...】按鈕:


出現【軟體來源】對話窗後,切換至【更新】頁籤,在下方【通知我新的 Ubuntu 版本】,選擇【任何新版本】


點按【關閉】按鈕後,應該就會出現「有新 Ubuntu 發行版 '12.10' 可供升級」以及【升級】,點按【升級】開始升級。

開始升級後,依照系統的指示進行升級即可,升級過程中,應會出現下列視窗。



參考資料:



2013年10月4日 星期五

[分享]修改Ubuntu 12.04內建scrollbar樣式

Ubuntu不知在那一版之後,介面有了大調整,而讓拜歐感到不便的就是視窗拉桿 (scrollbar) 會自動消失,常會找不到在那裡,像下圖中紅框那樣。


這時只要打開終端機視窗,在命令模式中輸入下列指令:

gsettings set org.gnome.desktop.interface ubuntu-overlay-scrollbars false

視窗拉桿就會變回比較熟悉的展現方式了。


若要改回來怎麼辦呢?就把上列指令最後一個參數改成true執行後再重新啟動即可,如下:

gsettings set org.gnome.desktop.interface ubuntu-overlay-scrollbars true

【分享】在Ubuntu(Linux)上安裝Wine以執行exe檔(Windows應用程式)

有很多的好用軟體,是Window應用程式,只有exe檔,要在Linux環境中使用,就需要加裝一個好用的免費軟體Wine,有了Wine,Linux、Mac、FreeBSD以及Solaris的使用者,就可執行Windows應用程式。

要下載安裝,請參考Wine的下載頁面,這裡拜歐使用Ubuntu作業系統,並用命令模式來安裝。
  1. 先加入Wine的ppa,打開終端機並輸入:sudo add-apt-repository ppa:ubuntu-wine/ppa
  2. 若中間有詢問一些操作,請都按「Enter」繼續。
  3. 再來在終端機中輸入:sudo apt-get update,以更新套件資訊。
  4. 最後,在終端機中輸入:sudo apt-get install wine1.7,開始安裝Wine。
安裝前,從Windows複製了Notepad++的免安裝版本,雙點exe檔,是無法執行的。



安裝後,可以在應用程式選單中,看到Wine:



上面的Notepad++軟的icon也可以看到變化:


雙點也可以開始執行使用了。



2012年10月23日 星期二

【解決】Ubuntu解決Eclipse Subversion Incompatible JavaHL library loaded. 1.7.x or later required.的問題

有時裝在Eclipse上的Subversion版本比較高,會出現下列的錯誤:「Incompatible JavaHL library loaded. 1.7.x or later required」。
這是因為在你電腦上,Subclipse需要JavaHL版本太舊了,請參考:http://subclipse.tigris.org/wiki/JavaHL

解法:

  • 前往http://www.collab.net/downloads/subversion#tab-1下載Subversion 1.7.7 (Linux x86_64)到本機後,直接用解壓縮程式開啟,將其中的CollabNet_Subversion的資料夾解壓縮到/opt下。
  • 開啟Eclipse的eclipse.ini,在-vmargs這一行下面加上「-Djava.library.path=/opt/CollabNet_Subversion/lib」,重新開啟Eclipse就好。

2012年6月6日 星期三

Ubuntu 更新

  • 若在Ubuntu中無法順利更新,可能是server掛掉的關係,就變換主機,變更方式為應用程式-》更新管理員-》設定-》更換下載自...
    • 更換完要記得update清單:sudo apt-get update