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