下載軟件:
VMware workstation CentOS 鏡像html
具體過程可見:安裝虛擬機java
下載軟件並安裝
Xshell6(登錄到遠程的虛擬機) http://www.netsarang.com/products/xsh_overview.html
xftp6 (遠程文件傳輸) http://www.netsarang.com/products/xfp_overview.htmlnode
注:6是版本號
(1)打開Xshell
(2)輸入會話名稱和ip地址
在右下角的位置將虛擬機的網絡鏈接改成橋接模式且選中「複製網絡鏈接狀態」搭建起局域網
重啓網絡 service network restart
查看IP地址:ifconfig
輸入會話名稱(自定義)和主機(ip地址),點擊肯定linux
(3)點擊新建的會話在輸入的對話框中輸入密碼
注意編碼格式爲utf-8
(4)、點擊工具欄上的新建文件傳輸,能夠打開xftp,進入相應的文件目錄,拖動文件便可將本機的文件傳輸到linux虛擬機上 git
(1)下載jdk,在官網下載,下載rpm的包
(2)hadoop包的下載,官網上下載
download hadoop->release->mirror site(鏡像站)->隨便選擇離本身近的(HTTP下的第一個)->選擇2.7.2->下載.tar.gz
(3)將兩個包遠程傳輸到linux虛擬機中
(4)將主機名和ip地址進行適配,讓咱們的ip地址和主機名(如bigdata)相匹配:寫到/etc/hosts裏面
vi /etc/hosts
按「i」進入插入狀態 將原有的地址註釋掉
在新的一行輸入:ip地址 主機名(如172.17.171.42 bigdata)(注:能夠雙擊xshell的窗口再打開一個鏈接窗口,能夠在新的窗口查詢ip地址並進行復制)
按「Esc」退出插入狀態
輸入:wq保存退出
修改完以後能夠輸入hostname回車,查看是否成功
reboot:重啓,使得剛剛的修改生效
(5)將包放到opt下:cp hadoop-2.7.2.tar.gz /opt/
cp jdk-8u111-linux-x64.rpm /opt/
進入opt:cd /opt/
查看opt下的文件:ll
(6)安裝jdk,配置jdk的環境變量
安裝命令:rpm -ivh jdk-Bu101-linux-x64.rpm
配置環境變量:進入profile進行編輯:vi /etc/profile
並按照上面的方式在最後寫入並保存:JAVA_HOME=/usr/java/default/(/usr/java/default/是jdk的安裝目錄)
打印JAVA_HOME檢驗是否配置好:echo $JAVA_HOME結果發現打印出來的沒有內容由於咱們對/etc/profile的修改須要經過如下命令對它生效source /etc/profile。再次輸入echo $JAVA_HOME,打印結果爲/usr/java/default/
(7)驗證jdk安裝好:java -version
(8)配置SSH(免密碼登陸)
回到根目錄:cd 安裝SSH祕鑰:ssh-keygen -t rsa會自動在/root/.shh/目錄下生成
查看目錄:ll .ssh/有兩個新生成的文件id_rsa(私鑰),id_rsa.pub(公鑰)
進入.ssh/:cd .ssh/
將公鑰寫入authorized_key中:cat id_rsa.pub >> authorized_keys
修改authorized_keys文件的權限:chmod 644 authorized_keys
修改完後退出.ssh的目錄cd進入初始目錄輸入:ssh bigdata(bigdata爲你要遠程登陸的主機名或者ip地址)第一次登陸須要確認是否須要繼續登陸輸入yes繼續登陸
退出exit
(9)安裝及配置hadoop
解壓:tar zxf hadoop-2.7.2.tar.gz
查看/opt目錄下是否已經存在解壓的文件:ll(結果爲出現hadoop-2.7.2)
繼續查看hadoop-2.7.2裏的內容:cd hadoop-2.7.2
配置HADOOP_HOME:修改/etc/profile
進入hadoop的配置文件目錄cd /opt/hadoop-2.7.2/etc/hadoop/,會用的的配置文件以下:
core-site.xml
配置hadoop的文件系統即HDFS的端口是什麼。
配置項1爲default.name,值爲hdfs://bigdata:9000(主機名:bigdata也可也寫成ip地址,端口9000習慣用)
配置項2爲hadoop臨時文件,其實就是配置一個目錄,配置完後要去建立這個目錄,不然會存在問題。
配置項3分佈式文件系統的垃圾箱,值爲4320表示3分鐘回去清理一次github
<property> <name>fs.default.name</name> <value>hdfs://bigdata:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/hadoop-2.7.2/current/tmp</value> </property> <property> <name>fs.trash.interval</name> <value>4320</value> </property>
hdfs-site.xml
配置項1,namenode的細節實際上就是一個目錄
配置項2,datanode的細節,真實環境中datanode的內容不須要再namenode的系統下配置,在此配置的緣由是咱們的系統是僞分佈式系統,namenode和datanode在一臺機器上
配置項3,副本的數量,在hdfs中每一個塊有幾個副本
配置項4,HDFS是否啓用web
配置項5,HDFS的用戶組
配置項6,HDFS的權限,如今配置爲不開啓權限web
<property> <name>dfs.namenode.name.dir</name> <value>/opt/hadoop-2.7.2/current/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/opt/hadoop-2.7.2/current/data</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> <property> <name>dfs.permissions.superusergroup</name> <value>staff</value> </property> <property> <name>dfs.permissions.enabled</name> <value>false</value> </property>
建立配置文件中不存在的目錄:mkdir -p /opt/hadoop-2.7.2/current/data
mkdir -p /opt/hadoop-2.7.2/current/dfs/name
mkdir -p /opt/hadoop-2.7.2/current/tmp
yarn-site.xml
配置項1,resourcemanager的hostname,值爲你運行的那臺機器的主機名或IP地址
配置項2,nodemanager相關的東西
配置項3,nodemanager相關的東西
配置項4,resourcemanager的端口,主機名+端口號(IP+端口)
配置項5,resourcemanager調度器的端口
配置項6,resourcemanager.resource-tracker,端口
配置項7,端口
配置項8,端口
配置項9,日誌是否啓動
配置項10,日誌保留的時間長短(以秒爲單位)
配置項11,日誌檢查的時間
配置項12,目錄
配置項13,目錄的前綴 shell
<property> <name>yarn.resourcemanager.hostname</name> <value>bigdata</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>bigdata:18040</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>bigdata:18030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>bigdata:18025</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>bigdata:18141</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>bigdata:18088</value> </property> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>86400</value> </property> <property> <name>yarn.log-aggregation.retain-check-interval-seconds</name> <value>86400</value> </property> <property> <name>yarn.nodemanager.remote-app-log-dir</name> <value>/tmp/logs</value> </property> <property> <name>yarn.nodemanager.remote-app-log-dir-suffix</name> <value>logs</value> </property>
mapred-site.xml
沒有mapred-site.xml,輸入vi mapred-按「TAB」發現有mapred-site.xml.template,對該文件進行復制
cp mapred-site.xml.template mapred-site.xml 配置項1,mapreduce的框架
配置項2,mapreduce的通訊端口
配置項3,mapreduce的做業歷史記錄端口
配置項4,mapreduce的做業歷史記錄端口
配置項5,mapreduce的做業歷史記錄已完成的日誌目錄,在hdfs上
配置項6,mapreduce中間完成狀況日誌目錄
配置項7,mapreduce的ubertask是否開啓 apache
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobtracker.http.address</name> <value>bigdata:50030</value> </property> <property> <name>mapreduce.jobhisotry.address</name> <value>bigdata:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>bigdata:19888</value> </property> <property> <name>mapreduce.jobhistory.done-dir</name> <value>/jobhistory/done</value> </property> <property> <name>mapreduce.intermediate-done-dir</name> <value>/jobhisotry/done_intermediate</value> </property> <property> <name>mapreduce.job.ubertask.enable</name> <value>true</value> </property>
slavescanvas
bigdata
hadoop-env.sh
JAVA_HOME=/usr/java/default/
格式化分佈式文件系統(hdfs):hdfs namenode -format
成功的標誌: INFO common.Storage: Storage directory /opt/hadoop-2.7.2/current/dfs/namehas been successfully formatted.
啓動Hadoop集羣:/opt/hadoop-2.7.2/sbin/start-all.sh
驗證Hadoop集羣是否正常啓動:
jps,系統中運行的java進程;
經過端口查看(關閉防火牆或者service iptables stop在防火牆的規則中開放這些端口):
http://bigdata:50070(http://http://192.168.42.209/:50070),分佈式文件系統hdfs的狀況
yarn http://bigdata:18088(http://http://192.168.42.209/:50070)
參考連接:https://ask.hellobi.com/blog/marsj/4944