本平臺密碼83953588abcjava
mkdir /usr/local/java cp /cgsrc/jdk-8u171-linux-x64.tar.gz /usr/local/java/
JDK至少1.8以上!!!node
cd /usr/local/java tar -zxvf jdk-8u171-linux-x64.tar.gz rm -f jdk-8u171-linux-x64.tar.gz
配置JAVA_HOME環境變量。修改文件vim ~/.bashrc
linux
export JAVA_HOME=/usr/local/java/jdk1.8.0_171 export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar export PATH=$PATH:${JAVA_HOME}/bin
若是PATH環境變量修改錯誤,則可能出現Linux經常使用命令沒法找到的現象!!!
使修改環境生效,source ~/.bashrc
.
檢查是否設置正確.web
echo $JAVA_HOME #檢查變量值 java -version #查看java版本
選定一臺機器做爲名稱節點(Master),另外兩條做爲數據節點(Slave)。vim
在Master上修改/etc/hosts
文件:
使用命令vim /etc/hosts
centos
ip1 master ip2 slave1 ip3 slave2
測試節點之間是否已經聯通:bash
ping master -c 3 ping slave1 -c 3 ping slave2 -c 3
cd ~/.ssh #若是沒有該目錄,先執行一次ssh localhost rm -f ./id_rsa* #刪除以前生成的公匙 ssh-keygen -t rsa #執行該命令後,遇到提示信息,均按Enter便可。
爲了讓master節點能無密碼SSH登陸到本機,須要在mater節點上執行以下 cat ./id_rsa.pub >> ./authorized_keys
.
檢測是否成功,ssh master
,遇到提示信息,yes
便可, exit
退出。
app
把master上的公匙傳輸到slave節點:ssh
scp ~/.ssh/id_rsa.pub root@slave1:/root scp ~/.ssh/id_rsa.pub root@slave1:/root
其中本次實驗平臺,要把slave一、slave2換成相應的IP。webapp
mkdir ~/.ssh cat ~/id_rsa.pub >> ~/.ssh/authoried_keys rm -f ~/id_rsa.pub
將Hadoop安裝包複製到/usr/local
目錄上:
cp /cgsrc/hadoop-2.7.1.tar.gz /usr/local/
解壓
cd /usr/local tar -zxvf hadoop-2.7.1.tar.gz rm -f hadoop-2.7.1.tar.gz mv hadoop-2.7.1/ hadoop #將hadoop-2.7.1重命名爲hadoop
~/.bashrc
文件 vim ~/.bashrc
export PATH=$PATH:/usr/1ocal/hadoop/bin:/usr/1ocal/hadoop/sbin
source ~/.bashrc
hadoop version
配置集羣環境時,須要修改/usr/local/hadoop/etc/hadoop目錄下的配置文件,這裏僅設置正常啓動必須的設置項,包括slaves、core-site.xml、hdfs
-site.xml、mapred-site.xml、yarn-site.xml共五個文件。
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/1ocal/hadoop/tmp</value> </property> </configuration>
<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>master:50090</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/1ocal/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/1ocal/hadoop/tmp/dfs/date</value> </property> </configuration>
cp mapred-site.xml.template mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master:19888</value> </property> </configuration>
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
將master節點上的/usr/local/hadoop
複製到slave節點上。
cd /usr/local rm -rf ./hadoop/tmp #刪除臨時文件 rm -rf ./hadoop/1ogs/* #刪除日誌文件 tar -zcf ~/hadoop.master.tar.gz. /hadoop #先壓縮再複製 cd ~ scp ./hadoop.master.tar.gz root@slave1: /root scp ./hadoop.master.tar.gz root@slave2: /root
在slave1和slave2上執行以下命令:
rm -rf usr/local/hadoop #若是有舊文件則先刪除 tar -zxf ~/hadoop.master.tar.gz -C /usr/1ocal rm -f ~/hadoop.master.tar.gz
master
節點執行名稱節點的格式化:hdfs namenode-format
start-dfs.sh start-yarn.sh mr-jobhistory-daemon.sh start historyserver