1.1 本地模式
特点
运行在单台机器上,没有分布式思想,使用的是本地文件系统
用途
用于对MapReduce程序的逻辑进行测试,确保程序的正确,由于在本地模式测试和调试MapReduce程序较为方便,因此,这种模式适宜在开发阶段。
环境的搭建:JDK的安装
1)检查是否已经安装过或内置JDK,如果有,将其卸载
rpm -qa | grep jdk #查找是否有jdk
rmp -e xxxxxxxxx --nodeps #卸载jdk
2)上传自己的下载好的jdk
3)解压并更名
tar -zxvf jdk-xxxxxxx.tar.gz -C /usr/local
cd /usr/lcoal
mv jdk.xxxxx jdk
4)配置jdk的环境变量
vim /etc/profile
#jdk environment
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
注:一定要加上$PATH。
5)使环境变量生效
source /etc/profile
6)验证环境变量
java -version
javac
环境的搭建:Hadoop的安装
1)上传自己的下载好的hadoop
2)解压并更名
tar -zxvf hadoop-xxxxxx.tar.gz -C /usr/local
cd /usr/local
mv hadoop-xxxx hadoop
3)配置hadoop的环境变量
vim /etc/profile
#hadoop environment
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/Sbin:$PATH
注:一定要加上$PATH。
4)使环境变量生效
source /etc/profile
5)验证环境变量
hadoop version
1.2 伪分布式
特点
1)在一台机器上安装,使用的是分布式思想,即分布式文件系统,非本地文件系统
2)hdfs涉及到的相关守护进程(namenode,datanode,secondarynamenode)都运行在一台机器上,都是独立的java进程
用途
比本地模式多了代码调试功能,允许检查内存使用情况,hdfs输入输出,以及其他的守护进程交互。
环境搭建:关闭防火墙
systemctl stop firewalld
systemctl disable firewalld.service
systemctl stop NetworkManager
systemctl disable NetworkManager
#最好也把selinux关闭掉,这是linux系统的一个安全机制,进入文件中将SELINUX设置为disabled
vi /etc/selinux/config
.........
SELINUX=disabled
.........
环境搭建:配置映射关系
vim /etc/hosts
192.168.10.101 brggq01
环境搭建: ssh免密
# -1. 使用rsa加密技术,生成公钥和私钥。一路回车即可
ssh-keygen -t rsa
# -2. 进入~/.ssh目录下,使用ssh-copy-id命令
ssh-copy-id root@localhost
# -3. 进行验证,去掉第一次的询问(yes/no)
ssh localhost
环境搭建:jdk和hadoop的环境变量
参照本地模式
相关文件的配置–core.site.xml
cd $HADOOP_HOME/etc/hadoop
vi core-site.xml
<configuration>
<!-- 配置分布式文件系统的schema和ip以及port,默认8020-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost/</value>
</property>
</configuration>
扩展: hadoop1.x的默认端口是9000,hadoop2.x的默认端口是8020,使用哪一个都可以
相关文件的配置–hdfs-site.xml
vi hdfs-site.xml
<configuration>
<!-- 配置副本数,注意,伪分布模式只能是1。-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
相关文件的配置–hadoop-env.sh