1. 程式人生 > >hadoop學習(九)Hadoop2.2.0+HA+zookeeper3.4.5詳細配置過程+錯誤處理(2)

hadoop學習(九)Hadoop2.2.0+HA+zookeeper3.4.5詳細配置過程+錯誤處理(2)

       Hadoop2.2.0+HA+zookeeper3.4.5詳細配置過程+體系結構+錯誤處理(2)

       這篇文章,主要是針對zookeeper和hadoop叢集的整體測試,以及自己在實際過程遇到的問題和解決思路。     

        如有轉載,請注意明出處!

        http://blog.csdn.net/yczws1/article/details/23594149

測試啟動

       按照下面的每一步執行,執行完一定要看輸出的資訊,注意warnerrorfatal的情況。因為這都是可能是問題出現的地方。出現一個問題,不解決,可能就會影響接下來的測試。這才是真正的工作量。


1、啟動zookeeper

       在hadoop1hadoop2hadoop3、hadoop4、hadoop5上zookeeper目錄下分別執行命令:bin/zkServer.sh start

       在每一臺機器執行完上面的命令後,執行jps,會顯示:這是初步認定啟動沒有問題

     23598 Jps         
      22491 QuorumPeerMain 

       當所有機器執行上述命令完畢後,再在每臺機器上執行:bin/zkServer.sh status 檢視每臺機器zookeeper的狀態,正確的話,只有一臺機器是leader,其餘機器都是顯示

folower1-5臺機器都需要測試一下,效果如下:

      [email protected]:~yarn/hadoop2.2.0/app/zookeeper/bin$ ./zkServer.sh status
       JMX enabled by default
       Using config: /home/ericsson/zookeeper/bin/../conf/zoo.cfg
       Mode: follower
       [email protected]:~yarn/hadoop2.2.0/app/zookeeper/bin$ 

2、驗證格式化zookeeper

2.1執行zkCli.sh

        在hadoop1機器上,hadoop目錄,執行zkCli.sh 終端上會輸出一連串的資訊。最後結束的資訊是

Welcome to ZooKeeper!
2014-04-08 16:44:40,028 [myid:] - INFO  [main-SendThread(localhost:2181):[email protected]] - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
2014-04-08 16:44:40,033 [myid:] - INFO  [main-SendThread(localhost:2181):[email protected]] - Socket connection established to localhost/127.0.0.1:2181, initiating session
JLine support is enabled
2014-04-08 16:44:40,094 [myid:] - INFO  [main-SendThread(localhost:2181):[email protected]] - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x145407bbc720004, negotiated timeout = 30000
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
ls /
[zookeeper]
[zk: localhost:2181(CONNECTED) 1] 
[zk: localhost:2181(CONNECTED) 1] 

      【可以看到ZK叢集 中只有一個節點zookeeper

2.2 格式化ZooKeeper叢集

       格式化zookeeper叢集,目的是在ZooKeeper叢集上建立HA的相應節點

       在hadoop1上的hadoop的目錄執行:bin/hdfs zkfc –formatZK

       正常命令輸出結尾:

14/04/08 17:03:40 INFO ha.ActiveStandbyElector: Session connected.
14/04/08 17:03:40 INFO zookeeper.ZooKeeper: Session: 0x545407c1d6c0003 closed
14/04/08 17:03:40 INFO zookeeper.ClientCnxn: EventThread shut down

       如果終端輸出是以上面結尾,應該是沒有出現問題。

       而我在執行的時候,遇到一個問題:在出現上面類似程式碼之後,報了一個異常,導致後面的執行沒有結果,問題就出在這個異常的之上。

終端輸出:

