1、下載並安裝Centos 7html
傳送門:https://www.centos.org/download/java
注:下載DVD ISO鏡像node
這裏詳解一下VMware安裝中的兩個過程linux
網卡配置web
是Additional search domains:8.8.4.4也是谷歌提供的免費DNS服務器Ip地址apache
2、SecureCRT遠程操控vim
ping www.baidu.com 發現slave1,2不通,而master能夠ping通,查看master配置,發現兩個從機少了一些配置。 centos
安裝vim:yum install vim-enhanced服務器
分別修改配置:vim /etc/sysconfig/network 增長"nameserver 192.168.200.2"oracle
再ping 發現問題解決
三臺機器分別執行:vim /etc/sysconfig/network 像下圖這樣進行配置
三臺機器分別執行:vim /etc/hosts 配置內容相同,增長
192.168.200.130 master
192.168.200.120 slave1
192.168.200.110 slave2
vi /etc/sysconfig/network-scripts/ifcfg-ens33
將dhcp 換位static 靜態ip
systemctl restart network.service
以後重啓並執行ping驗證 ping master/ping slave1/ping slave2
3、下載安裝jdk配置環境變量
傳送門:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
注:下載的是 jdk-8u191-linux-x64.tar.gz
在home文件加下新建文件夾hadoop,上傳本地jdk文件至該目錄中yum install lrzsz rz爲上傳指令
由於我安裝的centos7 爲minimal版,若爲其餘版本例如圖形界面版則需卸載本地jdk後再解壓配置本身下載的jdk,可參考:https://www.cnblogs.com/sxdcgaq8080/p/7492426.html 前兩個步驟。
解壓 [root@master hadoop]# tar -zxvf jdk-8u191-linux-x64.tar.gz
配置java環境變量:vim /etc/profile
export JAVA_HOME=/home/hadoop/jdk1.8.0_191
export PATH=$PATH:$JAVA_HOME/bin
刷新配置:source /etc/profile
驗證 java/javac/java -version
4、免祕鑰登陸操做——以master主機爲例
第一步:ssh-keygen -t dsa
第二步:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
第三步:在~/.ssh目錄下執行 scp authorized_keys root@192.168.200.120:~/.ssh/和scp authorized_keys root@192.168.200.120:~/.ssh/分別將受權文件複製給slave1,slave2
一樣的三步驟要分別在slave1,slave2上執行,以後查看三臺主機的authorized_keys:
看懂沒?
5、下載安裝徹底分佈式hadoop
注:下載二進制binary版本 傳送門:http://hadoop.apache.org/releases.html
[root@slave2 hadoop]# tar -axvf hadoop-2.8.5.tar.gz
在/home/hadoop/hadoop-2.8.5/etc/hadoop下面要進行七項配置:
配置1:vim hadoop-env.sh
export JAVA_HOME=/home/hadoop/jdk1.8.0_191
配置2:vim yarn-env.sh
export JAVA_HOME=/home/hadoop/jdk1.8.0_191
配置3:vim slaves
配置4:vim core-site.xml
1 <property> 2 <name>fs.defaultFS</name> 3 <value>hdfs://master:9000</value> 4 </property> 5 <property> 6 <name>hadoop.tmp.dir</name> 7 <value>/home/hadoop/hadoop-2.8.5/tmp</value> 8 </property>
配置5:vim hdfs-site.xml
1 <property> 2 <name>dfs.replication</name> 3 <value>2</value> 4 </property> 5 <property> 6 <name>dfs.secondary.http.address</name> 7 <value>master:50090</value> 8 </property>
配置6:mapred-site.xml是不存在的因此須要複製一份,怎麼作呢? mv mapred-site.xml.template mapred-site.xml
1 <property> 2 <name>mapreduce.framework.name</name> 3 <value>yarn</value> 4 </property>
配置7:vim yarn-site.xml
1 <property> 2 <name>yarn.resourcemanager.hostname</name> 3 <value>master</value> 4 </property> 5 <property> 6 <name>yarn.nodemanager.aux-services</name> 7 <value>mapreduce_shuffle</value> 8 </property>
6、將配置好的hadoop複製到另外兩臺機器
1 scp -r /home/hadoop/hadoop-2.8.5 slave1:/home/hadoop/ 2 scp -r /home/hadoop/hadoop-2.8.5 slave2:/home/hadoop/
七 、配置 bin、sbin路徑
1 vim /etc/profile 2 3 export JAVA_HOME=/home/hadoop/jdk1.8.0_191 4 5 export HADOOP_HOME=/home/hadoop/hadoop-2.8.5 6 7 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
8、重啓並測試
1 hdfs namenode -format 2 start-dfs.sh
SUCCESS!
目前這篇隨筆更像是什麼都不懂的外行人按照博客以及本身的實踐從頭至尾跑下來的成功案例,本人羞愧的說也確實這樣。至於其中的衆多道理我還不怎麼懂,我會在從此不斷維護這篇博客,讓其更有料,讓其徹底成爲本身肚子裏的知識。
[2018.11.27更新 新增了測試wordcount] 若是想測試hadoop 自帶wordcount例子,參考這篇 https://blog.csdn.net/hliq5399/article/details/78193113 對應部分就行了,先建立本地輸入文件,建立dfs上輸出文件,執行就ok
刪除自帶jdk rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64 rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64 rpm -e --nodeps java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64 永久修改主機名 hostnamectl set-hostname centos7 su hostname 配置host vim /etc/hosts 關閉防火牆 systemctl status firewalld.service systemctl stop firewalld.service systemctl disable firewalld.service 關閉selinux vim /etc/sysconfig/selinux 配置jdk環境變量 vim /etc/profile 修改完則個文件後必定要執行一條指令使配置生效source /etc/profile export JAVA_HOME=/opt/modules/jdk1.8.0_191 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH 配置hadoop環境變量 vim /etc/profile export HADOOP_HOME=/opt/modules/hadoop-2.5.8 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH source /etc/profile 進入/opt/modules/hadoop-2.8.5/etc/hadoop進行一些配置 vim hadoop-env.sh vim core-site.xml <property> <name>fs.defaultFS</name> <value>hdfs://centos7:8020</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/data/tmp</value> </property> vim hdfs-site.xml <property> <name>dfs.replication</name> <value>1</value> </property> 格式化hdfs [root@centos7 hadoop-2.8.5]# bin/hdfs namenode -format 查看有無dfs文件夾 ls /opt/data/tmp ll /opt/data/tmp/dfs/name/current cat /opt/data/tmp/dfs/name/current/VERSION 執行當前目錄下的命令要以./xxx的形式 啓動namenode /opt/modules/hadoop-2.8.5/sbin ./hadoop-daemon.sh start namenode 啓動datanode ./hadoop-daemon.sh start datanode 啓動secondarynamenode ./hadoop-daemon.sh start secondarynamenode jps查看啓動狀況 HDFS上測試建立目錄、上傳、下載文件 建立目錄 在/opt/modules/hadoop-2.8.5/bin目錄下 ./hdfs dfs -mkdir /demo ./hdfs dfs -put 待上傳文件路徑 /demo ./hdfs dfs -cat 待讀取文件 ./hdfs dfs -get 下載 不存在的複製一份模板 配置mapred-site.xml cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> 配置yarn-site.xml <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>centos7</value> </property> 在/opt/modules/hadoop-2.8.5目錄下 啓動resourcemanager sbin/yarn-daemon.sh start resourcemanager 啓動nodemanager sbin/yarn-daemon.sh start nodemanager jps查看啓動狀況 查看yarn web頁面 http://192.168.200.134:8088/cluster 運行Mapreduce job 建立測試用Input文件bin/hdfs dfs -mkdir -p /wordcountdemo/input 本地/opt/data目錄建立一個文件wc.input內容爲 hadoop mapreduce hive hbase spark storm sqoop hadoop hive spark hadoop 上傳 bin/hdfs dfs -put /opt/data/wc.input /wordcountdemo/input 運行WordCount MapReduce Job [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar wordcount /wordcountdemo/input /wordcountdemo/output 查看輸出結果目錄 bin/hdfs dfs -ls /wordcountdemo/output 查看輸出文件內容 bin/hdfs dfs -cat /wordcountdemo/output/part-r-00000
我貼上整個過程用到的命令
參考文章:https://www.cnblogs.com/biehongli/p/7640469.html 感謝該做者~
https://blog.csdn.net/hliq5399/article/details/78193113 感謝該做者~