安装 hadoop-3.3.0
Apache大数据组件下载路径
https://archive.apache.org/dist/
集群规划
server1:NN,RM
agent1:SNN,DN,NM
agent2:DN,NM
agent3:DN,NM
路径
|
服务器基础环境准备 安装包目录结构 配置文件的修改 - 第一类 1个 hadoop-env.sh - 第二类 4个 core|hdfs|mapred|yarn-site.xml - site表示的是用户定义的配置,会覆盖default中的默认配置。 - core-site.xml 核心模块配置 - hdfs-site.xml hdfs文件系统模块配置 - mapred-site.xml MapReduce模块配置 - yarn-site.xml yarn模块配置 - 第三类 1个 workers scp安装包到其他机器 Hadoop环境变量配置 hadoop namenode format Hadoop集群启动 Hadoop初体验 |
实现
服务器基础环境准备
|
ip、主机名 hosts映射 别忘了windows也配置 防火墙关闭 时间同步 免密登录 JDK安装 |
安装包目录结构
#上传安装包到 /usr/local/ 解压
cd /usr/local/
tar -zxvf hadoop-3.3.0-Centos7-64-with-snappy.tar.gz
|
bin #hadoop核心脚本 最基础最底层脚本 etc #配置目录 include lib libexec LICENSE.txt NOTICE.txt README.txt sbin #服务启动 关闭 维护相关的脚本 share #官方自带实例 hadoop相关依赖jar |
建立软链接
|
ln -s /usr/local/hadoop-3.3.0 hadoop |
存储目录规划
|
#Hadoop本地保存数据路径 hadoop.tmp.dir mkdir -p /home/hadoop/tmp (3个agent节点) #节点数据(namenode)的存放位置 dfs.namenode.name.dir mkdir -p /home/hadoop/namenode (1个server节点) #节点数据(datanode)的存放位置 dfs.datanode.data.dir mkdir -p /home/hadoop/datanode (3个agent节点) #节点数据(nodemanager)的存放位置 yarn.nodemanager.local-dirs mkdir -p /home/hadoop/nodemanager/local (3个agent节点) yarn.nodemanager.log-dirs mkdir -p /home/hadoop/nodemanager/log (3个agent节点) |
配置文件的修改
hadoop-env.sh
|
#指定jdk安装位置 export JAVA_HOME=/usr/local/jdk #文件最后添加 export HDFS_NAMENODE_USER=root export HDFS_DATANODE_USER=root export HDFS_SECONDARYNAMENODE_USER=root export YARN_RESOURCEMANAGER_USER=root export YARN_NODEMANAGER_USER=root |
core-site.xml
|
<!-- 设置默认使用的文件系统 Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统 --> <property> <!--指定 namenode 的 hdfs 协议文件系统的通信地址--> <name>fs.defaultFS</name> <value>hdfs://server1:8020</value> </property> <!-- 设置Hadoop本地保存数据路径 --> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/tmp</value> </property> <!-- 设置HDFS web UI用户身份 --> <property> <name>hadoop.http.staticuser.user</name> <value>root</value> </property> <!-- 整合hive 用户代理设置 --> <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property> |
hdfs-site.xml
|
<!-- 设置SNN进程运行机器位置信息 --> <property> <name>dfs.namenode.secondary.http-address</name> <value>agent1:9868</value> </property> <!--指定HDFS的副本数量--> <property> <name>dfs.replication</name> <value>3</value> </property> <!--namenode 节点数据(即元数据)的存放位置,可以指定多个目录实现容错,多个目录用逗号分隔--> <property> <name>dfs.namenode.name.dir</name> <value>/home/hadoop/namenode</value> </property> <!--datanode 节点数据(即数据块)的存放位置,可以指定多个目录,用逗号分隔--> <property> <name>dfs.datanode.data.dir</name> <value>/home/hadoop/datanode</value> </property> |
mapred-site.xml
|
<!-- 设置MR程序默认运行模式: yarn集群模式 local本地模式 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <!-- MR程序历史服务器端地址 --> <property> <name>mapreduce.jobhistory.address</name> <value>server1:10020</value> </property>
<!-- 历史服务器web端地址 --> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>server1:19888</value> </property> <property> <name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property> <property> <name>mapreduce.map.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property> <property> <name>mapreduce.reduce.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property> |
yarn-site.xml
|
<!-- nodemanager在本地磁盘存储yarn工作目录 --> <property> <name>yarn.nodemanager.local-dirs</name> <value>/home/hadoop/nodemanager/local</value> </property> <!-- nodemanager在本地磁盘存储yarn工作目录 --> <property> <name>yarn.nodemanager.log-dirs</name> <value>/home/hadoop/nodemanager/log</value> </property> <!-- 设置YARN集群主角色运行机器位置 --> <property> <name>yarn.resourcemanager.hostname</name> <value>server1</value> </property> <!--配置 NodeManager 上运行的附属服务。需要配置成 mapreduce_shuffle 后才可以在 Yarn 上运行 MapReduce 程序。--> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 是否将对容器实施物理内存限制 --> <property> <name>yarn.nodemanager.pmem-check-enabled</name> <value>false</value> </property> <!-- 是否将对容器实施虚拟内存限制。 --> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property> <!-- 开启日志聚集 --> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!-- 设置yarn历史服务器地址 --> <property> <name>yarn.log.server.url</name> <value>http://server1:19888/jobhistory/logs</value> </property> <!-- 保存的时间7天 --> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property> |
workers
|
agent1 agent2 agent3 |
scp安装包到其他机器
|
cd /usr/local scp -r hadoop root@agent1:`pwd` scp -r hadoop root@agent2:`pwd` scp -r hadoop root@agent3:`pwd` |
Hadoop环境变量配置
|
在server1节点上 vim /etc/profile # set hadoop env export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin |
|
scp /etc/profile agent1:/etc/ scp /etc/profile agent2:/etc/ scp /etc/profile agent3:/etc/ 4个节点分别执行 source /etc/profile |
hadoop namenode format
(首次启动)格式化namenode
|
hdfs namenode -format |
在windows配置 ip地址映射
C:\Windows\System32\drivers\etc\hosts 文件
|
192.168.163.10 server1 192.168.163.11 agent1 192.168.163.12 agent2 192.168.163.13 agent3 |
Hadoop集群启动
|
/usr/local/hadoop/sbin/start-all.sh /usr/local/hadoop/bin/mapred --daemon start historyserver |
启动成功后,各个节点有如下进程:

Hadoop集群关闭
|
/usr/local/hadoop/bin/mapred --daemon stop historyserver /usr/local/hadoop/sbin/stop-all.sh |
Hadoop初体验
HDFS集群:http://server1:9870/
YARN集群:http://server1:8088/
historyserver:http://server1:19888/
linux关机命令
|
shutdown -h now |
浙公网安备 33010602011771号