主机名称 | IP地址 |
---|---|
master | 192.168.1.15 |
slave01 | 192.168.1.16 |
slave02 | 192.168.1.17 |
用户名
/hadooptar -zxvf hadoop-2.7.4.tar.gz -C ~/hadoop/app
vim /etc/profile
添加node
# Hadoop Env export HADOOP_HOME=/home/null/hadoop/app/hadoop-2.7.4 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
$HADOOP_HOME就是hadoop安装目录位置
这里只是将分布式集群的一些必要的简化了的配置罗列出来了,更个性化的配置仍是要参照官方文档进行设置linux
//修改JAVA_HOME路径为jdk的安装路径 export JAVA_HOME=/home/null/hadoop/app/jdk1.8.0_144
//修改JAVA_HOME路径为jdk的安装路径 export JAVA_HOME=/home/null/hadoop/app/jdk1.8.0_144
master 既做为 NameNode 也做为 DataNodeweb
master slave01 slave02
该文件能够覆盖一部分用于控制Hadoop核心的默认的关键配置apache
参数 | 默认值 | 解释 |
---|---|---|
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 下的目录被清空,因此要转到持久化的地址vim
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/null/hadoop/app/tmp</value> </property> </configuration>
经过该配置文件能够修改有关的HDFS的默认配置segmentfault
参数 | 默认值 | 解释 |
---|---|---|
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的数据块在本地文件系统的存储位置,若是目录不存在将被建立若是权限容许的话 |
<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>master:50090</value> </property> <property> <name>dfs.replication</name> <value>3</value> </property> </configuration>
副本数目不能大于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界面地址 |
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
默认状况下,Hadoop历史服务器是没有启动的,咱们能够经过下面的命令来启动Hadoop历史服务器app
sbin/mr-jobhistory-daemon.sh start historyserver
该文件中的配置项能够覆盖用于控制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个数 |
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>1024</value> </property> <property> <name>yarn.nodemanager.resource.cpu-vcores</name> <value>1</value> </property> </configuration>
这里我架设的虚拟机是1g内存1CPU1核的 ,没设置最后两个属性时,NodeManager启动报错内存不足
相关问题能够参考个人另一篇博客
在master中执行
hdfs namenode -format
在master $HADOOP_HOME下执行
sbin/.start-dfs.sh
使用jps命令查看master上的进程以下
DataNode SecondaryNameNode NameNode Jps
使用jps命令分别查看slave01和slave02上的进程以下
Jps DataNode
在master $HADOOP_HOME下执行
sbin/start-yarn.sh
使用jps命令查看master上的进程以下
DataNode NodeManager ResourceManager SecondaryNameNode NameNode Jps
使用jps命令分别查看slave01和slave02上的进程以下
Jps NodeManager DataNode
终于!Hadoop集群成功启动