因爲個人java系統是已經安裝完畢,並且是1.8版本知足hadoop要求,只要將java home 指向安裝的目錄便可
先要取得java的安裝目錄
先取得java命令路徑,命令路徑頭就是java的安裝目錄
ll了兩次都是軟連接,最後在/usr/lib...下找到了java的目錄,目錄咱們只要複製到jre便可,多了少了都報錯。
vim /etc/profile #配置java homejava
#------------------------ # properties jdk #------------------------ export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar:${JRE_HOME}/lib export PATH=${PATH}:${JAVA_HOME}/bin:${JRE_HOME}/bin
http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.1.2/hadoop-3.1.2.tar.gz
#下載地址
mkdir /hadoop/
#建立hadoop 文件夾,將上面的文件下載到該文件夾,並解壓
ln -s hadoop-3.1.2 hadoop.soft
#建立個軟鏈接文件
vim /etc/profile #配置 hadoop homenode
#--------------------------- # property hadoop #------------------------ export HADOOP_HOME=/hadoop/hadoop.soft export PATH=${PATH}:${HADOOP_HOME}/sbin:${HADOOP_HOME}/bin
source /etc/profile
#重載下配置文件
hadoop version
#執行hadoop 驗證命令,若是出現如下字符說明安裝成功了web
cd /hadoop/hadoop.soft/etc/hadoop #進入配置文件文件夾
須要修改的如下文件apache
slavesvim
hadoop-env.sh瀏覽器
yarn-en.shapp
core-site.xmlwebapp
hdfs-site.xmljvm
mapred-site.xmlide
yarn-site.xml
1.修改slaves
vim slaves
Slave1 Slave2 #兩個子節點
2.修改hadoop-env.sh,JAVA_HOME=$JAVA_HOME這一行,把它註釋掉,另外增長一行,添加內容。export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre
#添加java home的路徑
3.修改yarn-env.sh,JAVA_HOME=$JAVA_HOME這一行,把它註釋掉,另外增長一行,添加內容。export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre
4.修改core-site.xml,在<configuration> </configuration>之間添加內容。
<property> <name>hadoop.tmp.dir</name> <value>/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.default.name</name> <value>hdfs://Master:9000</value> #這裏填主機的host </property>
5.修改hdfs-site.xml,一樣在<configuration></configuration>之間添加內容。
<property> <name>dfs.namenode.secondary.http-address</name> <value>Master:9001</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/hadoop/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/hadoop/dfs/date</value> </property> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property>
6.修改mapred-site.xml文件,配置文件中沒有這個文件,首先須要將mapred-site.xml.tmporary文件更名爲mapred-site.xml
<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>
7.修改yarn-site.xml
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>Master</value> </property>
在把須要的文件夾建立下
cd /hadoop
mkdir -pv tmp
mkdir -pv dfs/{name,date}
在把整個文件夾傳送給兩個子節點,保證全部節點的文件文件路徑都同樣,java 和hadoop 的home也配置成同樣,主節點怎麼配子節點同樣配
scp -r /hadoop Slave1:/ #將整個hadoop文件夾複製一份給節點1
scp -r /hadoop Slave2:/
四,格式化節點,啓動hadoop
hdfs namenode -format #格式化節點
這一步,在配置完全部文件後,開啓hdfs,star-dfs.sh以前。只使用一次,以後每次開啓hadoop都不須要,格式化名稱節點,若是沒有格式化名稱節點,就啓動hadoop,start-dfs.sh,後面會出問題。
解決方法:
關閉hdfs,把tmp,logs文件刪除,從新格式化namenode
stop-all.sh #關閉全部節點
rm -rf tmp
rm -rf logs
hdfs namenode -format
啓動節點
su hadoop #切換到hadoop帳號
start-all.sh #啓動全部有節點
netstat -nltp #查看監聽端口
訪問9870端口
我這有兩個節點在線,另外一個我關閉測試的,若是花紅圈的地方只有一個主節點的話
能夠登陸到子節點 運行如下命令,在子節點上啓動
su hadoop
hadoop-daemon.sh start datanode #啓動本機節點
hadoop fs -mkdir /666 新建文件夾
hdfs dfs -put test.txt /666 上傳文件
hadoop fs -ls / 查看根目錄
hadoop fs -rmr /666 刪除666目錄
上傳一張圖片
到瀏覽器上看看下載下來看看