14/04/08 17:03:40 INFO ha.ActiveStandbyElector: Session connected.
14/04/08 17:03:40 INFO zookeeper.ZooKeeper: Session: 0x545407c1d6c0003 closed
14/04/08 17:03:40 INFO zookeeper.ClientCnxn: EventThread shut down
Exception in thread "main" org.apache.hadoop.HadoopIllegalArgumentException: Bad argument: –formatZK
    at org.apache.hadoop.ha.ZKFailoverController.badArg(ZKFailoverController.java:245)
    at org.apache.hadoop.ha.ZKFailoverController.doRun(ZKFailoverController.java:208)
    at org.apache.hadoop.ha.ZKFailoverController.access$000(ZKFailoverController.java:59)
    at org.apache.hadoop.ha.ZKFailoverController$1.run(ZKFailoverController.java:166)
    at org.apache.hadoop.ha.ZKFailoverController$1.run(ZKFailoverController.java:162)
    at org.apache.hadoop.security.SecurityUtil.doAsLoginUserOrFatal(SecurityUtil.java:456)
    at org.apache.hadoop.ha.ZKFailoverController.run(ZKFailoverController.java:162)
    at org.apache.hadoop.hdfs.tools.DFSZKFailoverController.main(DFSZKFailoverController.java:175)

        就是上面的異常,沒有解決,導致下面的問題都不能進行,因為下面要在執行zkCli.sh,檢視zookeeper有沒有格式化成功,生成叢集名稱。自己也諮詢了幾個老師,他們給的回覆也是不知所云。自己在這上面,也是耽誤了很長時間,不知道到底問題出現在哪兒。其中有一個回覆是:可能是 -formatZK宣告有問題。字面解釋是這樣,但是formatZK的宣告是沒有問題。耽誤了幾天,在網上得到一個解決方案。Zookeeper日誌的問題,因為zookeeper是不能自動清理日誌的。因為事先,我在裝zookeeper的時候,裝過兩次,但是對應的datalog目錄資料沒有更改,導致在執行formatZK命令的時候報錯。

        我把log日誌刪除掉,重新建立一個檔案,最後問題解決。因為這個原因,自己也查了關於zookeeper的相關資訊。這裡只談到zookeeper日誌的問題,後續的話,我們更多的去談zookeeper的相關內容。因為zookeeper的架構理念很重要。

        在使用zookeeper過程中,我們知道,會有dataLog兩個目錄,分別用於snapshot和事務日誌的輸出(預設情況下只有data目錄,snapshot和事務日誌都儲存在這個目錄中,關於這兩個目錄的詳細說明,請看《ZooKeeper管理員指南》)。

        正常執行過程中,ZK會不斷地把快照資料和事務日誌輸出到這兩個目錄,並且如果沒有人為操作的話,ZK自己是不會清理這些檔案的,需要管理員來清理,這裡介紹4種清理日誌的方法。在這4種方法中,推薦使用第一種方法,對於運維人員來說,將日誌清理工作獨立出來,便於統一管理也更可控。畢竟zk自帶的一些工 具並不怎麼給力,這裡是社群反映的兩個問題:這裡可以參考:ZooKeepr日誌清理 的4種方法:這裡不多介紹。

       驗證:

       執行:zkCli.sh

       輸出和上面執行zkCli.sh輸出的內容相似。如果輸出下面內容,則證明格式化zookeeper成功,否則就出現問題:

WATCHER::
WatchedEvent state:SyncConnected type:None path:null
ls /
[hadoop-ha,zookeeper]
[zk: localhost:2181(CONNECTED) 1] ls /hadoop-ha     
[cluster1]     
[zk: localhost:2181(CONNECTED) 2]

3啟動JournalNode叢集

      在hadoop1、hadoop2hadoop3、hadoop4、hadoop5上分別hadoop目錄

      執行命令:sbin/hadoop-daemon.sh start journalnode

      命令輸出(hadoop1為例)

[[email protected] ~yarn/hadoop-2.2.0/]$ sbin/hadoop-daemon.sh start journalnode    
starting journalnode, logging to yarn/hadoop-2.2.0/logs/hadoop-root-journalnode-hadoop101.out    
[[email protected] ~yarn/hadoop-2.2.0/]$   

      在每個節點執行完啟動命令後,每個節點都執行以下驗證。

      驗證(hadoop1為例)

[[email protected] hadoop]$ jps  
23396 JournalNode  
23598 Jps  
22491 QuorumPeerMain  
[[email protected] hadoop]$

      檢視一下目錄結構:

[[email protected] ~yarn/yarn_data/]$ pwd    
/home/tom/yarn/yarn_data
[[email protected] ~yarn/yarn_data/]$ ls tmp/    
journal    
[[email protected] ~yarn/yarn_data/]$

     【啟動JournalNode後,會在本地磁碟產生一個目錄,使用者儲存NameNodeedits檔案的資料】

4、格式化叢集的一個NameNode

     從hadoop1hadoop2中任選一個即可,這裡選擇的是hadoop1

     在hadoop1/home/tom/yarn/hadoop-2.2.0/目錄下執行下面命令:

     bin/hdfs namenode -format -clusterId c1

      命令輸出:


