知識布局-大數據apache基礎組件安裝文檔-部署準備

前言

本人是一枚熱愛新技術的程序猿,想在知乎文藝一下。由於水平有限,如果存在知識點上面的錯誤,請大神明確指出,我會認真聽取,並及時修正自己的錯誤。

目錄

本文包含目錄中的部署準備章節。

1.部署準備

......1.1.修改主機名和hosts對應關係

......1.2 ntpd時間服務

............1.2.1.安裝ntp服務

............1.2.2.配置ntp服務端和客戶端

............1.2.2.啟動ntp

......1.3.ssh

............1.3.1.在A機下生成公鑰/私鑰對

............1.3.2.把A機下的id_rsa.pub複製到B機下

............1.3.3.B機把從A機複製的id_rsa.pub添加到.ssh/authorzied_keys文件里

............1.3.4.A機登錄B機

............1.3.5.需要配置ssh免密碼登陸的機器

......1.4.java環境

......1.5.文件句柄信息配置


1.部署準備

部署準備部分是在部署大數據組件前必須進行的操作,一共五個操作,這5個操作如下所示:

1.修改主機名和hosts對應關係

2.ntp 時間服務

3.ssh免密碼登陸

4.java 環境(java version "1.7.0_80")

5.文件句柄信息配置

下面是詳細的修改樣例。

1.1.修改主機名和hosts對應關係

1.修改主機名稱

修改方法:

a.使用vim /etc/sysconfig/network,將hostname改為指定的hostname

如圖所示:

b.重啟機器,重啟命令reboot

2.修改/etc/hosts文件

修改方法:使用vim /etc/hosts,進入編輯界面,然後進行編輯如下內容即可。這個配置信息需要在corenode、datanode01、datanode02

127.0.0.1 localhost.localdomain localhost

192.168.4.31 corenode

192.168.4.32 datanode01

192.168.4.33 datanode02

1.2 ntpd時間服務

為了配置各個伺服器的時間同步性,我們採用ntp服務來完成。假設我們有三個主機,分別為:

機器信息

1.2.1.安裝ntp服務

corenode節點作為ntp伺服器與外界對時中心同步時間,隨後對所有的datanode節點提供時間同步服務。所有datanode節點以corenode節點為基礎同步時間。

1.所有節點安裝相關組件:yum install ntp

2.完成後,配置開機啟動:chkconfig ntpd on

3.檢查是否設置成功:chkconfig --list ntpd (2~5為on)

1.2.2.配置ntp服務端和客戶端

1.配置ntp server

我們選用corenode作為時間同步中心。

對corenode配置 /etc/ntp.conf

driftfile /var/lib/ntp/drift

restrict 127.0.0.1

restrict -6 ::1

restrict default nomodify notrap

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

server 127.127.1.0 #把本機作為ntp服務端

fudge 127.127.1.0 stratum 0 #設為0為頂級

配置成功後,保存退出。

2.配置ntp客戶端(除corenode之前的機器都是客戶端)

配置/etc/ntp.conf文件

driftfile /var/lib/ntp/drift

restrict 127.0.0.1

restrict -6 ::1

restrict default kod nomodify notrap nopeer noquery

restrict -6 default kod nomodify notrap nopeer noquery

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

#這裡是主節點(內網NTP伺服器)的主機名或者ip

server corenode

配置成功後,保存退出。

1.2.2.啟動ntp

Server端:

使用service ntpd start啟動服務

使用ntpstat命令來查看同步狀態,一般需要等待5分鐘左右。

服務端同步成功:

客戶端:

使用service ntpd start啟動服務

使用ntpdate -u corenode進行測試

使用ntpstat命令來查看同步狀態,一般需要等待5分鐘左右。

客戶端同步成功:

客戶端同步失敗:

等待5分鐘後,再次嘗試。

1.3.ssh

ssh 無密碼登錄要使用公鑰與私鑰。linux下可以用用ssh-keygen生成公鑰/私鑰對,下面我以CentOS為例。有機器A(corenode),B(datanode01)。現想A通過ssh免密碼登錄到B。

