1. 程式人生 > 其它 >centos7設定靜態ip並連線外網

centos7設定靜態ip並連線外網

此教程可能不具有統一性,非放之四海而皆準,謹慎參考,避免罵娘!

​ 打算學習大資料,第一步就是和Linux又打交道了,我們準備了!四臺虛擬機器分別為hdf-01到hdf-04。

配置思想如下圖(我自己配置的ip與圖片中的ip並不相同):

1.虛擬機器與宿主機的IP設定

​ 開啟vmware的編輯下的虛擬網路編輯器

記下子網IP與下圖的NAT設定下的閘道器地址。

然後開啟本機上的網路設定,VMnet8的ipv4屬性,設定IP地址。將閘道器設定與上圖的NAT閘道器相同,IP地址同意網段內隨便寫,不要重複。

2.對虛擬機器的ip設定

開啟虛擬機器後,進入/etc/sysconfig/network-scripts/

,使用 vi 編輯器開啟 ifcfg-ens33檔案,不同的機器下檔案後的數字不盡相同,自己判斷。

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static #改為static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=01ad6d15-77de-46d0-9d5f-7143e7c557d4
DEVICE=ens33
ONBOOT=yes # 改為yes,可以自動啟動
IPADDR=192.168.10.149 # IP地址改為,與網關同意網段的任意地址(不能重複,不能超過255)
GATEWAY=192.168.10.2  # 閘道器改成ANT設定中的閘道器,自己新增的時候一定要注意單詞的拼寫
NETMASK=255.255.255.0 # 子網掩碼,不必多說了
DNS1=8.8.8.8 # DNS寫不寫都行吧,寫上也不費事
DNS2=114.114.114.114
NM_CONTROLLED=no
HWADDR=00:0C:29:D0:5F:CA

這些配置好後,基本上就可以ping通外網了,最後,當前的虛擬機器的網路模式要選擇好呀!如圖

成果

3.scp的使用

多個虛擬機器安裝軟體的時候,比如java執行環境的安裝,一個一個的進行安裝太過於麻煩,可以安裝一個後,使當前的安裝好後的資料夾直接貼附於另一臺虛擬機器下。說幹就幹,先看安裝

yum install openssh-clients # 很簡單,一句yes就可以了

我將java的執行環境裝在了/apps/jdk8.......,想將這個目錄貼於其他主機之上執行下面的程式碼

scp -r apps/ 192.168.10.146:/ #存放到了根目錄下,可以配置host檔案對映,使用主機名代替IP地址

4.配置免密登陸

​ 此處的免密登陸是從一臺虛擬機器到另外的幾臺虛擬機器,是為了hadop啟動其他的節點更為方便。首先

ssh-keygen #生成key,之後兩次回車即可

此處我在/etc/hosts檔案中配置了地址對映,

192.168.10.149 hdf-01
192.168.10.148 hdf-02
192.168.10.147 hdf-03
192.168.10.146 hdf-04

如果沒有配置要使用IP地址,然後執行下面命令!

ssh-copy-id hdf-01 #雖然在hdf-01上生成了key,但是也需要在hdf-01上也來一下
..........
ssh-copy-id hdf-04 # 要輸入虛擬機器登陸的密碼

5.安裝hadoop叢集

在hadoop的安裝地址 /apps/hadoop-2.9.2下的etc/hadoop目錄中修改hadoop-env.sh

export JAVA_HOME=/apps/jdk1.8.0_241

修改core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hdf-01:9000</value>
    </property>
</configuration>

修改hdfs-site.xm

<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/root/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/root/dfs/data</value>
    </property>
</configuration>

配置環境變數

export JAVA_HOME=/apps/jdk1.8.0_241
export HADOOP_HOME=/apps/hadoop-2.9.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

使用scp將hdf-01虛擬機器下的hadoop安裝到其他機器上

scp -r /apps/hadoop-2.9.2  hdf-02:/apps
......

6.啟動HDFS

初始化namenode的元資料目錄

在hdf-01上執行命令來初始化元資料儲存目錄並啟動

hadoop namenode -format # 初始化
hadoop-daemon.sh start namenode # 啟動namenode程序

然後在windows中用瀏覽器訪問namenode提供的web埠 50070

http://hdf-01:50070 # 需要關閉centos7的防火牆

然後,啟動眾datanode們(在任意地方)

hadoop-daemon.sh start datanode

7.批量啟動指令碼來啟動HDFS

配置hdf-01到所有叢集中所有機器(包括自己)的免密登陸(見上方)

配置完免密,可以執行一次 ssh0.0.0.0

修改hadoop安裝目錄中 /etc/hadoop/slaves(把需要啟動datanode程序的節點列入)

hdf-01
hdf-02
hdf-03
hdf-04

在hdp-01上用指令碼:start-dfs.sh 來自動啟動整個叢集。如果要停止,則用指令碼:stop-dfs.sh

8.hdfs常用操作命令

1.上傳到hdfs中

hadoop fs -put /本地檔案 /aaa 
hadoop fs -copyFromLocal /本地檔案  /hdfs路徑 # copyFromLocal等價於 put
hadoop fs -moveFromLocal /本地檔案  /hdfs路徑 # 跟copyFromLocal的區別是:從本地移動到hdfs中

2.下載檔案到客戶端本地磁碟

hadoop fs -get /hdfs中的路徑   /本地磁碟目錄
hadoop fs -copyToLocal /hdfs中的路徑 /本地磁碟路徑   ## 跟get等價
hadoop fs -moveToLocal /hdfs路徑  /本地路徑  ## 從hdfs中移動到本地

3.在hdfs中建立資料夾

hadoop fs -mkdir  -p /aaa/xxx

4.移動hdfs中的檔案(更名)

hadoop fs -mv /hdfs的路徑  /hdfs的另一個路徑

5.刪除hdfs中檔案或者資料夾

hadoop fs -rm -r /aaa

6.修改檔案的許可權

hadoop fs -chown user:group /aaa
hadoop fs -chmod 700 /aaa

7.追加內容到已存在的檔案

hadoop fs -appendToFile /本地檔案   /hdfs中的檔案

8.顯示文字檔案的內容

hadoop fs -cat /hdfs中的檔案
hadoop fs -tail /hdfs中的檔案