在独立模式下;所有程序都在单个JVM上执行;调试Hadoop集群的MapReduce程序也非常方便。一般情况下;该模式常用于学习或开发阶段进行调试程序。
在伪分布式模式下; Hadoop程序的守护进程都运行在一台节点上;该模式主要用于调试Hadoop分布式程序的代码;以及程序执行是否正确。伪分布式模式是完全分布式模式的一个特例。
在完全分布式模式下;Hadoop的守护进程分别运行在由多个主机搭建的集群上;不同节点担任不同的角色;在实际工作应用开发中;通常使用该模式构建企业级Hadoop系统。
由于Hadoop是由Java语言开发的;Hadoop集群的使用依赖于Java环境;因此安装Hadoop集群之前;需要先安装并配置好JDK。
查看上传的JDK压缩包
执行命令;tar -zxvf jdk-8u231-linux-x64.tar.gz -C /usr/local;将JDK压缩包解压到指定目录
执行命令;ll /usr/local/jdk1.8.0_231;查看解压之后的jdk1.8.0_231目录
export JAVA_HOME=/usr/local/jdk1.8.0_231
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
存盘退出;执行命令;source /etc/profile;让配置生效
查看JDK版本
编写一个Java程序 - HelloWorld.java
存盘退出后;执行命令;javac HelloWorld.java;编译成字节码文件
执行命令;java HelloWorld
执行命令;scp -r $JAVA_HOME root;slave1:$JAVA_HOME (-r;recursive - 递归)
在slave1虚拟机上查看JDK是否拷贝成功
执行命令;scp -r $JAVA_HOME root;slave2:$JAVA_HOME (-r recursive - 递归)
执行命令;scp /etc/profile root;slave1:/etc
执行命令;scp /etc/profile root;slave2:/etc
在slave1与slave2虚拟机上执行命令;source /etc/profile;让环境配置生效
在slave1虚拟机上查看JDK版本
在slave2虚拟机上查看JDK版本
将Hadoop压缩包上传到master虚拟机/opt目录
查看上传的Hadoop压缩包
执行命令;tar -xzvf hadoop-3.3.4.tar.gz -C /usr/local
查看解压之后的hadoop目录
在配置Hadoop时;常用的就是bin、etc与sbin三个目录
查看bin目录
查看etc/hadoop目录;主要是hadoop配置文件
查看sbin目录
执行命令;vim /etc/profile
说明;hadoop 2.x用不着配置用户;只需要前两行即可
export HADOOP_HOME=/usr/local/hadoop-3.3.4
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root