提醒:如果機器沒有安裝ssh伺服器,在執行ssh的相關命令時會報錯,比如:-bash: ssh-keygen -t rsa -P : command not found,這時通過使用yum命令先安裝好ssh伺服器,命令:

yum install openssh-server,安裝完成後使用 ssh -version檢查安裝是否成功,然後使用

service sshd start 啟動ssh服務。

1.3.1.在A機下生成公鑰/私鑰對

[root@corenode ~]# ssh-keygen -t rsa -P

-P表示密碼,-P 就表示空密碼,也可以不用-P參數,這樣就要三車回車,用-P就一次回車。 它在/root下生成.ssh目錄,.ssh下有id_rsa和id_rsa.pub。

1.3.2.把A機下的id_rsa.pub複製到B機下

將A機生成的id_rsa.pub文件添加到B機的.ssh/authorized_keys文件里,我用scp複製id_rsa.pub到B機上面。

[root@corenode ~]# scp -P 2226 ~/.ssh/id_rsa.pub root@datanode01:/id_rsa.pub

root@datanode01s password: id_rsa.pub 100% 223 0.2KB/s 00:00

由於還沒有免密碼登錄的,所以要輸入密碼。

1.3.3.B機把從A機複製的id_rsa.pub添加到.ssh/authorzied_keys文件里

[root@datanode01 ~]# cat /id_rsa.pub >> ~/.ssh/authorized_keys

[root@datanode01 ~]# chmod 600 ~/.ssh/authorized_keys authorized_keys的許可權要是600

1.3.4.A機登錄B機

[root@corenode ~]# ssh datanode01

The authenticity of host datanode01 (192.168.1.181) cant be established. RSA key fingerprint is 00:a6:a8:87:eb:c7:40:10:39:cc:a0:eb:50:d9:6a:5b. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 192.168.1.181 (RSA) to the list of known hosts. Last login: Thu Jul 3 09:53:18 2008 from corenode [root@datanode01 ~]# 第一次登錄是時要你輸入yes。 現在A機可以無密碼登錄B機了。 小結:登錄的機子可有私鑰,被登錄的機子要有登錄機子的公鑰。這個公鑰/私鑰對一般在私鑰宿主機產生。上面是用rsa演算法的公鑰/私鑰對,當然也可以用dsa(對應的文件是id_dsa,id_dsa.pub)

想讓A,B機無密碼互登錄,那B機以上面同樣的方式配置即可。

問題:

原因:之前配置過一個master的互訪問,現在換了一個master,ip換了,換了後之前的不能用了,就會報錯。

解決辦法: vi ~/.ssh/known_hosts,把之前的master的信息刪掉就行了

1.3.5.需要配置ssh免密碼登陸的機器

1.Master節點自己免密碼登陸自己(配置方法跟A機B機類似)

2.Master節點能夠免密碼所有節點

本例中master為corenode和datanode01,故需要配置codenode免密碼登陸corenode、datanode01、datanode02,datanode01免密碼登陸corenode、datanode01、datanode02

1.4.java環境

Java版本信息:java version "1.7.0_79"

1.將jdk解壓到相應的目錄,假設為 /mnt/apps/jdk/jdk1.7.0_79

2.為每台機器配置/etc/profile文件,添加如下內容:

#set for java

export JAVA_HOME=/mnt/apps/jdk/jdk1.7.0_79

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

3.執行 source /etc/profile

4.檢查java是否安裝成功,java -version

1.5.文件句柄信息配置

在shell上執行如下的命令:

echo * - nofile 65535 >> /etc/security/limits.conf ulimit -n 65535 ulimit -n


推薦閱讀:

2018智能周報 | 02.17-02.25 | 附資源地址 | AI作惡、CVPR會議、IBM量子計算揭秘……
一文讀懂物聯網、雲計算與大數據的關係
無監督——反欺詐界的福爾摩斯!
Hadoop如何處理?如何增強Hadoop 安全?
2017下半年8場雲計算相關會議合集 聚焦大數據未來!

TAG:大數據 | Hadoop | HBase |