1. 程式人生 > >2018/11/25 一次性搭建hdfs分散式叢集

2018/11/25 一次性搭建hdfs分散式叢集

整體思路:

1Vmware11 安裝Centos 6Minimal 教程

2使用minimal映象 安裝虛擬機器

A這一步就開始克隆,克隆的機器只需要改下主機名與windows——hosts裡面配置就能ping通

B:BOOTPROTO=static 改成靜態的,否則當你重新啟動那麼虛擬機器ip就會變,就連不上SecureCRT

 上面如果出現問題,可以在這裡改:

VMware Workstation ——system——network connection

 

C:閘道器與ip的理解

在Vmware裡面看不到閘道器與ip,只能在編輯——虛擬網路器編輯裡面看子網ip與子網掩碼

                                                  只能在虛擬機器設定——網路介面卡——高階——看MAC地址

因此需要在windows——cmd——ipconfig看

D:克隆時,當eth0與eth1衝突,目前來看不影響ping,不知道以後會不會影響其他

解決原理:a將當下生成的mac地址刪除,並刪除配置檔案

                or b將當下mac地址改成新生成的,並修改配置檔案,刪除eth0那一段,將eth1那段指向eth0 

E:有時候,你克隆的時候網絡卡直接就直接是eth1,並沒有eth0,這個時候需要按照eth1來配

當然下次可以嘗試下面這種方法

就是上述的b+

按照以上操作,先手動生成mac,然後修改/etc/udev/rules.d/70-persistent-net.rules檔案,把eth1改為eth0,修改對於mac,最後修改/etc/sysconfig/network-scripts/ifcfg-eth0檔案的mac,重啟網路後失敗,重啟伺服器後,70-persistent-net.rules又會重新生成一個eth1。

解決上述問題就是,用重新生成的eth1中的mac,來替換/etc/sysconfig/network-scripts/ifcfg-eth0檔案的mac,然後重啟服務,問題就解決了。

F:需關閉防火牆:

關閉防火牆:service iptables stop  

關閉防火牆自啟: chkconfig iptables off

 

3連線SecureCRT,配置免密登入

按照之前方法複雜度:n(n-1)

下面方法複雜度:2n

 

ssh免密登入

1.安裝ssh.  sudo apt-get install ssh. 安裝完成後會在~目錄(當前使用者主目錄,即這裡的/home/xuhui)下產生一個隱藏資料夾.ssh(ls -a 可以檢視隱藏檔案)。如果沒有這個檔案,自己新建即可(mkdir .ssh).

2.進入.ssh目錄下面,在每臺機器上執行:ssh-keygen -t  rsa  之後一路回車,產生金鑰;

3。完成第二步後會產生兩個檔案:

id-rsa     #私鑰
id-rsa.pub   #公鑰
4.在第一臺機器的目錄.ssh下執行命令,cat  id-rsa.pub >> authorized_keys;此後.ssh下面會出現authorized_keys檔案。

5.然後將第一臺機器的.ssh目錄下面的authorized_keys檔案拷貝到第二臺計算機的.ssh目錄下,如:scp authorized_keys [email protected]:~/.ssh/

6.再轉到第二臺機器的.ssh目錄下,會發現剛剛傳輸過來的檔案-authorized_keys,然後執行命令,將第二臺計算機的公鑰也加進來,如:cat id-rsa.pub >> authorized_keys.

7.將第二臺計算機新生成的authorized_keys傳輸第三臺計算機,將第三臺計算機的公鑰-id-rsa.pub新增到從第二臺計算機傳過來的authorized_keys裡面。

8.依次類推,直至最後一臺計算機。

9.在最後一臺計算機執行完新增後,生成的authorized_keys檔案就包含所有計算機的公鑰,如果以後還有機器加進來,可以直接新增到檔案-authorized_keys。最後,將最後生成的authorized_keys複製到每一臺計算機的.ssh目錄下,覆蓋掉之前的authorized_keys。

10.完沉第九步後,就可以在任意一臺計算機上,免密碼ssh登入到其他計算了。(轉載https://www.cnblogs.com/hrx-star/p/5795765.html

按照上述方法最後出來,slave不能連線到master,可是那個authorized_keys檔案含有所有檔案的公鑰

 

 

4linux下安裝jdk

A軟連結的目的:類似於windows中的快捷方式

B具體配置主要是配置版本以及環境變數

Echo是為用Java開發Web應用程式提供的一個面向物件,事件驅動的框架

Echo 命令:打開回顯或關閉請求回顯功能,或顯示訊息。如果沒有任何引數,echo 命令將顯示當前回顯設定。

C:scp報錯 -bash:scp:command not found

         檢視openssh相關包: rpm -qa openssh*

   解決方式:yum 安裝openssh客戶端   yum install opensssh-clients

          

5搭建hdfs分散式叢集

我現在的問題是子節點datanode無法顯示出來

估計原因:nameNode進行format多次,導致nameNode和dataNode的版本不一致;

 

嘗試方法:1刪除tmp檔案,重新格式化處理

                  2修改每個Slave的clusterID使其與Master的clusterID一致。

                  都不行

以後學會多看官方文件:                     http://hadoop.apache.org 

 

 

 

1 上面5步本來是從第2步開始就應該有多臺機器,可是我現在打算從第一步直接操作到hadoop檔案配置中的:5) 啟動HDFS前,那麼相應地也只需要更改一下主機名以及windows設定就行

2多去嘗試網上hadoop安裝方法

3先看文件,一定先搞懂原理,再進行操作 

4具體如何去看對應的日誌,還需要解決