Hadoop偽分散式的搭建
1.準備Linux環境
1.1 開啟網路,ifconfig指令檢視ip
1.2 修改主機名為自己名字(hadoop)
vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=hadoop
1.3修改主機名和IP的對映關係
vim /etc/hosts 192.168.182.128 hadoop
1.4關閉防火牆
#檢視防火牆狀態 service iptables status #關閉防火牆 service iptables stop #關閉防火牆開機啟動 chkconfig iptables off
1.5重啟Linux
reboot 安裝自己的JDK前,刪除openJDK: 檢視java安裝版本:java -version 檢視java安裝包:rpm -qa|grep java 刪除java安裝包:rpm -e --nodeps 包名
2.安裝JDK
2.1 filezilla上傳jdk到/opt
2.2 解壓jdk
cd /opt
tar -zxvf jdk-7u76-linux-x64.tar.gz
2.3 將java新增到環境變數中
vim /etc/profile #在檔案最後新增 export JAVA_HOME=/opt/jdk1.7.0_76 export PATH=$PATH:$JAVA_HOME/bin
#重新整理配置
source /etc/profile
#檢視java的版本
java -version
3.安裝Hadoop
3.1 filezilla上傳hadoop安裝包,配置文件(hadoop2.2.0偽分散式搭建.txt)
3.2解壓hadoop安裝包
#解壓 tar -zxvf hadoop-2.2.0.tar.gz
3.3修改配置檔案(5個) 路徑:/opt/hadoop-2.2.0/etc/hadoop
第一個:hadoop-env.sh
#在27行修改 export JAVA_HOME=/opt/jdk1.7.0_76
第二個:core-site.xml
<configuration> <!-- 指定HDFS老大(namenode)的通訊地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property>
<!-- 指定hadoop執行時產生檔案的儲存路徑 --> <property> <name>hadoop.tmp.dir</name> <value>/opt/hadoop-2.2.0/tmp</value> </property> </configuration>
第三個:hdfs-site.xml
<configuration>
<!-- 設定hdfs副本數量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
第四個:mapred-site.xml.template 需要重新命名: mv mapred-site.xml.template mapred-site.xml
<configuration> <!-- 通知框架MR使用YARN --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
第五個:yarn-site.xml
<configuration> <!-- reducer取資料的方式是mapreduce_shuffle --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
3.4將hadoop新增到環境變數
vim /etc/profile export JAVA_HOME=/opt/jdk1.7.0_55 export HADOOP_HOME=/opt/hadoop-2.2.0 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin source /etc/profile
3.5格式化HDFS(namenode)第一次使用時要格式化
hadoop namenode -format
3.6啟動hadoop
先啟動HDFS start-dfs.sh 再啟動YARN start-yarn.sh
3.7驗證是否啟動成功
使用jps命令驗證 27408 NameNode 28218 Jps 27643 SecondaryNameNode 28066 NodeManager 27803 ResourceManager 27512 DataNode
http://192.168.182.128:50070 (HDFS管理介面)
http://192.168.182.128:8088 (MR管理介面)
4.配置ssh免登陸
生成ssh免登陸金鑰
cd ~,進入到我的home目錄 cd .ssh/
ssh-keygen -t rsa (四個回車)
執行完這個命令後,會生成兩個檔案id_rsa(私鑰)、id_rsa.pub(公鑰)
將公鑰拷貝到要免登陸的機器上
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
或
ssh-copy-id -i localhost