14/04/08 17:39:40 INFO namenode.FSImage: Image file /usr/local/hadoop/tmp/dfs/name/current/fsimage.ckpt_0000000000000000000 of size 196 bytes saved in 0 seconds.     
14/04/08 17:39:40 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0     
14/04/08 17:39:40 INFO util.ExitUtil: Exiting with status 0     
14/04/08 17:39:40 INFO namenode.NameNode: SHUTDOWN_MSG:     
/************************************************************     
SHUTDOWN_MSG: Shutting down NameNode at hadoop1/172.16.128.134     
************************************************************/     
[[email protected] ~yarn/hadoop-2.2.0/]$

      驗證檢視一下目錄結構:

[[email protected] ~yarn/yarn_data]$ pwd    
/home/tom/yarn/yarn_data
[[email protected] ~yarn/yarn_data]$ ls tmp/    
dfs  journal    
[[email protected] ~yarn/yarn_data]$ls dfs/

name

     【格式化NameNode會在磁碟產生一個目錄,用於儲存NameNodefsimageedits等檔案】   

      出現上面內容,則認為,格式化namenode成功。

5、啟動剛才格式化的namenode

      在hadoop1/home/tom/yarn/hadoop-2.2.0/目錄下執行命令:/sbin/hadoop-daemon.sh start namenode

      命令輸出:

[[email protected] ~yarn/hadoop-2.2.0]$ sbin/hadoop-daemon.sh start namenode    
starting namenode, logging to /home/tom/yarn/hadoop-2.2.0/logs/hadoop-root-namenode-hadoop101.out

驗證:
[[email protected] ~yarn/hadoop-2.2.0/]$ jps    
23396 JournalNode    
23598 Jps    
23558 NameNode    
22491 QuorumPeerMain    
[[email protected] ~yarn/hadoop-2.2.0/]$

        在頁面輸入地址:hadoop1:50070/dfshealth.jsp,你可以在頁面看到namenode1的狀態,是standby

6、把NameNode1的資料從hadoop1同步到hadoop2

      在hadoop2home/tom/yarn/hadoop-2.2.0/目錄上

      執行命令:

      bin/hdfs namenode –bootstrapStandby

      命令輸出:

[[email protected] ~yarn/hadoop-2.2.0]$bin/hdfs namenode -bootstrapStandby    
14/04/08 17:49:20 INFO namenode.NameNode: STARTUP_MSG:    
/************************************************************  
........

14/04/08 17:49:20 INFO util.ExitUtil: Exiting with status 0     
14/04/08 17:49:20 INFO namenode.NameNode: SHUTDOWN_MSG:     
/************************************************************     
SHUTDOWN_MSG: Shutting down NameNode at hadoop2/172.16.128.135      
************************************************************/     
[[email protected] ~yarn/hadoop-2.2.0]$   

驗證:

[[email protected] ~yarn/yarn_data]$ pwd    
/home/tom/yarn/yarn_data
[[email protected] ~yarn/yarn_data]$ ls tmp/    
dfs  journal    
[[email protected] ~yarn/yarn_data]$ls dfs/

name

      【在tmp目錄下產生一個目錄name】 

       如果出現上面結果,證明資料從namenode1上同步到namenode2上是成功的。如果可以出現上面結果,繼續下面的步驟。如果沒有出現dfs目錄,也同樣執行下面的過程,不過兩者產生的結果不一樣。

7、啟動hadoop2中另一個Namenode

      在hadoop2上/home/tom/yarn/hadoop-2.2.0/目錄下執行命令:/sbin/hadoop-daemon.sh start namenode

       命令輸出:

[[email protected] ~yarn/hadoop-2.2.0]$ sbin/hadoop-daemon.sh start namenode    
starting namenode, logging to /home/tom/yarn/hadoop-2.2.0/logs/hadoop-root-namenode-hadoop101.out
驗證:

