1.下載和配置JDK
本文的Java環境是jdk-1.8.0
下載包:jdk-8u144-linux-x64.tar.gz
tar -xzvf jdk-8u144-linux-x64.tar.gz
設置環境變量(/etc/profile:系統環境變量,~/.bashrc:用戶環境變量 命令source 更新環境變量設置)
export JAVA_HOME=/opt/download/jdk1.8.0_144(填寫自己的jdk安裝路徑)
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export PATH=${JAVA_HOME}/bin:$PATH
分別輸入命令,java 、 javac 、 java -version,查看jdk環境變量是否配置成功
2.計劃集羣的三臺主機,一臺master,兩臺salver
修改主機名
1.修改/etc/hostname
2.修改/etc/hosts
將虛擬機的網絡連接改爲only-host模式,查詢IP地址如下
master 192.168.145.128
salve1 192.168.145.129
salve1 192.168.145.130
3.配置三臺機器之間的免密登陸
在Ubuntu免密登陸設置 中有詳細的步驟。
4.配置Hadoop環境變量
需要配置的文件有:/etc/profile、HADOOP_HOME/etc/hadoop-env.sh、HADOOP_HOME/etc/yarn-env.sh。
(1)配置HADOOP_HOME,編輯/etc/profile
export HADOOP_HOME=/home/hadoop/hadoop (Hadoop的安裝路徑)
export PATH=$PATH:$HADOOP_HOME/sbin
export PATH=$PATH:$HADOOP_HOME/bin
(以下兩行最好加上,若沒有啓動Hadoop、hbase時都會有沒加載lib成功的警告)
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
(2)配置hadoop-env.sh、yarn-env.sh,在Hadoop安裝目錄下
編輯 vim etc/hadoop/hadoop-env.sh ,加入export JAVA_HOME=/opt/java/jdk1.7.0_80(jdk安裝路徑)
編輯 vim etc/hadoop/yarn-env.sh ,加入export JAVA_HOME=/opt/java/jdk1.7.0_80(jdk安裝路徑)
5.配置相關的基本xml
需要配置的文件core-site.xml、hdfs-site.xml、mapred-site.xml、mapred-site.xml
(1)配置core-site.xml,在Hadoop安裝目錄下 編輯 vim etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name> <!--NameNode 的URI-->
<value>hdfs://mater:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name> <!--hadoop臨時文件的存放目錄-->
<value>/opt/hbase/hadoop-2.7.3/temp</value>
</property>
</configuration>
(2)配置hdfs-site.xml,在Hadoop安裝目錄下 編輯 vim etc/hadoop/hdfs-site.xml
<configuration>
<property> <!--namenode持久存儲名字空間及事務日誌的本地文件系統路徑-->
<name>dfs.namenode.name.dir</name>
<value>/opt/hbase/hadoop-2.7.3/dfs/name</value>
<!--目錄無需預先創建,會自動創建-->
</property>
<property> <!--DataNode存放塊數據的本地文件系統路徑-->
<name>dfs.datanode.data.dir</name>
<value>/opt/hbase/hadoop-2.7.3/dfs/data</value>
</property>
<property> <!--數據需要備份的數量,不能大於集羣的機器數量,默認爲3-->
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property> <!--設置爲true,可以在瀏覽器中IP+port查看-->
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
(3)配置mapred-site.xml,在Hadoop安裝目錄下 編輯 vim etc/hadoop/mapred-site.xml
<configuration>
<property> <!--mapreduce運用了yarn框架,設置name爲yarn-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property> <!--歷史服務器,查看Mapreduce作業記錄-->
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
(4)配置yarn-site.xml,在Hadoop安裝目錄下 編輯 vim etc/hadoop/yarn-site.xml
<configuration>
<property> <!--NodeManager上運行的附屬服務,用於運行mapreduce-->
<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> <!--ResourceManager 對客戶端暴露的地址-->
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property> <!--ResourceManager 對ApplicationMaster暴露的地址-->
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property> <!--ResourceManager 對NodeManager暴露的地址-->
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property> <!--ResourceManager 對管理員暴露的地址-->
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property> <!--ResourceManager 對外web暴露的地址,可在瀏覽器查看-->
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
7、配置slaves文件
在Hadoop安裝目錄下,編輯vim etc/hadoop/slaves,去除默認的localhost,加入slave1、slave2,保存退出。
8、通過遠程複製命令scp,將配置好的Hadoop複製到各個節點對應位置
scp -r /opt/hadoop-2.7.4 192.168.145.129:/opt/hadoop-2.7.4
scp -r /opt/hadoop-2.7.4 192.168.145.130:/opt/hadoop-2.7.4
9、Hadoop的啓動與停止
(1)接下來配置本地hosts,編輯./etc/hosts文件,加入
192.168.145.128 master
192.168.145.129 salve1
192.168.145.130 salve1 在Master服務器啓動hadoop,從節點會自動啓動,進入Hadoop目錄下,
(2)輸入命令,bin/hdfs namenode -format進行hdfs格式化
輸入命令,sbin/start-all.sh,進行啓動(目前不推薦這樣)
也可以分開啓動,sbin/start-dfs.sh、sbin/start-yarn.sh
在master 上輸入命令:jps, 看到ResourceManager、
NameNode、SecondaryNameNode進程
在slave 上輸入命令:jps, 看到DataNode、NodeManager進程
出現這5個進程就表示Hadoop啓動成功。
(3)在瀏覽器中輸入http://master:50070查看master狀態,
輸入http://192.168.172.72:8088查看集羣狀態
(4)停止hadoop,進入Hadoop目錄下,輸入命令:sbin/stop-all.sh,
即可停止master和slave的Hadoop進程