VirtualBox下 Centos6.10+Hadoop2.6集羣搭建 Windows客戶端搭建

1 Centos下載安裝

Centos鏡像下載地址https://www.centos.org/download/ 我選擇的是DVD版本

在VitrualBox裏面新建一個虛擬機

硬盤給了10G,其他屬性默認,開機,選擇啓動盤,把下載好的鏡像放入,開始安裝

趁安裝的時候,在虛擬機上面視圖,調成自動縮放模式,如果發現鼠標不見了,按一下鍵盤右邊(注意是右邊)的Ctrl,安裝的時候根據提示操作,最後的安裝進度條

安裝成功後,先關機,然後設置一下網絡,右鍵虛擬機,設置,選擇網絡選項卡,添加兩塊網卡,一個是Host-Only,這個網絡連接模式只能在虛擬機和宿主機之間聯通,類似一個小型局域網,第二塊網卡配置成NAT模式,用於虛擬機的上網

 按Ctrl+W,出來主機網絡管理界面,開啓DHCP服務器,進行如下配置

 

在windows下執行ipconfig命令,可以看見Host-Only的那塊網卡

虛擬機重新開機,還會讓你配置一下賬號密碼之類的東西,配置好之後開機

配置一下打開終端的快捷鍵,如圖打開快捷鍵設置

找到Run a terminal,修改快捷鍵

 

爲用戶賦予root權限,需要修改/etc/sudoers文件,不建議直接用vi打開修改,使用visudo命令修改可以檢查一下語法,避免損壞文件搞出大事情

su root  //切換到root用戶,這一部會要求輸入root密碼
visudo  //打開/etc/sudoers文件

按一下“G”(注意是大寫的),跳到文檔末尾,找到##same thing without a password這一項,按照他給的例子複製一行,複製命令是yy,黏貼是p,然後按一下i開始進行文本編輯,移動光標進行文字修改。修改完後按“:”進入vim命令模式,輸入wq回車,保存文件並退出。我配置的是無密碼切換root模式,因爲懶惰,如果你需要密碼的可以用上一項

tuan ALL=(ALL) NOPASSWD: ALL

切換回自己的用戶,修改一下網卡配置,爲Host-Only網絡指定Ip,需要修改/etc/sysconfig/network-scripts/ifcfg-eth0文件,這一部需要root權限,如果你的Host-Only網卡是eth1就打開eth1的

sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0  //打開配置文件
添加一行IPADDR=192.168.56.21,修改BOOTPROTO爲static,修改ONBOOT爲yes,保存關閉
sudo service network restart //重啓網卡
ifconfig  //查看網卡配置

弄好之後,ping一下我們的宿主機,發現ping不通,原因是windows的防火牆默認關閉了icmp,打開防火牆高級設置,在入站規則裏面找到下面這條,雙擊,啓用就可以ping通宿主機了,宿主機的Host-Only地址可以通過ipconfig查詢

因爲開着個界面很佔資源,而且我的小破筆記本操作還有點卡,因此開啓ssh服務,通過xshell上。關機,啓動虛擬機的時候,右鍵啓動—無界面啓動。注意當虛擬機無界面啓動顯示啓動後,還需要等一會才能用ssh連上

sudo chkconfig sshd on  //開機啓動ssh,可以不配置
service sshd start  //啓動ssh服務

2 Hadoop集羣安裝

按照官網文檔兩篇,分別是單點模式安裝和集羣模式安裝

http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-common/SingleCluster.html

http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-common/ClusterSetup.html

2.1 依賴安裝

官網說需要兩個依賴:Java7和ssh,Centos6.10都有

但是我不想用Java1.7,升個級

sudo yum remove -y java  //舊的不去
sudo yum install -y java-1.8.0*  //新的不來

2.2 Hadoop下載

從官網提供的地址下載,直接wget

wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz  //下載
tar -xf hadoop-2.6.5.tar.gz  //解壓
mv hadoop-2.6.5 hadoop  //改名

2.3 Hadoop配置

所有配置文件都是hadoop目錄下的etc/hadoop下,hadoop/share/doc目錄下可以找到各種配置文件的dafault版本,用find命令就能找到,如果某個配置項沒有配置Hadoop就會使用這些默認配置

2.3.1 hadoop-env.sh和yarn-env.sh

修改JAVA_HOME這一項,java的安裝目錄可以通過這篇文章的方法找到,我的在/usr/lib/jvm/jre-1.8.0-openjdk.x86_64下面

https://blog.csdn.net/zhpengfei0915/article/details/50963199/

這一項默認是引用環境變量JAVA_HOME的值,乾脆在/etc/profile裏配置一個環境變量,就不用修改這兩個文件了

在/etc/profile中添加
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
保存退出
source /etc/profile  //讓環境變量生效

2.3.2 core-site.xml

配置默認的文件系統端口

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
</property>

2.3.3 yarn-site.xml

配置ResourceManager的ip地址

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
</property>

2.3.4 slave機創建

爲了通信方便修改一下/etc/hosts文件,加入如下三行,第一個master對應現在這臺虛擬機的ip地址,底下兩臺是slave機,保存退出

順便爲了後續方便我把Windows的hosts文件也加了這些配置

修改slaves文件,這裏面配置的是slave機的ip

退出master機,複製兩份爲slave1和slave2,修改一下Ip

2.4 啓動Hadoop

一切操作都在Hadoop目錄下

最開始要初始化一下Namenode,然後會問你是否要清除所有文件云云,按Y就行

./bin/hdfs namenode -format my_hadoop

在master節點上啓動Namenode和ResourceManager

./sbin/hadoop-daemon.sh --script hdfs start namenode
./sbin/yarn-daemon.sh start resourcemanager

在兩個slave節點上啓動Datanode和NodeManager

./sbin/hadoop-daemon.sh --script hdfs start datanode
./sbin/yarn-daemon.sh start nodemanager

最後在瀏覽器看一下master:50070,結果打不開,這是因爲防火牆的問題,簡單粗暴地關掉防火牆

sudo chkconfig iptables off
sudo service iptables stop

現在網頁可以打開了

3 Windows客戶端搭建

對我這種菜鳥在Linux環境開發Java程序很痛苦,所以配一個Windows客戶端

直接把服務器上的hadoop打個包,用xshell下載下來

tar -cf hadoop.tar hadoop
sudo yum install lrzsz
sz hadoop.tar

Windows下也需要配置一些環境變量,如圖,目錄按照自己的來就好 

 在這個網址下載Hadoop的Windows版命令包https://github.com/steveloughran/winutils,我下的2.6.4可以用,把bin裏面的覆蓋到hadoop/bin

在cmd裏面執行幾條命令試一下

C:\Users\Lenovo>hadoop fs -mkdir /test  //在hdfs新建一個test目錄
C:\Users\Lenovo>hadoop fs -copyFromLocal test.txt /test/test.txt  //把本地一個test.txt傳到hdfs
C:\Users\Lenovo>hadoop fs -ls /test  //查看test目錄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章