[[email protected] ~yarn/hadoop-2.2.0/]$ jps    
2336 JournalNode    
2358 Jps    
2358 NameNode    
2241 QuorumPeerMain    
[[email protected] ~yarn/hadoop-2.2.0/]$

      在頁面地址輸入:hadoop2:50070/dfshealth.jsp你就可以看到namenode2的狀態效果。和namenode1一樣,同樣是standby狀態。

      不好的事情,我測試的過程就沒有出現上面的結果,namenode程序沒有啟動。這個問題,也是卡在那兒不得已解決,耽誤很長時間。問題,就出現在67兩個步驟上。不知道怎麼解決,後來諮詢一個哥們,那哥們把在


       上給我截了一個圖,我仔細看了關於第6步的過程。其實就是為了把namenode1上格式化產生的目錄,拷貝到namenode2中,既然執行6沒有出現我想要的結果。那就直接把namenode1中目中的dfs目錄直接複製到namenode2中不就OK了嗎?事實證明正式如此,官網也是這麼說明的。複製完畢,再在namenode2上執行第7步,jps就可以看到namenode起來的程序了。至此這個問題解決了。

8、啟動所有的datanode

      Datanode是在slaves檔案中配置的。在hadoop1上執行:

      sbin/hadoop-daemons.sh start datanode

      命令輸出:


[[email protected] ~yarn/hadoop-2.2.0]$sbin/hadoop-daemons.sh start datanode    
hadoop3: starting datanode, logging to /home/tom/yarn/hadoop-2.2.0/logs/hadoop-root-datanode-hadoop3.out    
hadoop4: starting datanode, logging to /home/tom/yarn/hadoop-2.2.0/logs/hadoop-root-datanode-hadoop4.out    
hadoop5: starting datanode, logging to /home/tom/yarn/hadoop-2.2.0/logs/hadoop-root-datanode-hadoop5.out    
hadoop6: starting datanode, logging to /home/tom/yarn/hadoop-2.2.0/logs/hadoop-root-datanode-hadoop6.out    
[[email protected] ~yarn/hadoop-2.2.0]$

     【上述命令會在四個節點分別啟動DataNode程序】

      驗證(以hadoop1為例):


[[email protected] ~yarn/hadoop-2.2.0]$ jps    
23396 JournalNode    
24302 Jps    
23558 NameNode    
22491 QuorumPeerMain    
[[email protected] ~yarn/hadoop-2.2.0]$

     【可以看到java程序DataNode,這個時候可以ssh進入datanode機器,jps,檢視datanode是否啟動程序,這裡的3-6節點,datanode都是可以起來的】    

9啟動Yarn

      在hadoop1上執行命令:sbin/start-yarn.sh

      命令輸出:

[[email protected] ~yarn/hadoop-2.2.0]$sbin/start-yarn.sh    
starting yarn daemons    
starting resourcemanager, logging to /home/tom/yarn/hadoop-2.2.0/logs/yarn-root-resourcemanager-hadoop1.out    
Hadoop6: starting nodemanager, logging to /home/tom/yarn/hadoop-2.2.0/logs/yarn-root-nodemanager-hadoop6.out    
hadoop5: starting nodemanager, logging to /home/tom/yarn/hadoop-2.2.0/logs/yarn-root-nodemanager-hadoop5.out    
hadoop4: starting nodemanager, logging to /home/tom/yarn/hadoop-2.2.0/logs/yarn-root-nodemanager-hadoop4.out    
hadoop3: starting nodemanager, logging to /home/tom/yarn/hadoop-2.2.0/logs/yarn-root-nodemanager-hadoop3.out    
hadoop2: starting nodemanager, logging to /home/tom/yarn/hadoop-2.2.0/logs/yarn-root-nodemanager-hadoop2.out    
hadoop1: starting nodemanager, logging to /home/tom/yarn/hadoop-2.2.0/logs/yarn-root-nodemanager-hadoop1.out    
[[email protected] ~yarn/hadoop-2.2.0]$

驗證:

[[email protected] ~yarn/hadoop-2.2.0]$jps    
23396 JournalNode    
25154 ResourceManager    
25247 NodeManager      
23558 NameNode    
22491 QuorumPeerMain    
25281 Jps    
[[email protected] ~yarn/hadoop-2.2.0]$

      【產生java程序ResourceManagerNodeManager

       也可以通過瀏覽器訪問hadoop1:8088/cluster

10啟動ZooKeeperFailoverCotroller

       在hadoop1hadoop2hadoop3hadoop4hadoop5、hadoop6上分別執行命令: sbin/hadoop-daemon.sh start zkfc

       命令輸出(以hadoop1為例):

