摘要:中默认配置和的存放位置的地址就是基于此。需配置成,才可运行程序的主机名对客户端暴露的地址。客户端通过该地址向提交应用程序,杀死应用程序等对暴露的访问地址。注意,该参数是不可修改的,一旦设置,整个运行过程中不可动态修改。
集群环境
Hadoop版本为2.7.4
JDK版本1.8.0_144
安装了三台虚拟机分别设定名称和IP如下
主机名称 | IP地址 |
---|---|
master | 192.168.1.15 |
slave01 | 192.168.1.16 |
slave02 | 192.168.1.17 |
服务器上安装hadoop的目录结构为
/home/用户名/hadoop
software: 存放的是安装的软件包
app : 存放的是所有软件的安装目录
hadoop2.7.4就在app目录下, 这里我的机器的用户都是null
hadoop主要配置文件有core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml
可以浏览官网查看详细的默认的配置,链接如下
core-default.xml
hdfs-default.xml
mapred-default.xml
yarn-default.xml
也可以通过下载解压hadoop后在目录下搜索*default.xml,找到这些默认配置
tar -zxvf hadoop-2.7.4.tar.gz -C ~/hadoop/app配置Hadoop 环境变量
vim /etc/profile添加
# Hadoop Env export HADOOP_HOME=/home/null/hadoop/app/hadoop-2.7.4 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin修改$HADOOP_HOME/etc/hadoop下的配置文件
$HADOOP_HOME就是hadoop安装目录位置
这里只是将分布式集群的一些必要的简化了的配置罗列出来了,更个性化的配置还是要参照官方文档进行设置
//修改JAVA_HOME路径为jdk的安装路径 export JAVA_HOME=/home/null/hadoop/app/jdk1.8.0_144修改yarn-env.sh文件
//修改JAVA_HOME路径为jdk的安装路径 export JAVA_HOME=/home/null/hadoop/app/jdk1.8.0_144修改slaves文件
master 既作为 NameNode 也作为 DataNode
master slave01 slave02修改core-site.xml文件
该文件可以覆盖一部分用于控制Hadoop核心的默认的关键配置
参数 | 默认值 | 解释 |
---|---|---|
fs.defaultFS | file:/// | namenode RPC交互端口 |
fs.default.name | file:/// | 被弃用,是用fs.defaultFS代替 |
hadoop.tmp.dir | /tmp/hadoop-${user.name} | 其他临时目录的根地址 |
先在$HADOOP_HOME目录下手动创建tmp文件夹,等下指定hadoop.tmp.dir为它,hadoop.tmp.dir是hadoop文件系统依赖的基础配置,很多路径都依赖它。hdfs-site-xml中默认配置namenode 和datanode的存放位置的地址就是基于此。 LINUX 系统中,在服务重启后,/tmp 下的目录被清空,所以要转到持久化的地址
修改hdfs-site.xml文件fs.defaultFS hdfs://master:9000 hadoop.tmp.dir /home/null/hadoop/app/tmp
通过该配置文件可以修改有关的HDFS的默认配置
参数 | 默认值 | 解释 |
---|---|---|
dfs.replication | 3 | 决定着系统里面的文件块的数据备份个数 |
dfs.namenode.secondary.http-address | 0.0.0.0:50090 | secondary namenode服务地址和端口 |
dfs.namenode.name.dir | file://${hadoop.tmp.dir}/dfs/name | 决定namenode的fsimage文件在本地文件系统的存储位置,如果是以逗号分割的目录列表,将会复制到所有目录中,冗余 |
dfs.datanode.data.dir | file://${hadoop.tmp.dir}/dfs/data | 决定datanode的数据块在本地文件系统的存储位置,如果目录不存在将被创建如果权限允许的话 |
dfs.namenode.secondary.http-address master:50090 dfs.replication 3
副本数目不能大于datanode数目
在core-site.中配置了hadoop.tmp.dir,这里保持默认即可
该文件中的属性可以覆盖用于控制MapReduce任务执行的默认属性值
参数 | 默认值 | 解释 |
---|---|---|
mapreduce.framework.name | local | MapReduce 作业的执行框架 |
mapreduce.jobhistory.address | 0.0.0.0:10020 | MapReduce的历史服务器通信地址 |
mapreduce.jobhistory.webapp.address | 0.0.0.0:19888 | MapReduce的历史服务器web界面地址 |
mapreduce.framework.name yarn
默认情况下,Hadoop历史服务器是没有启动的,我们可以通过下面的命令来启动Hadoop历史服务器
sbin/mr-jobhistory-daemon.sh start historyserver修改yarn-site.xml文件
该文件中的配置项可以覆盖用于控制YARN组件中的默认属性值
参数 | 默认值 | 解释 |
---|---|---|
yarn.nodemanager.aux-services | 无 | NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序 |
yarn.resourcemanager.hostname | 0.0.0.0 | ResourceManager的主机名 |
yarn.resourcemanager.address | ${yarn.resourcemanager.hostname}:8032 | ResourceManager 对客户端暴露的地址。客户端通过该地址向RM提交应用程序,杀死应用程序等 |
yarn.resourcemanager.scheduler.address | ${yarn.resourcemanager.hostname}:8030 | ResourceManager 对ApplicationMaster暴露的访问地址。ApplicationMaster通过该地址向RM申请资源、释放资源等 |
yarn.resourcemanager.webapp.address | ${yarn.resourcemanager.hostname}:8088 | ResourceManager对外web ui地址。用户可通过该地址在浏览器中查看集群各类信息 |
yarn.nodemanager.resource.memory-mb | 8192 | NodeManager总的可用物理内存。注意,该参数是不可修改的,一旦设置,整个运行过程中不可动态修改。另外,该参数的默认值是8192MB,即使你的机器内存不够8192MB,YARN也会按照这些内存来使用 |
yarn.nodemanager.resource.cpu-vcores | 8 | NodeManager总的可用虚拟CPU个数 |
yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.hostname master yarn.nodemanager.resource.memory-mb 1024 yarn.nodemanager.resource.cpu-vcores 1
这里我架设的虚拟机是1g内存1CPU1核的 ,没设置最后两个属性时,NodeManager启动报错内存不足
相关问题可以参考我的另外一篇博客
在master中执行
hdfs namenode -format启动NameNode和DataNode
在master $HADOOP_HOME下执行
sbin/.start-dfs.sh
使用jps命令查看master上的进程如下
DataNode SecondaryNameNode NameNode Jps
使用jps命令分别查看slave01和slave02上的进程如下
Jps DataNode启动 ResourceManager 和 NodeManager
在master $HADOOP_HOME下执行
sbin/start-yarn.sh
使用jps命令查看master上的进程如下
DataNode NodeManager ResourceManager SecondaryNameNode NameNode Jps
使用jps命令分别查看slave01和slave02上的进程如下
Jps NodeManager DataNode
终于!Hadoop集群成功启动
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/67932.html
摘要:按打开终端窗口,执行如下命令安装并设置免密登陆注意每次配置时,需要注意当前目录为。的配置文件位于中,伪分布式需要修改个配置文件和。的配置文件是格式,每个配置以声明的和的方式来实现。 1.创建Hadoop用户三部曲:添加用户,设置密码,给该用户设置管理员权限为 hadoop 用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题 sudo useradd -m hadoop ...
摘要:今天小数给大家带来的是数人云工程师金烨的分享,有关于自动快速部署服务相关组件的一些实践。当与相遇,双剑合璧,一切变得如此简单有趣。通过将服务注册到来做健康检查。 今天小数给大家带来的是数人云工程师金烨的分享,有关于自动快速部署DCOS服务相关组件的一些实践。当Ansible与Docker相遇,双剑合璧,一切变得如此简单有趣。 本次分享将包括以下内容: 云平台部署使用的服务、组件 Do...
摘要:现在,越来越多的开发人员不再使用传统的应用程序服务器,而是开始使用作为分布式应用程序平台开发人员使用作为后端数据库。而我们已注意到,将诸如之类的轻量级安装程序嵌入到分布式应用程序中,满足了很多来自用户的兴趣与需求。 作为Rancher 2.0的重要组件,Rancher Kubernetes Engine(RKE)现已正式全面发布!这是Rancher Labs推出的新的开源项目,一个极致...
阅读 856·2021-10-25 09:45
阅读 3251·2021-09-22 14:58
阅读 3779·2021-08-31 09:43
阅读 893·2019-08-30 15:55
阅读 889·2019-08-29 13:51
阅读 1207·2019-08-29 13:02
阅读 3467·2019-08-29 12:52
阅读 1908·2019-08-26 13:27