hadoop环境搭建之伪分布集群环境搭建(单节点)
首先,尼瑪哥是一名研究生,可以說很多學習的知識都是來源于同門師兄弟,本著將自己學習到的東西以博客的形式分享到網絡上,不僅僅可以讓自己回顧,也可以幫助需要學習的小伙伴們,供大家一同學習。
首先,hadoop 環境的搭建需要在linux的環境下,那么,現在,咱們需要將linux的基本網絡設置已經配置完畢,注意,每一次配置完成,建議要給系統做一個快照,以免不必要的情況發生后,整個系統都崩盤,這時候就后悔莫及了~
廢話不多說,開始講解如何搭建單節點的hadoop 偽分布集群
開始前請大家注意了:linux 的操作系統,默認主機名為localhost,此處尼瑪哥一直是以localhost 進行講解,但是大家在學習安裝偽分布單節點的hadoop過程當中,注意修改localhost的名字,不然在最后的集群運行當中會出錯,和系統本身的 127.0.0.1 ?對應的localhost 的IP 產生沖突,導致最后無法實現集群搭建!
首先:hadoop 偽分布環境搭建分為三大步
一?.JDK 安裝
二.SSH 配置
三.hadoop 環境配置
以centos 6.5為例來安裝,咱們現在安裝一個nimi 桌面版本~ ? ? ? ? ?咱們先將linux的網絡配置設置好,(linux的安裝在我的博客當中可以找到),設置為靜態IP ,便于以后添加多個節點使用~ 剛剛安裝好的linux他的系統IP 并沒有配置好,那么,咱們先配置靜態IP?
利用 命令#vi ?/etc/sysconfig/network-scripts/ifcfg-eth0 進入了vi 編輯界面,咱們需要再根據VMware ?Workstation中的設置進行配置靜態IP?
根據,上圖,咱們知道了,IP 是在192.168.159.2這個網關當中的,那么,接下來,咱們開始配置靜態IP , 輸入:x保存并退出。
OK ,靜態IP 配置完成了, ? ? ? ? ? ? ? ? ? ? ?接下來,咱們利用命令:# service ?network restart 使網路服務重新啟動 ? ? ? ? ? ? ? ? ? ? ?用命令 :# ifconfig ?查看ip 是否修改完成,并且 ? ? ? ? ? ? ? ? ? ? ?用命令:# ping www.baidu.com? ?檢查是否已經成功連接上網絡。
接下來,基本的網絡配置已經完成了,咱們給linux系統來個快照,以便進行接下來的步驟時出現什么錯誤,哈哈哈,保險要緊~ ok !,咱們最基本的linux設置已經完成了喲~接下來,就是開始環境搭建3大步驟了 第一:JDK安裝和環境變量配置 1.檢查linux 系統當種的JDK 是否已經安裝了 利用命令:# java ?-version?
上圖顯示得是,jdk 已經成功安裝了。 2.接下來,咱們看看 centos 的位數 利用命令# file ?/bin/ls ? 3.切換至 usr/文件夾當中,創建一個Java/ 目錄 利用命令:# cd / ? ? ? ? ? ? ? ?? # ls? ??# cd usr/ ?#mkdir java? ? ???#cd java/ ? ? ? ? ? ? ? ??#ls
4.上傳已經下載到本地的文件 ?jdk-7u79-linux-x64.tar.gz ?(我會上傳到我的文件當中,供大家下載) 當然,有時候 rz命令并未安裝,這時候,咱們就可以選用yum 命令來安裝,介紹下,yum 命令是在連接了網絡的情況下使用的。所以之前,咱們配置好了網絡設置,現在就起作用了! 利用命令:#yum -y install lrzsz?
好了,rz 安裝好了,接下來就是從本地添加文件了 利用命令:#rz?
咱們選中了文件后,就會自動上傳到centos 系統當中 檢查一下,文件是否已經上傳到java目錄當中 命令:# ls ? 可以確認,java 當中,已經存在了我們需要的tar.gz文件 5.解壓已經上傳的壓縮文件。 利用命令: # tar ?-zxvf ??jdk-7u79-linux-x64.tar.gz 檢查文件是否已經壓縮成功;# ls
6.接下來,咱們開始配置JDK 的環境變量 利用命令:
#cd /etc/profile.d
#ls
在profile.d文件夾通過Vi命令生成一個java.sh 文件
#vi java.sh
在 Java.sh 文件中,咱們需要設置的是這些
JAVA_HOME=/usr/java/jdk1.7.0_79
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/lib:$CLASSPATH
export JAVA_HOME PATH CLASSPATH
wq保存退出
7. 利用命令 #source /etc/profile.d/java.sh?使剛才的配置文件生效
8.利用命令#vi /etc/hosts ,來修改hosts文件,但是需要知道虛擬機配置的靜態IP ,前邊我們已經配置過,
是 192.168.159.22 ?locahost (你的主機的名字,在安裝linux的時候,已經自己起名過,博主起的名字是kkc,而在此處是localhost,大家需要注意,不能和 127.0.0.1 localhost 重名,這樣最后會導致出錯)
9.接下來,咱們創建一個專門的hadoop的用戶組,利用一下命令
#groupadd hadoop ? ? ?創建hadoop用戶組
#useradd -g hadoop hadoop ? ?新建hadoop用戶并增加到hadoop用戶組中
#passwd hadoop???? hadoop用戶密碼,為hadoop
10、Hadoop使用端口比較多,建議關閉防火墻避免出現不必要的問題,生產環境中可以對相應端口做安全控制。先需要關閉防火墻
Centos6.5自帶防火墻是iptables防火墻,沒有firewall防火墻。
通過命令:#service iptables status ? ? 查看防火墻狀態
通過命令關閉防火墻:
(1)#chkconfig iptables off??這種方式是永久性關閉,系統重啟后不會復原。
(2)#service iptables stop這種方式是即時生效,系統重啟后會復原。
咱們使用命令1 ,但是,需要重新啟動, 為了方便,不用關機,咱們1,2命令同時,可以再虛擬機運行過程中關閉防火墻。
使用完命令后,咱們檢查一下,防火墻是否關閉
第二 、SSH 配置!
1 配置SSH實現無密碼驗證配置,首先切換到剛創建的hadoop用戶下。
由于hadoop需要無密碼登錄作為datanode的節點。
部署單節點的時候,當前節點既是namenode又是datanode,所以此時需要生成無密碼登錄的ssh。方法如下:
#su hadoop
#cd
2 、創建.ssh目錄,生成密鑰
#mkdir .ssh
#ssh-keygen -t rsa? ?注意,ssh與keygen之間是沒有空格的,中間的詢問部分,咱們用回車跳過,相當于設置免密碼登錄
3 、切換到.ssh目錄下,進行查看公鑰和私鑰
#cd .ssh
#ls
4、將公鑰復制到日志文件里。查看是否復制成功
#cp id_rsa.pub authorized_keys?????????????
#ls
5、查看日記文件具體內容
#vi authorized_keys
6、退回到/home/hadoop/,來賦予權限
#cd ..
#chmod 700 .ssh ? ? ? ? ?將.ssh文件夾的權限賦予700
#chmod 600 .ssh/*????? 將.ssh文件夾里面的文件(id_rsa、id_rsa.pub、authorized_keys)的權限
賦予600
7、切換到root用戶下,安裝ssh插件(openssh)
#su root
#yum -y install openssh-clients
8、切換到/home/hadoop/,測試ssh無密碼訪問
#su hadoop
#ssh localhost
#yes
三.hadoop 環境配置 接下來,到了關鍵的步驟了,搭建hadoop偽分布式環境 下載并解壓Hadoop2.2.0,把文件放到/usr/java/目錄下,注意:下載前確認一下你的Linux系統是64位系統還是32位系統,分別下載對應的版本,如果下載錯了,后面會有很多問題 當然,這個文件,已經下載到了本地,接下來,我們將利用rz命令將文件上傳到虛擬機當中
1.
首先,切換到/usr/java/ ,再切換到root用戶下,再 /root/java
#cd /usr/java
#su root
2、用rz命令從Windows來上傳hadoop-2.2.0-x64.tar.gz到/usr/java/下。
#rz
3、查看上傳好的hadoop-2.2.0-x64.tar.gz,并解壓
#ls
#tar axvf hadoop-2.2.0-x64.tar.gz
4、將文件名hadoop-2.2.0修改為hadoop,并查看
#mv hadoop-2.2.0 hadoop
#ls
將剛改名的hadoop文件,權限賦給hadoop用戶,并查看權限
#chown -R hadoop:hadoop hadoop
#ls -l?5、創建一個hadoop數據目錄 ,將整個data目錄權限賦予給hadoop用戶
#mkdir -p /data/dfs/name
#mkdir -p /data/dfs/data
#mkdir -p /data/tmp
#chown -R ?hadoop:hadoop ?hadoop ?/data
?#ls -l ?/data6、修改hadoop對應的配置文件
切換到hadoop用戶,切換到hadoop目錄
#su hadoop
#cd hadoop
查看下etc/hadoop的配置文件
#cd etc/
#ls
#cd hadoop/
#ls
7.接下來的步驟,需要十分仔細,是修改hadoop的配置文件了!會盡量詳細的解釋下這些文件的用處以及如何配置首先,修改etc/hadoop/core-site.xml配置文件,添加如下信息
#vi core-site.xml
(1)配置HDFS(hadoop)的分布式文件系統的地址及端口號
<property>
??????????????? <name>fs.defaultFS</name>
??????????????? <value>hdfs://localhost:9000</value> ? ? ? ? ?<!-- ? 注意,本機的名稱localhost需要大家更改-->
</property>
(2)配置HDFS路徑的存放數據的公共目錄<property>
??????????????? <name>hadoop.tmp.dir</name>
??????????????? <value>file:/data/tmp</value>
?</property>
(3)注意:由于在hadoop1.0中引入了安全機制,所以從客戶端發出的作業提交者全變成了hadoop,不管原始提交者是哪個用戶,為了解決該問題,引入了安全違章功能,允許一個超級用戶來代替其他用戶來提交作業或者執行命令,而對外來看,執行者仍然是普通用戶。
配置設置為任意客戶端
<property>
??????????????? <name>hadoop.proxyuser.hadoop.hosts</name>
??????????????? <value>*</value>
?</property>
配置設為任意用戶組
?<property>
??????????????? <name>hadoop.proxyuser.hadoop.groups</name>
??????????????? <value>*</value>
</property>
#wq 保存退出!
8.修改etc/hadoop/hdfs-site.xml配置文件,添加信息。
通過命令 #vi hdfs-site.xml
(1)配置namenode文件目錄
<property>
??????????????? <name>dfs.namenode.name.dir</name>
??????????????? <value>/data/dfs/name</value>
??????????????? <final>true</final>
</property>
(2)配置datanode文件目錄
<property>
??????????????? <name>dfs.datanode.data.dir</name>
??????????????? <value>/data/dfs/data</value>
??????????????? <final>true</final>
</property>
(3)配置數據塊副本和HDFS權限
?<property>
??????????????? <name>dfs.replication</name>
??????????????? <value>1</value>
?</property>
?<property>
??????????????? <name>dfs.permissions</name>
??????????????? <value>false</value>
?</property>
#wq保存并退出
9、修改etc/hadoop/mapred-site.xml配置文件,添加如下信息。
#cp mapred-site.xml.template mapred-site.xml
#vi mapred-site.xml
配置mapreduce環境為yarn
?<property>
??????????????? <name>mapreduce.framework.name</name>
??????????????? <value>yarn</value>
?</property>
#wq保存退出
10 、修改etc/hadoop/yarn-site.xml配置文件。
#vi yarn-site.xml
為了能夠運行mapreduce程序,我們需要讓.nodemanger在啟動時加載shuffle。
所以需要下面設置
<property>
??????????????? <name>yarn.nodemanager.aux-services</name>
??????????????? <value>mapreduce_shuffle</value>
</property>
#wq 保存退出
11、修改etc/hadoop/slaves,添加如下信息。即slaves文件
#vi slaves
現在是偽分布式單節點集群,所以datanode和namedata在一個節點上。
12、設置總結 : jdk環境變量配置是放在/etc/profile.d??? hadoop環境變量配置是放在/etc/profileHadoop環境變量
切換到root用戶下,修改/etc/profile文件
#su root
不是HADOOP_HOME=/usr/java/hadoop-2.2.0? ,因為前面更改名字了
#wq 保存并退出
注意 : jdk環境變量配置是放在/etc/profile.d??? hadoop環境變量配置是放在/etc/profile
13、使配置文件生效
#source /etc/profile
第四、測試hadoop運行
? ? ?
1、切換到hadoop用戶,退回到hadoop目錄下。
#su hadoop
#cd ..
#cd ..
#ls
2、格式化namenode
#bin/hadoop namenode ?-format
3 啟動集群(每次開機時候,都要啟動)
#sbin/start-all.sh?
4、查看集群進程
#jps
5.打開本地的hosts文件,修改設置,然后,保存,退出。
添加 ?192.168.159.22 ?localhost(注意,你們的電腦的用戶名稱是什么,就相應的寫什么,比如,博主的是 kkc ) ?到其中
7、 最后,現在是來驗證hadoop是否安裝成功
在Windows上可以通過 http://localhost:50070 訪問WebUI來查看NameNode,集群、文件系統的狀態。這里是HDFS的Web頁面
由于,博主的電腦設置的http//kkc:50070 ?
OK ,單節點的環境搭建成功!
參考博客------好記性不如爛筆頭!
轉載于:https://www.cnblogs.com/DeepRunning/p/9206027.html
總結
以上是生活随笔為你收集整理的hadoop环境搭建之伪分布集群环境搭建(单节点)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SqlServer 行转列
- 下一篇: 配置管理篇(0)_SaltStack 安