[[email protected] ~yarn/hadoop-2.2.0]$ sbin/hadoop-daemon.sh start zkfc    
starting zkfc, logging to 、home/tom/yarn/hadoop-2.2.0/logs/hadoop-root-zkfc-hadoop101.out    
[[email protected] ~yarn/hadoop-2.2.0]$驗證(以hadoop1為例):

[[email protected] ~yarn/hadoop-2.2.0]$ jps    
24599 DFSZKFailoverController    
23396 JournalNode    
24232 DataNode    
23558 NameNode    
22491 QuorumPeerMain    
24654 Jps    
[[email protected] ~yarn/hadoop-2.2.0]$

      【產生java程序DFSZKFailoverController

11、驗證HA的故障自動轉移是否好用

       在執行完第10步的時候,在頁面可以觀察到兩個NameNode的狀態,hadoop1的狀態是standbyhadoop2的狀態是active。原先兩個namenode都是standby的狀態。

       在hadoop1上我們執行:kill -9 23558

       23558 NameNode  

然後jps:nemenode程序不存在了


[[email protected] ~yarn/hadoop-2.2.0]$ jps    
24599 DFSZKFailoverController    
23396 JournalNode    
24232 DataNode    
22491 QuorumPeerMain    
24654 Jps 

        然後重新整理兩個頁面,可以看到,兩臺機器的狀態置換了。原先的active變成standby,原先的standby變成active,這說明,HA故障自動轉換是正常的,HDFS是高可用的。

        等你順利結束上面所有的步驟,都很順利的話,說明,你叢集搭建基本完成任務。說是基本,因為還有事情要做,就是,你要開始上傳檔案開始測試程式,看看hadoop是否應用正常。這就是接下來要做的事情了。

 總結:

        整個過程是,痛苦、無奈、糾結。伴隨著N多夜晚。總結的過程就超過10個小時。還有很多問題都沒有寫完,後續會繼續跟近,也歡迎與讀者討論交談。

        讀者有益,寫著有勞。關愛身邊每一個人,熱愛身體,珍惜生命,且行且珍惜。


Copyright©BUAA

相關推薦

hadoop學習Hadoop2.2.0+HA+zookeeper3.4.5詳細配置過程+錯誤處理(2)

       Hadoop2.2.0+HA+zookeeper3.4.5詳細配置過程+體系結構+錯誤處理(2)        這篇文章,主要是針對zookeeper和hadoop叢集的整體測試,以及自己在實際過程遇到的問題和解決思路。              如有轉載,

機器學習與深度學習系列連載: 第一部分 機器學習支援向量機2Support Vector Machine

另一種視角定義SVM:hinge Loss +kennel trick SVM 可以理解為就是hingle Loss和kernel 的組合 1. hinge Loss 還是讓我們回到二分類的問題,為了方便起見,我們y=1 看做是一類,y=-1 看做是另一類

JavaWeb學習HttpServletRequest基本應用——客戶端提交表單到伺服器2

