准备环境:
- 三台centos7虚拟机(Node-1,Node-2,Node-3)
- 配置虚拟机网络,保证三台机器可以互相ping通,并且和宿主机可以互相ping通。如果仅仅是作为虚拟机学习,可以关闭防火墙,避免后面的RPC端口或者web端口无法正常访问。
- 创建普通用户dtouding
- 安装jdk环境。
安装HDFS:
- 下载hadoop安装包(hadoop-2.8.5.tar.gz),可以直接去官网下载。https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz
- 上传安装包,利用Filezilla或者SercureFX工具将安装包上传到/home/dtouding目录下
- 解压安装包,解压到/bigdata目录下,该目录已提前创建,并授权给dtouding用户。tar -zxvf hadoop-2.8.5.tar.gz -C /bigdata/
修改配置文件:
- 修改hadoop-env.sh文件,指定jdk安装路径。
vi /bigdata/hadoop-2.8.5/etc/hadoop/hadoop-env.sh
添加:
export JAVA_HOME=/usr/local/jdk1.8.0_181
- 修改core-site.xml文件,指定hadoop默认的文件系统为HDFS,并同时指定namenode为node-1:。
vi /bigdata/hadoop-2.8.5/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdf://Node-1:9000/</value>
</property>
</configuration>
- 修改hdfs-site.xml文件:
##指定namenode存储元数据的本地目录:
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/bigdata/hdpdata/name</value>
</property>
##指定datanode软件存放文件块的本地目录
<property>
<name>dfs.datanode.data.dir</name>
<value>/bigdata/hdpdata/data</value>
</property>
##指定sencondary namenode
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>Node-2:50090</value>
</property>
</configuration>
- 将hadoop安装目录拷贝到其他两台机器上:
scp -r hadoop-2.8.5/ Node-2:/bigdata/
scp -r hadoop-2.8.5/ Node-3:/bigdata/
- 编辑slaves文件,批量启动hdfs时指定需要启动的datanode:
vi /bigdata/hadoop-2.8.5/etc/hadoop/slaves
Node-2 Node-3
初始化namenode的工作目录:
- 在Node-1机器上,初始化namenode的元数据目录,进入hadoop的bin目录下,执行命令:./Hadoop namenode -format
有上述提示代表初始化成功。
启动HDFS:
- 启动namenode,进入hadoop下的sbin目录,执行命令:./hadoop-daemon.sh start namenode,用jps查看namenode进程是否启动成功。
- 启动datanode,操作另外两台机器,进入hadoop下的sbin目录,执行命令:./hadoop-daemon.sh start datanode,用jps查看datanode进程是否启动成功
- 批量启动,进入sbin目录下,执行start-dfs.sh命令
web界面访问:
- http://192.168.0.111:50070/