材料:三台 linux 虚拟机 hadoop2.7.2 版本 以下全分布式搭建步骤
:前期分别 配置好JDK 创建hadoop 用户
设置好主机名称 hosts 主机地址映射 免密登录 防火墙关闭 三台虚拟机的互相通信
开始安装:在/opt下建立一个 software 文件夹
第一步:修改seLinux文件中 目录文件地址 /ect/sysconfig/selinux
SELINUX=disabled
第二步:将hadoop 传到 系统中,并解压到 /opt/software 中,(注意 hadoop用户的权限)
第三步,修改/etc/profile 和 etc/hadoop hadoop-env.sh 配置环境,和
mapred-env.sh yarn-env.sh 环境配置
第四步,配置 core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml
1 .core-site.xml
(1) 配置HDFS的路径的地址
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:8020</value>
</property>
(2)修改hadoop临时保存目录
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/app/hadoop-2.7.2/data/tmp</value>
</property>
2.hdfs-site.xml
(1) 配置HDFS 的复制因子
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
(2) 关闭HDFS 权限检查
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
(3) HDFS WEB访问服务器的主机名和端口号
<property>
<name>dfs.namenode.http-address</name>
<value>0.0.0.0:50070</value>//0.0.0.0代表本机
</property>
(4)定义secondarynamenode 外部地址 访问的主机和端口
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop03:50090</value> //原来0.0.0.0 因为在hadoop03中开启 要修改hadoop03
</porperty>
(5) 配置 namenode fsimage edites 存储目录
<property>
<name>dfs.namenode.name.dir</name>
<value>file://${hadoop.tmp.dir}/dfs/name</value>
</property>
(6) 配置namednoe edits 存储模式
<property>
<name>dfs.namenode.edits.dir</name>
<value>${dfs.namenode.name.dir}</value>
</property>
(7) 配置datanode 数据存储目录
<property>
<name>dfs.datanode.data.dir</name>
<value>file://${hadoop.tmp.dir}/dfs/data</value>
</property>
(8) 修改secondaryNameNode fsimage 的存储路径
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file://${hadoop.tmp.dir}/dfs/namesecondary</value>
</property>
(9) 修改secondaryNameNode edits 的存储路径
<property>
<name>dfs.namenode.checkpoint.edits.dir</name>
<value>${dfs.namenode.checkpoint.dir}</value>
</property>
3. mapred-site.xml
(1) 设置Mapreduce 框架运行名称yarn
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
(2) 配置历史服务器的web访问主机
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop01:19888</value>
</property>
(3) Uber模式开启
<property>
<name>mapreduce.job.ubertask.enable</name>
<value>true</value>
</property>
4. yarn-site.xml
(1) 设置yarn 中的服务类
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
(2) 配置resourcemanager 的主机位置
<property>
<description>The hostname of the RM.</description>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop02</value>//原本0.0.0.0 因为该服务在hadoop02中开启修改成hadoop02
</property>
(3) 启用日志聚集的功能
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
(4) 设置HDFS上日志的保存时间
<property>
<name>yarn.nodemanager.log.retain-seconds</name>
<value>10800</value>
</property>
第五步 .配置完成之后,在slaves 配置从节点的主机名称
hadoop01 hadoop02 hadoop03 |
格式化
首先要记住,不要频繁的格式化namenode, 如果非要格式化namenode,先删除tmp目录中的内容 ,清空之前,最好把所有的进程jps 中的残存的服务关掉,如果不关闭的话会存在遗留的进程,就有可能占用之前的端口号
对服务器中的服务进行规划
Hadoop01 hadoop02 hadoop03
Namenode datanode datanode
Datanode resourcemanager nodemanager
Nodemanager nodemanager secondaryNamenode
Historyserver