2026/5/13 17:45:44
网站建设
项目流程
北京网站制作与营销培训,青岛网站制作网页,公关公司是做什么的?,深圳公司注册服务新手必看#xff1a;从零搭建 Hadoop 完全分布式集群#xff0c;手把手教你配置#xff08;含视频教程#xff09; 文章目录新手必看#xff1a;从零搭建 Hadoop 完全分布式集群#xff0c;手把手教你配置#xff08;含视频教程#xff09;一、完全分布式运行模式…新手必看从零搭建 Hadoop 完全分布式集群手把手教你配置含视频教程文章目录新手必看从零搭建 Hadoop 完全分布式集群手把手教你配置含视频教程一、完全分布式运行模式搭建重点1.1.1 集群配置1. 集群部署规划2. master准备工作2.1 配置修改2.1.1 core-site.xml2.1.2 hdfs-site.xml2.1.3 yarn-site.xml2.1.4 mapred-site.xml2.1.5 hadoop-env.sh2.1.6 workers2.1.7 历史服务器配置mapred-site.xml3.1 克隆3.1.1 SSH无密登录配置4.1 集群同时启动1. 分组件启动集群2启动集群2. 集群基本测试5.1 集群启动/停止方式总结1. 各个服务组件逐一启动/停止2. 整个集群的各个模块分开启动/停止配置ssh是前提3. 当namenode和resourcemanager配置在同一节点常用4. 历史服务器启动5. web页面端查看同步视频教程链接一、完全分布式运行模式搭建重点分析1集群中有3台机器关闭防火墙、设置静态ip、主机名称、 JDK、Hadoopmasterslave1slave22配置一个节点再把配置好的节点克隆2台3单点启动4配置ssh免密登录5集群同时启动并测试集群1.1.1 集群配置1. 集群部署规划Master192.168.11.10slave1192.168.11.11slave2192.168.11.12HDFSNameNodeDataNodeDataNodeSecondaryNameNodeDataNodeYARNResourceManagerNodeManagerNodeManagerNodeManager2. master准备工作1新建虚拟机安装最小化版本 虚拟机命名为master2修改虚拟机的静态IP配置IP地址连接xshell[rootlocalhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33[rootlocalhost ~]# systemctl restart network[rootlocalhost ~]# ip a网络配置成功后连接xshell3修改主机名[rootlocalhost ~]# hostnamectl set-hostname master[rootlocalhost ~]# bash4关闭防火墙[rootmaster ~]# systemctl stop firewalld[rootmaster ~]# systemctl disable firewalld5修改/etc/hosts文件添加IP和主机名的一个映射关系[rootmaster ~]# vi /etc/hosts192.168.11.10 master192.168.11.11 slave1192.168.11.12 slave26在/opt目录下创建文件夹[rootmaster ~]# cd /opt[rootmaster opt]# mkdir module[rootmaster opt]# mkdir software7安装jdk和hadoop用xftp工具将JDK和hadoop安装包导入到opt目录下面的software文件夹下面回到xshell上解压安装包[rootmaster opt]# cd software[rootmaster software]# tar -zvxf jdk-8u231-linux-x64.tar.gz -C /opt/module/[rootmaster software]# tar -zvxf hadoop-3.1.3.tar.gz -C /opt/module/[rootmaster software]# cd ../module[rootmaster module]# mv jdk1.8.0_231 java[rootmaster module]# mv hadoop-3.1.3 hadoop配置环境变量[rootmaster module]# vi /etc/profile在profile文件末尾添加java和hadoop路径#JAVA_HOMEexportJAVA_HOME/opt/module/javaexportPATH$JAVA_HOME/bin:$PATH#HADOOP_HOMEexportHADOOP_HOME/opt/module/hadoopexportPATH$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH让修改后的文件生效[rootmaster module]# source /etc/profile验证测试[rootmaster module]# java -versionjava version1.8.0_231Java(TM)SE Runtime Environment(build1.8.0_231-b11)Java HotSpot(TM)64-Bit Server VM(build25.231-b11, mixed mode)[rootmaster module]$ hadoop version Hadoop3.1.32.1 配置修改2.1.1 core-site.xmlconfiguration!-- 指定NameNode的地址 --propertynamefs.defaultFS/namevaluehdfs://master:8020/value/property!-- 指定hadoop数据的存储目录 --propertynamehadoop.tmp.dir/namevalue/opt/module/hadoop/data/value/property/configuration2.1.2 hdfs-site.xml!-- nn web端访问地址--propertynamedfs.namenode.http-address/namevaluemaster:9870/value/property!-- 2nn web端访问地址--propertynamedfs.namenode.secondary.http-address/namevalueslave2:9868/value/property2.1.3 yarn-site.xml!-- 指定MR走shuffle --propertynameyarn.nodemanager.aux-services/namevaluemapreduce_shuffle/value/property!-- 指定ResourceManager的地址--propertynameyarn.resourcemanager.hostname/namevaluemaster/value/property!-- 环境变量的继承 --·propertynameyarn.nodemanager.env-whitelist/namevalueJAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR, CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME/value/property2.1.4 mapred-site.xml!-- 指定MapReduce程序运行在Yarn上 --propertynamemapreduce.framework.name/namevalueyarn/value/property2.1.5 hadoop-env.shexportJAVA_HOME/opt/module/javaexportHDFS_NAMENODE_USERrootexportHDFS_DATANODE_USERrootexportHDFS_SECONDARYNAMENODE_USERrootexportYARN_RESOURCEMANAGER_USERrootexportYARN_NODEMANAGER_USERroot2.1.6 workersmaster slave1 slave22.1.7 历史服务器配置mapred-site.xml!-- 历史服务器端地址 --propertynamemapreduce.jobhistory.address/namevaluemaster:10020/value/property!-- 历史服务器web端地址 --propertynamemapreduce.jobhistory.webapp.address/namevaluemaster:19888/value/property3.1 克隆master再克隆两台虚拟机slave1,slave2将master关机后克隆。 重新生成mac地址修改静态IP主机名查看防火墙是否已经关闭/etc/hosts配置是否齐全slave1节点[rootmaster ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33[rootmaster ~]# systemctl restart network[rootmaster ~]# hostnamectl set-hostname slave1[rootmaster ~]# bash[rootslave1 ~]# systemctl status firewalldslave2节点[rootmaster ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33[rootmaster ~]# systemctl restart network[rootmaster ~]# hostnamectl set-hostname slave2[rootmaster ~]# bash[rootslave2 ~]# systemctl status firewalld3.1.1 SSH无密登录配置三台虚拟机都已经可以正常工作但是仍然存在问题1实际工作中服务器被放置在机房同时受到地域和管理的限制通常不会直接在机器上操作而是通过远程连接服务器进行操作2一个节点一个节点启动非常繁琐当节点数有1000个时根本无法一个一个操作因此需要主节点代劳主节点去连接各个从节点来一次启动因而主节点就需要知道从节点的用户名和密码以免每次远程访问还需要不断输入用户名和密码。 为了解决这些问题可以用过配置SSH服务来实现远程登录和免密登录。SSH是Secure Shell的缩写它是建立在应用层基础上的安全协议。SSH是目前较为可靠专为远程登录会话和其他网络服务提供安全性的协议。SSH由客户端软件和服务端软件组成。配置ssh1基本语法ssh另一台电脑的ip地址无密钥配置1免密登录原理如图所示免密登陆原理2生成公钥和私钥[rootmaster ~]# ssh-keygen -t rsa然后敲三个回车就会生成两个文件id_rsa私钥、id_rsa.pub公钥3将公钥拷贝到要免密登录的目标机器上[rootmaster ~]# cd .ssh[rootmaster .ssh]# ssh-copy-id master[rootmaster .ssh]# ssh-copy-id slave1[rootmaster .ssh]# ssh-copy-id slave2slave1节点[rootslave1 ~]# ssh-keygen -t rsa[rootslave1 ~]# cd .ssh[rootslave1 .ssh]# ssh-copy-id master[rootslave1 .ssh]# ssh-copy-id slave1[rootslave1 .ssh]# ssh-copy-id slave2slave2节点[rootslave2 ~]# ssh-keygen -t rsa[rootslave2 ~]# cd .ssh[rootslave2 .ssh]# ssh-copy-id master[rootslave2 .ssh]# ssh-copy-id slave1[rootslave2 .ssh]# ssh-copy-id slave2.ssh文件夹下~/.ssh的文件功能解释known_hosts记录ssh访问过计算机的公钥(public key)id_rsa生成的私钥id_rsa.pub生成的公钥authorized_keys存放授权过得无密登录服务器公钥4.1 集群同时启动1. 分组件启动集群1如果集群是第一次启动需要格式化NameNode注意格式化之前一定要先停止上次启动的所有namenode和datanode进程然后再删除data和logs数据[rootmaster hadoop]# hdfs namenode -format2启动集群[rootmaster hadoop]# start-all.sh注意NameNode和ResourceManger如果不是同一台机器不能在NameNode上启动 YARN应该在配置了ResouceManager所在的机器上启动YARN。3Web端查看集群namenode浏览器中输入192.168.11.10:98702. 集群基本测试1上传文件到集群上传小文件[rootmaster hadoop]# cd ../../[rootmaster hadoop]# pwd/opt/module/hadoop[rootmaster hadoop]# mkdir wcinput[rootmaster hadoop]# cd wcinput[rootmaster wcinput]# vi wc.inputhadoop hello fandi hello hdfs helloyarnhello mapreduce hello[rootmaster wcinput]# cd ../[rootmaster hadoop]# hdfs dfs -mkdir -p /user/input[rootmaster hadoop]# hdfs dfs -put wcinput/wc.input /user/input上传大文件[rootmaster hadoop]# hdfs dfs -put /opt/software/hadoop-2.7.3.tar.gz /user/input2用MapReduce计算wordcount案例[rootmaster hadoop]# hadoop jarshare/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /user/input/wc.input /user/output[rootmaster hadoop]# hdfs dfs -cat /user/output/*3最后关机之前记得关闭集群master节点[rootmaster hadoop]# stop-all.sh5.1 集群启动/停止方式总结1. 各个服务组件逐一启动/停止1分别启动/停止HDFS组件hadoop-daemon.sh start / stop namenode / datanode / secondarynamenode2启动/停止YARNyarn-daemon.sh start / stop resourcemanager / nodemanager2. 整个集群的各个模块分开启动/停止配置ssh是前提1整体启动/停止HDFS在namenode上启动start-dfs.sh / 停止stop-dfs.sh2整体启动/停止YARN在resourcemanager上启动start-yarn.sh / 停止stop-yarn.sh3. 当namenode和resourcemanager配置在同一节点常用这种情况可以整体启动/停止集群启动start-all.sh停止stop-all.sh4. 历史服务器启动mapred --daemon start historyserver5. web页面端查看hadoop(namenode): 192.168.11.50:9870 yarn: 192.168.11.50:8088 历史服务器 192.168.11.50:19888 secondarynamenode: 192.168.11.52:9868同步视频教程链接十五分钟带你搭建Hadoop分布式集群保姆级教程