@
Hadoop 核心框架是HDFS和mapreduce,hdfs負責存儲,mapreduce負責處理。
在阿里雲建立實例后,建議使用xshell軟件連接阿里雲,xftp傳輸文件,具體方法可自行搜索。
在這里我開了兩個的阿里雲實例,系統是centos7.4,因為是第一次用,所以用兩個進行實驗。一個用作NameNode(存儲元數據--數據的數據,管理DataNode)master,另一個作為DataNode(存儲數據)slave。
首先是都下載java,建議直接到Oracle官網下載linux版本的java利用xftp直接上傳到服務器上,然后進入想安裝的文件夾,我安裝在了/opt下(每個節點都要搞):
cd /opt mkdir java tar -zxvf ...
然后配置環境變量 vim /etc/profile :
保存退出,然后 source /etc/profile ,使設置生效。
輸入 java -version 驗證一下。
然后修改hosts文件(每個節點都要搞):
上面兩行是默認的,注釋掉了。前面寫ip,后面是hostname,master上ping slave測試:
然后是創建hadoop用戶,安裝Hadoop(每個節點都要搞):
useradd hadoop && echo hadoop | passwd --stdin hadoop
echo "hadoopALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
su - hadoop
cd /usr/local/src/
wget 。。。(Hadoop下載地址填到。。。這里)
sudo tar zxvf hadoop-2.7.3.tar.gz -C /home/hadoop/ && cd /home/hadoop
sudo mv hadoop-2.7.3/ hadoop
sudo chown -R hadoop:hadoop hadoop/
配置環境變量(每個節點):
創建Hadoop相關目錄:
接着是進行SSH配置,設置master節點免密登錄其他節點:
ssh-keygen -t rsa
ssh-copy-id slave
然后測試一下:ssh slave
修改hadoop配置文件:
cd hadoop/etc/hadoop/
egrep JAVA_HOME hadoop-env.sh
export JAVA_HOME=....
grep JAVA_HOME yarn-env.sh
export JAVA_HOME=....
修改slaves文件
里面寫入slave 的hostname
修改core-site.xml
修改hdfs-site.xml
修改mapred-site.xml:
配置節點yarn-site.xml:
復制到其它節點:
scp -r /home/hadoop/hadoop/ (slave的ip):/home/hadoop/
格式化namenode:hdfs namenode –format
啟動和停止hadoop:
/home/hadoop/hadoop/sbin/start-dfs.sh
/home/hadoop/hadoop/sbin/stop-dfs.sh
啟動yarn分布式計算框架:
/home/hadoop/hadoop/sbin/start-yarn.sh star
/home/hadoop/hadoop/sbin/stop-all.sh停止
啟動jobhistory服務,查看mapreduce狀態:
/home/hadoop/hadoop/sbin/mr-jobhistory-daemon.sh start historyserver
starting historyserver, logging to /home/hadoop/hadoop/logs/mapred-h
查看hdfs狀態:
/home/hadoop/hadoop/bin/hdfs dfsadmin –report
lynx查看hdfs:
完成后可以去測試一下,使用pi,wordcount以及Terasort。