1、準備工做html
1.準備幾臺機器,我這裏使用VMware準備了四臺機器,一個name node,三個data node。java
VMware安裝虛擬機:http://www.javashuo.com/article/p-dcshbscz-hc.htmlnode
2.Hadoop生態幾乎都是用的java開發的,所以四臺機器還須要安裝JDK。linux
3.集羣內主機域名映射,將四臺機器的IP和主機名映射分別寫到hosts文件中(切記主機名不要帶非法字符,圖片中的下劃線」_」請忽略)web
vim /etc/hostsvim
配好一個以後能夠直接將這個複製到其餘機器上面去,不用每臺都去配置:服務器
scp /etc/hosts nijunyang69:/etc/oop
scp /etc/hosts nijunyang70:/etc/spa
scp /etc/hosts nijunyang71:/etc/code
2、hdfs集羣安裝
1.下載hadoop安裝包到linux服務器上面,並進行解壓,我這裏使用的的2.8.5,
tar -zxvf hadoop-2.8.5.tar.gz
2.hadoop指定java環境變量:
hadoop-2.8.5/etc/hadoop/hadoop-env.sh 文件中指定java環境變量:
export JAVA_HOME=/soft/jdk1.8.0_191
3.配置核心參數:
1)指定hadoop的默認文件系統爲:hdfs
2)指定hdfs的namenode節點爲哪臺機器
修改/etc/hadoop/core-site.xml 指定hadoop默認文件系統爲hdfs,而且指定name node
<configuration> <property> <name>fs.defaultFS</name><!--指定默認文件系統hdfs--> <value>hdfs://nijunyang68:9000/</value><!--指定name node爲nijunyang_68--> </property> </configuration>
3) 指定namenode存儲數據的本地目錄
4) 指定datanode存放文件塊的本地目錄
修改/etc/hadoop/hdfs-site.xml
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>/hadoop/hdpdata/name/</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/hadoop/hdpdata/data</value> </property> </configuration>
每臺機器都執行一樣的操做,配置好上述配置,能夠使用scp -r /soft/hadoop-2.8.5 nijunyang69:/soft 這個命令將第一臺機器配置好的所有打包拷貝到另外機器上面去。
4.配置hadoop環境變量
5.初始化namenode:hadoop namenode -format
這時咱們設置的namenode數據目錄下面就會初始化出來對應的文件夾
6.啓動namenode:在以前指定的namenode上面執行:hadoop-daemon.sh start namenode
Jps查看能夠看到一個namenode的java進程,同時經過默認的50070端口能夠進行web訪問
能夠看到如今HDFS的容量仍是0,由於我尚未啓動datanode
7.依次啓動datanode:hadoop-daemon.sh start datanode
一樣能夠看到一個datanode的java進程啓動了,再看web頁面這個時候的hdfs容量大小差很少就是三個datanode之和了。
至此整個hdfs集羣基本就搭建完畢了,中間的一個小插曲,主機名必定不要帶」.」 「/」 「_」等特殊符號,不然啓動無服務的時候可能報錯沒法啓動:Does not contain a valid host