一直都想自學下hadoop,最近不想寫代碼,那就瞎折騰吧。先不管其原理,動手搭建起來再說。skr...
環境:一個linux(centos6.5)虛擬機
1、自然要下載安裝包,去官網下的 https://archive.apache.org/dist/hadoop/common ,下載的是hadoop2.6.0 版本
2.上傳到虛擬機download文件夾下,我還是喜歡用xshell+xftp。
3.創建 hadoop用戶
sudo useradd -m hadoop -s /bin/bash
4.更改密碼 ,密碼設置個簡單的 hadoop就好
sudo passwd hadoop
5.ssh免密登錄
su到hadoop用戶,ssh首次連接localhost 。ssh localhost 首次登錄localhost會提示信息,直接輸入yes就好,然後輸入hadoop用戶的密碼
$ exit #退出 localhost會生成~/.ssh 目錄
$ cd ~/.ssh #若無此目錄,請先進行一次ssh 登陸
$ ssh-keygen -t rsa #提示信息,全部回車即可
$ cat ./id_rsa.pub >> ./authorized_keys #將公鑰文件加入授權中
然後試一下 ssh localhost 是否不需要密碼了,如果依然需要密碼,就把authorized_keys 文件權限改爲600 chmod 。
6.安裝jdk (略)僅提供下載地址 http://www.oracle.com/technetwork/java/javase/archive-139210.html
7.解壓hadoop-2.6.0.tar.gz 到 /usr/local/目錄下,我的根目錄命名爲 hadoop-2.6.0
8.添加環境變量 HADOOP_HOME 和 JAVA_HOME
vim ~/.bashrc
source ~/.bashrc #使其生效
hadoop version
7.配置hadooop,本文搭建的是僞分佈式的hadoop,就是在單節點上運行的,節點既作爲 NameNode 也作爲 DataNode,同時,讀取的是 HDFS 中的文件,Hadoop 進程以分離的 Java 進程來運行。
8.修改兩個配置文件即可,/usr/local/hadoop-2.6.0/etc/hadoop/core-site.xml 和 hdfs-site.xml 兩個文件,另外如果要啓動YARN,需要再修改 mapred-site.xml 和 yarn-site.xml 兩個文件。
vim core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop-2.6.0/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
vim hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop-2.6.0/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop-2.6.0/tmp/dfs/data</value>
</property>
</configuration>
vim mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
vim yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
配置完後,初始化hdfs, hdfs namenode -format
如果不成功的話,請仔細檢查四個配置文件,路徑有沒有寫錯,一步一步來,應該不會出問題的。
啓動守護進程:
$ start-dfs.sh #啓動hdfs,含NameNode、DataNode、SecondaryNameNode守護進程
$ start-yarn.sh #啓動yarn,含ResourceManager、NodeManager
$ mr-jobhistory-daemon.sh start historyserver #開啓歷史服務器,才能在Web中查看任務運行情況
在啓動 start-dfs.sh時候報錯
The authenticity of host '0.0.0.0 (0.0.0.0)' can't be established.這個錯誤,關閉防火牆
關閉命令: service iptables stop
永久關閉防火牆:chkconfig iptables off
兩個命令同時運行,運行完成後查看防火牆關閉狀態
service iptables status
jps命令 查看運行情況
通過Web界面 http://server_ip:50070 查看NameNode 和 DataNode 的信息,還可以在線查看HDFS文件
YRAN啓動之後(即 ResourceManager 和 NodeManager),也可以通過 http://server_ip:8088 查看管理資源調度,和查看Job的執行情況。
停止Hadoop
$ stop-dfs.sh #NameNode DataNode
$ stop-yarn.sh #ResourceManager、NodeManager
$ mr-jobhistory-daemon.sh stop historyserver