從零開始配置hadoop集群環境
一張圖了解hadoop集群環境架構
(其它廢話我就不多說了,直接上)
這裡在VMware裝liunx(rhel-server-6.4,一定要注意是liunx版本是6的)虛擬機我就不多說了,需要的留言,有必的話留要的話我會另寫一篇文章在VMware裝liunx虛擬機。
1.配置網路和計算機名字1) 關閉防火牆和selinux
2) 配置計算機網路
內容如下:加//的表示要修改的地方 沒有的自己加進去
DEVICE=eth0
HWADDR=00:0C:29:57:A1:42
TYPE=Ethernet
ONBOOT=yes //
NM_CONTROLLED=no//關閉,yes表示修改後不必重啟網卡立刻生效。會帶來隱患
BOOTPROTO=static //靜態分配ip,不要用DHCP分配
IPADDR=172.16.100.101 //
GATEWAY=172.16.100.2 //
重啟網卡
測試:查看ip
如圖:
此時你在本地ping虛擬機時候還是ping不通的,看下一步。
3) 配置vmware的網卡
這裡網關ip必須與/etc/sysconfig/network-scripts/ifcfg-eth0中的GATEWAY的ip一致。
如果本虛擬機是克隆的,查看一下配置的mac地址和虛擬機分配的mac地址是否一致
這裡如果還是ping不同那就要到本地網路里去重啟一下VMnet8網路。
NAT方式如果仍然上不去網另留言。
4) 配置計算機名字
臨時修改
永久修改(需要重啟,如果執行了臨時修改,不需要重啟)
2 安裝JDK和Hadoop
JDK和Hadoop包百度雲鏈接:https://pan.baidu.com/s/1pLEAAa3 密碼:gymn
2.1 安裝jdk1.7.0.71
卸載舊的jdk
執行命令顯示內容如下:
java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.i686
java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.i686
卸載jdk:
如圖:
2、 安裝新的jdk,要求1.7以上版本(從現在開始我使用xshell工具鏈接虛擬機不用進入虛擬機裡面操作了)。
這裡要裝VMware tool 工具才能將文件往虛擬機拖,不過上面你要是網路配通了,可以使用winscp/xftp工具將文件上傳到虛擬機上,在這我就不說明了,這裡我將文件上傳到了/opt目錄中。
進入opt目錄
執行安裝:
3、 配置jdk環境變數
修改/etc/profile
shell> vim /etc/profile
在末尾加入:
進入終端,輸入 source /etc/profile 使剛剛修改的環境變數生效。
測試是否成功:
2.2 創建用戶hduser和組hadoop
shell>passwd hduser
修改vim /etc/sudoers,為hduser增加sudo許可權
輸入密碼,使用root許可權才可以更改此文件。
大概在99行,添加內容:
重啟
重啟,切換到hduser登陸
2.3 安裝hadoop2.6.0
以後的身份用hduser,如果涉及到許可權不夠,用sudo
先通過vmtools或winscp/xftp把hadoop-2.6.0.tar.gz傳到linux的/home/hduser中
解壓:
shell>tar xvzf hadoop-2.6.0.tar.gz
改名:
shell>mv hadoop-2.6.0 hadoop-2.6
2.4 配置hadoop的環境變數
shell>vim /etc/profile
在末尾加入下面環境:
export HADOOP_HOME=/home/hduser/hadoop-2.6
export PATH=.:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
進入終端,輸入 shell>source /etc/profile 使剛剛修改的環境變數生效
測試hadoop是否安裝成功
shell>hadoop version
如圖:
看到圖片信息即可安裝成功。
3 安裝ssh
1) 生成公鑰和私鑰
2) 在本機進行免密碼登陸
測試,輸入:
如果不需要密碼則正確
4 配置完全分散式4.1 配置host映射文件
修改shell>sudo vim /etc/hosts文件,做ip和主機名映射
修改本機的主機名為hfbin1
4.2 克隆兩台虛擬機,修改主機名和ip(注意mac地址)
1) 克隆兩台虛擬機,分別是hfbin2和hfbin3
然後一直點下一步,下一步,然後選擇「完整克隆」,之後選擇存放目錄,再點完成。
2)修改主機(ip和mac地址)
主機:
ip:
mac: 還是在上面的文件中修改mac地址,要和vmware分配的一樣。
克隆後的虛擬機,如果ip沒有發現,先重啟,還不行,執行以下步驟:
1、 刪除文件 shell>rm -rf /etc/udev/rules.d/70-persistent-net.rules
2、 修改hwaddr為實際的mac地址。shell>vim /etc/sysconfig/network-scripts/ifcfg-eth0
3、 shell>reboot重啟
4.3 設置ssh免登陸到其它主機
把hfbin1的公鑰複製到hfbin2和 hfbin3中,這樣hfbin1可以免登錄到其它兩台主機上。
測試,在hfbin1輸入:
如果不需要密碼則正確(注意進入hfbin2或hfbin3想退出可以用shell>exit ,即可)
4.4 修改hadoop的七個配置文件
這裡只對hfbin1進行更改,hfbin2和hfbin3等一下直接copy進去即可。
以下7個文件在hadoop的安裝目錄的etc下,也就是~/hadoop-2.6/etc/hadoop下
1)Hadoop的環境配置,我們主要配置一下JDK路徑。
修改下面內容
2)Yarn框架環境配置,也要指定JDK路徑。
修改下面內容
3) 增加slave節點,也就是DateNode節點。
刪除所有,加入下面內容
4)Hdoop的全局配置。例如:客戶端連接HDFS時,路徑前綴和工作埠。
在configuration標籤里加入下面內容:
5)HDFS的配置
在configuration標籤里加入下面內容:
6)Mapreduce的配置
在configuration標籤里加入下面內容:
7)Yarn框架的配置Hadoop集群測試
在configuration標籤里加入下面內容:
複製7個文件到hfbin2和hfbin3
4.5 驗證hadoop配置是否正確
1、 格式化master(namenode)的文件系統
註:如果已經格式化後,重新格式化,需要刪除172.16.100.101、172.16.100.102、172.16.100.103節點的此目錄下的文件:/home/hduser/hadoop-2.6/dfs
2、 啟動dfs
如果出現WARN util.NativeCodeLoader: Unable:: to load native-hadoop library….
解決:在shell>vim /home/hduser/hadoop-2.6/etc/hadoop/log4j.properties文件中末尾添加
3、 輸入 jps查看進程
4、 啟動yarn
5、 查看集群狀態
6、 在瀏覽中查看dfs的運行狀態
7、 停止hadoop
4.6 運行例子wordcount
該例子為hadoop自帶例子,統計出所有文件的單詞的詞頻。
如圖:
1) 創建文件file1和file2(放到目錄/home/hduser/file)
2) 啟動hdfs,並且創建hdfs目錄 /input3
3) 把file1和file2放到hdfs的目錄/input2/中。
4) 查看hdfs中是否有file和file2
5) 運行命令
6) 查看輸出文件
後續我會寫一篇關於hdfs命令的使用方法
目前到這hdoop集群搭建就完畢了
有什麼問題在下面留言即可
※沒point廚房 烤乳酪三明治
※雷卡米埃夫人像——孩子必須了解的100幅世界名畫
TAG:全球大搜羅 |