這是一本書的名字,叫做【Hadoop大數據分析與挖掘實戰】,我從2017.1開始學習 軟體版本為Centos6.4 64bit,VMware,Hadoop2.6.0,JDK1.7. 但是這本書的出版時間為2016.1,待到我2017.1使用時,一部分內容已經發生了翻天覆地的變化。 於是我開始寫這麼一... ...
這是一本書的名字,叫做【Hadoop大數據分析與挖掘實戰】,我從2017.1開始學習
軟體版本為Centos6.4 64bit,VMware,Hadoop2.6.0,JDK1.7.
但是這本書的出版時間為2016.1,待到我2017.1使用時,一部分內容已經發生了翻天覆地的變化。
於是我開始寫這麼一個博客,把這些記錄下來。
我使用的軟體版本為:
軟體 | 版本 |
操作系統 | CentOS 7 64bit-1611 |
虛擬機 | VMware 12.5.2 |
Hadoop | 2.7.3 |
JDK | 1.8.0 |
本人大二學生,只是想記錄一下,謝絕轉載,謝謝。
=============================================
2.2安裝與配置
1.配置VMware網路
我使用了橋接模式(複製物理網路連接狀態),和真實機使用了相同的網關,沒有按照書中的進行查詢。
2.準備機器
通過VMware新建一臺CentOS 7虛擬機,使用root用戶登錄,添加一個新用戶hadoop。設置hadoop用戶的密碼並授予hadoop用戶sudo許可權。
[root@localhost ~]$ useradd hadoop [root@localhost ~]$ passwd hadoop [root@localhost ~]$ chmod u + w /etc/sudoers [root@localhost ~]$ vim /etc/sudoers #在root ALL=(ALL) ALL下添加hadoop ALL=(ALL) ALL [root@localhost ~]$ chomd u - w /etc/sudoers
其中chmod的用法和vim編輯器的用法可以自行百度。
3.設置靜態IP
VMware預設使用動態IP,但是由於Hadoop集群是使用機器名進行定位的,在/etc/hosts中配置了機器名和IP的映射,如果IP不斷變化,則需要不斷修改配置文件,所以這裡需要把IP設置為靜態,方便後面的操作。
1)修改/etc/sysconfig/network-scripts/ifcfg-******。
每個人需要修改的文件名不同,書中修改的文件為ifcfg-eth0,其中eth0是其網卡名。在我的虛擬機中修改的是ifcfg-ens33。可以自行使用ifconfig命令進行查看。
[root@localhost ~]$ vim /etc/sysconfig/network-scripts/ifcfg-ens33 #需要修改的內容如下(如果沒有這一項就自己添加上): DEVICE=ens33 #名稱填自己網卡名稱 BOOTPROTO=static #靜態IP ONBOOT=yes #設置開機自動啟動 IPADDR=192.168.0.131 #IP地址 GATEWAY=192.168.0.1 #網關 DNS1=192.168.0.1 #DNS伺服器 HWADDR=00:0C:29:B7:73:4F #MAC地址①註 NETMASK=255.255.255.0 #這麼填就對了 TYPE=Ethernet #這一塊我也不懂 IPV6INIT=no #禁用IPV6
註①:mac地址查看方法:虛擬機——設置——網路適配器——高級——MAC地址
2)修改/etc/sysconfig/network。設置主機名稱和啟動NETWORK與否。
[root@localhost ~]$ vim /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=localhost.localdomain GATEWAY=192.168.0.1
3)修改DNS信息。
書中手工設置 /etc/resolv.conf 里的DNS,使用source(!)時會對nameserver和search報錯,找不到命令。於是我找到了一篇博客文章:《CentOS 7 下,如何設置DNS伺服器》
以下為文中內容:
在CentOS 7下,手工設置 /etc/resolv.conf 里的DNS,過了一會,發現被系統重新覆蓋或者清除了。和CentOS 6下的設置DNS方法不同,有幾種方式:
①使用全新的命令行工具 nmcli 來設置
#顯示當前網路連接 #nmcli connection show NAME UUID TYPE DEVICE ens33 76d23444-4b71-498b-9a0b-fd2d2d9de735 802-3-ethernet ens33
virbr0 a1015131-ba11-4ecc-81a3-9c9e27eaba32 bridge virbr0 #修改當前網路連接對應的DNS伺服器,這裡的網路連接可以用名稱或者UUID來標識 #nmcli con mod ens33 ipv4.dns "192.168.0.1" #將dns配置生效 #nmcli con up ens33
②使用傳統方法,手工修改 /etc/resolv.conf
- 修改 /etc/NetworkManager/NetworkManager.conf 文件,在main部分添加 “dns=none” 選項:
[main] plugins=ifcfg-rh dns=none
- NetworkManager重新裝載上面修改的配置
# systemctl restart NetworkManager.service
- 手工修改 /etc/resolv.conf
nameserver 192.168.0.1
詳細參見:
# man NetworkManager.conf
# man nmcli
4)關閉防火牆並修改其啟動策略為不開機啟動。
CentOS 6中使用service iptables stop 及 chkconfig iptables off進行設置。
CentOS 7中使用systemctl工具管理這些服務。
可以使用systemctl list-unit-files | grep enabled查看服務中enabled項,可以看到firewalld.service已啟用。
#禁用防火牆 [root@localhost ~]$ systemctl stop firewalld.service #禁止開機啟動防火牆,如需啟用,把disable改成enable [root@localhost ~]$ systemctl disable firewalld.service #顯示一個服務狀態 [root@localhost ~]$ systemctl status firewalld.service
4.安裝JDK
1)使用yum search jdk線上查找jdk列表,任意選擇一個版本,我選擇了最新版,即1.8.0。
[root@localhost ~]$ yum search jdk [root@localhost ~]$ yum install java-1.8.0-openjdk-devel.x86_64 -y
2)配置Java環境變數。
註:我在配置的時候出錯很多次,其中還加入了JRE_HOME,CLASSPATH等,後發現根本不需要。如果配置出錯導致ls等命令都是用不了時,可以輸export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin恢復重新來。我重新來了一個小時。
其中還配置了maven的環境變數,但是maven沒有安裝過,不知道是為什麼。我找了一下,maven的下載地址是:阿帕奇maven下載,下載完成後直接解壓即可使用,我解壓到了/home/hadoop/opt中,所以下文中配置環境變數添加了一條/home/hadoop/opt/apache-maven-3.3.9/bin
[root@localhost ~]$ whereis java [root@localhost ~]$ ll /usr/bin/java [root@localhost ~]$ ll /etc/alternatives/java #這時可以看到JDK路徑了 #修改配置文件 [root@localhost ~]$ vim /etc/profile #在末尾追加 export PATH=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/bin:/home/hadoop/opt/apache-maven-3.3.9/bin:$PATH #保存配置後使用source命令使配置立即生效 [root@localhost ~]$ source /etc/profile
3)使用java -version命令查看環境變數配置是否成功。
[root@localhost ~]# java -version openjdk version "1.8.0_111" OpenJDK Runtime Environment (build 1.8.0_111-b15) OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)
至此,完成JDK的安裝和配置,接下來使用VMware克隆兩台機器,並分別設置靜態IP地址為192.168.0.132,192.168.0.133。(創建連接克隆)
註意:克隆完成,啟動機器後,會出現沒有網路設備信息,無法連接網路的情況,解決方案如下:
不知道博客能不能修改,我還沒開那兩個克隆的虛擬機,不能修改就下一篇再說。