hadoop 的配置模式
- 独立模式
- 伪分布模式
- 全分布模式
1. 独立模式
1.1 刚才安装好的模式就是独立模式。独立模式的文件系统是linux本地的文件系统,伪分布模式的文件系统是分布式的文件系统。
我们可以使用hadoop的命令查看一下,现在的文件系统,就知道现在安装的版本是linux本地的文件系统还是分布式的文件系统。
# hadoop 表示是hadoop的命令
# fs 表示文件系统
# -ls 表示查看目录
# / 表示查看根目录
hadoop fs -ls /
运行结果,就是得到的目录就是linux下的目录
1.2 独立模式没有守护进程
jps #查看java 创建的进程
2 伪分布的模式
这里我是重新创建的一个 /etc 下的hadoop 目录,改名为hadoop-pseudo。表示这是伪分布的hadoop配置。而原来的hadoop表示的是独立模式的hadoop配置。
2.1 配置伪分布的模式需要配置四个文件。
core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost/</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
mapred-site.xml(hadoop etc 目录下是没有这个文件的,他有一个 mapred-site.xml.tamplate 文件,需要复制一下文件,再改一下文件名)
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
2.2 配置SSH
这个可以看我的写ssh配置的教程,就是配置一个不需要手动输入密码的ssh
2.3 配置hadoop
2.3.1 格式化namenode
# 格式化namenode结点
hadoop namenode -format
因为要配置伪分布模式,这个时候要指明是那个配置文件,
因为现在的etc的目录下面有两个配置文件夹,一个是hadoop,一个是hadoop_pseudo文件夹。
2.3.2 启动文件系统和mapreduce 计算框架的守护进程
start-dfs.sh
start-yarn.sh
但是这样执行出现问题,因为是没有指明环境变量的路径。
有两种方式,一种是在后面增加--config 的选项,一种是配置环境变量。
方式1:
启动hdfs
启动yarn
启动了之后可以看一看,到底启动了什么程序
启动了 namenode ,辅助namenode,一个datanode,一个资源调度管理器和node管理器。
#也可以start-all.sh 的方式一键启动
start-all.sh --config + 路径
2.3.4 终止HDFS 和 YARN的守护进程
stop-yarn.sh
stop-dfs.sh
方法二 : 其实我更加推荐第二个方法:
另外一个启动的守护进程的方式(不通过config选项的方式)就是在后面增加一个 环境变量的选项。
3.查看
这样就hadoop运行起来了
资源管理器的目录是 localhost:8088
查看hadoop 的文件
#这样需要导入export 环境变量,要不然执行的是 单机模式下的hadoop 文件目录
hadoop fs -ls /
什么文件都没有显示的原因是,因为现在还没有创建文件。
<br />
关于其他的东西
推荐一个hadoop 的参考书籍《hadoop : the definitive guide》,中文版本是 hadoop 权威指南。
jps #查看java启动的进程