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/
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中的檔案