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中的文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM