最近開始學習hadoop,邊學邊記錄學習中遇到的問題。因為是心得不是教程,所以閱讀的人應具備基本的Linux知識和vim使用,學習過程不寫具體工具的使用,請自行百度。 基於centos7和jdk1.7,hadoop2.4.1的環境搭建(建議64位機子用我提供的2.3.0搭建,我用2.4.1遇到了些問
最近開始學習hadoop,邊學邊記錄學習中遇到的問題。因為是心得不是教程,所以閱讀的人應具備基本的Linux知識和vim使用,學習過程不寫具體工具的使用,請自行百度。
基於centos7和jdk1.7,hadoop2.4.1的環境搭建(建議64位機子用我提供的2.3.0搭建,我用2.4.1遇到了些問題和警告)。
所有用到的資源已經分享出來,https://yunpan.cn/cYDuxbTUBYGSZ 訪問密碼 357a,學習視頻我是參考的傳智播客7天的,如有需要自行查找。
第一步:準備linux環境:
1、安裝虛擬機、註冊。如果網線連接可以設置橋接模式,沒有的話設置主機模式。 我是用的橋接模式(相當於在區域網多了一臺電腦)
2、安裝centos-everthing,安裝過程跳過。
3、修改主機名(非必須,建議) 命令 sudo hostnamectl --static set-hostname taoyu01 (taoyu01是我設置的主機名)
4、關閉firewall防火牆 ,7預設的是firewall防火牆
命令 systemctl stop firewalld.service 停止
systemctl disable firewalld.service 去除開機啟動
firewall-cmd --state 查看狀態是否是not running
5、配置主機對應關係(非必須,建議,本機windows機器可以通過主機名訪問)
vim /etc/hosts 結尾增加 192.168.20.23 taoyu01 (前面是當前ip可以通過ifconfig查看,後面是剛纔設置的主機名)
第二步:安裝jdk和hadoop
1、下載jdk-7u79-linux-x64.tar.gz
2、打開SecureCRTSecureFX中文32-64中壓縮包對應你的系統的CRT,連接linux。
3、命令 mkdir /usr/java mkdir /usr/hadoop 在usr目錄下建立java和hadoop目錄
4、用CRT的附帶工具分別發送jdk和hadoop對應的tar.gz文件到分別建立的目錄下
5、命令 tar -zxvf /usr/java/jdk-7u79-linux-x64.tar.gz
tar -zxvf /usr/hadoop/hadoop-2.4.1.tar.gz 完成jdk和hadoop的安裝
第三步:配置環境變數
1、命令 vim /etc/profile 摁i進入插入模式,在最底部加入如下配置
export JAVA_HOME=/usr/java/jdk1.7.0_79
export HADOOP_HOME=/user/hadoop/hadoop-2.4.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
下麵兩個環境變數一般是hadoop不是和系統相對應版本時候要配置的,最好我建議比如64系統jdk和hadoop都裝64的
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
摁ESC輸入 :wq保存退出
2、 命令 source /etc/profile 刷新文件
3、輸入java -version測試是否安裝成功
第四步、修改hadoop配置文件
1、命令 cd /usr/hadoop/hadoop-2.4.1/etc/hadoop 進入到配置目錄
2、vim hadoop-env.sh
更改export JAVA_HOME=/usr/java/jdk1.7.0_79 (其實原來是export JAVA_HOME=${JAVA_HOME} 我覺得不用改,不確定- -)
3、 vim core-site.xml
<configuration>
<!-- 配置NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://taoyu01:8888</value>
</property>
<!-- hadoop運行時產生文件的存儲目錄:不是臨時文件 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/taoyu01/hadoop-2.4.1/tmp</value>
</property>
</configuration>
4、vim hdfs-site.xml
<configuration>
<!-- 指定HDFS副本的數量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
5、 mv mapred-site.xml.template mapred-site.xml 改名
vim mapred-site.xml
<configuration>
<!-- 指定mr運行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
6、vim yarn-site.xml
<configuration>
<!-- ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>taoyu01</value>
</property>
<!-- reducer獲取數據的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
7、 格式化hadoop 的namenode
命令cd /usr/hadoop/hadoop-2.4.1/bin
命令 ./hdfs namenode -format
第五步、ssh免登陸
cd ~/.ssh 如果沒有先建立一個 mkdir ~/.ssh
ssh-keygen -t rsa 一直回車
ssh-copy-id localhost 摁yes 輸密碼
第六步、驗證完成並開啟C:\WINDOWS\system32\drivers\etc
cd /usr/hadoop/hadoop-2.4.1/sbin
./start-all.sh 開啟所有 會提示過時不建議,建議單獨開啟
查看jps類似如下
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode
谷歌瀏覽器 http://taoyu01:50070/ 如果採用主機名訪問需要在windows下配置hosts映射C:\Windows\System32\drivers\etc 的hosts添加如下192.168.20.23 taoyu01
http://taoyu01:8088/ 訪問MR