一、獲得客戶機請求引數(客戶端提交的資料) getParameter(String)方法(常用) getParameterValues(String name)方法(常用) getParameterNames()方法(不常用) getParameterMap()方法(編寫

【數據庫】9.0 MySQL入門學習——獲得數據庫和表的信息、日期計算、查詢

編輯 輸入 3.0 dog tro ron 學習 後來 spec 1.0 SELECT語句用來從數據表中檢索信息。 SELECT what_to_select FROM which_table WHERE conditions_to_satisfy; what_to_s

C++學習入門篇——String類

允許 res fort ngs 結果 初始化 ant content app 可以用string類而不是字符數組來存儲字符串,string更加簡單 要是用string類,則要在程序中包含頭文件string,且位於std名稱空間中,string類隱藏了字符串的數組性質,可以像

linux學習set_uid、set_gid、stick_bit、軟鏈接、硬鏈接

private char 就是 bug spec deb date scrip usr 一、set_uid set_uid其實是一種特殊權限,我們看一個文件: [root@iZ25lzba47vZ ~]# ls -l /usr/bin/passwd -rwsr-xr-x.

Hadoop學習搭建Hadoop的分布式集群

例子程序 eve work 鍵盤 規劃 shuffle 系統變量 p s har 搭建Hadoop的分布式集群 Hadoop集群搭建的準備操作: 1、準備四臺服務器   四臺服務器的主機名分別是:potter2、potter3、potter4、potter5。   對以上四

React Native學習—— 使用Flexbox布局

styles BE art 分享圖片 category urn def ger p s 本文基於React Native 0.52 Demo上傳到Git了,有需要可以看看,寫了新內容會上傳的。Git地址 https://github.com/gingerJY/React-N

Hadoop學習1

分布 ont zookeepe str 過程 pac 穩定版 進行 動態 什麽是Hadoop? hadoop是Apache 開源發布的分布式系統基礎架構。它實現了分布式文件系統(hadoop Distributed File System,HDFS),分布式系統是運行在多個

機器學習—邏輯回歸與SVM區別

ongl 需要 自帶 www. 不理解 就是 clas 決策 技術 1、LR和SVM有什麽相同點   (1)都是監督分類算法;   (2)如果不考慮核函數,LR和SVM都是線性分類算法,也就是說他們的分類決策面都是線性的;   (3)LR和SVM都是判別模型。 2、LR和S

C++學習之 項目 推箱子遊戲

bgm 控制臺 兩個 分享 加載圖片 eat gethwnd put init 遊戲制作 推箱子 步驟分析 1、模板 2、模板分析 組成元素: 空地 墻 人 目的地 箱子 背景 3、如何操作 通過WASD鍵盤操作人,推著箱子,到達目

操作系統學習 、訪問數據段時的特權級檢查

區域 系統 才會 使用 執行 有效 以及 選擇 改變 為了訪問數據段中的操作數,數據段的段選擇符必須被加載進數據段寄存器(DS,ES,FS或GS)或堆棧段寄存器(SS)中。可以使用指令MOV、POP、LDS、LES、LFS、lGS和LSS來加載段寄存器。 在把一個段選擇符加

C++語言學習——C++標準庫簡介

模塊使用 sse libstdc++ 約定 ngs 列表 oss 雜項 pri C++語言學習(九)——C++標準庫簡介 一、C++標準庫簡介 1、C++標準庫簡介 C++標準庫(C++ Standard Library),是類庫和函數的集合。?C++編譯器廠商根據C++標

Hadoop學習

電腦 yarn bubuko 調度 node common mon ima mage Common:公共模塊,別的模塊都依賴於它。 HDFS:存儲數據。 MapReduce:計算數據. YARN:調度器。輔助把資源分給哪臺電腦。 Namenode:負責接收客戶端的請求

強化學習與Deep Q-Learning進階之Nature DQN

cal variable 模型 基礎 討論 比較 .com 回放 均方差     在強化學習(八)價值函數的近似表示與Deep Q-Learning中,我們講到了Deep Q-Learning(NIPS 2013)的算法和代碼,在這個算法基礎上,有很多Deep Q-Lear

機器學習之numpy和matplotlib學習

這節課我們來學習numpy的一些基本的操作和屬性。 為什麼這樣安排學習課程呢? 我覺得這樣交叉學習,使用到什麼的時候就去檢視,對於numpy也好還是matplotlib的學習也好。 他們的內容有很多,要想全部掌握還是很難的,只有不斷的自己去實踐,遇到什麼不知道的問題就去學習。 而

java分散式系統部署學習ansible-playbook進階

一、併發執行 ansible預設只會建立5個程序,所以一次任務只能同時控制5臺機器執行.那如果你有大量的機器需要控制,或者你希望減少程序數,那你可以採取非同步執行.ansible的模組可以把task放進後臺,然後輪詢它.這使得在一定程序數下能讓大量需要的機器同時運作起來. 使用asy

JMeter學習FTP測試計劃

FTP服務主要提供上傳和下載功能。有時間需要我們測試伺服器上傳和下載的效能。在這裡我通過JMeter做一個FTP測試計劃的例子。   1.建立一個執行緒組 2.執行緒組--->新增--->配置元件--->FTP請求預設值:輸入伺服器名稱或IP。 3.

機器學習與深度學習系列連載: 第二部分 深度學習Keras- “hello world” of deep learning

Keras Kearas 是深度學習小白程式碼入門的最佳工具之一。 如果想提升、練習程式碼能力,還是建議演算法徒手python實現。 複雜的深度神經網路專案還是推薦TensorFlow或者Pytorch Keras是一個高層神經網路API,Keras由純Pyt

pandas_cookbook學習——apply

Apply應用函式: In [135]: df = pd.DataFrame(data={'A' : [[2,4,8,16],[100,200],[10,20,30]], 'B' : [['a','b','c'],['jj','kk'],['ccc']]},index=['I','I