十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

副队长大数据教程(3)--Hadoop伪分布式部署

副队长大数据教程(3)--Hadoop伪分布式部署 文章目录1. 引子2. 前置准备必须全部做完2.1 一台已经装好的 CentOS7 虚拟机2.2 关闭防火墙、关闭 SELinux避免端口访问被拦截2.3 配置好主机名与 hosts 映射能够主机名互相解析2.4 配置免密 SSH 登录本机可以 ssh 无密码登录自己2.5 安装 JDK8配置 JAVA_HOME 环境变量Hadoop 依赖 Java 运行2.6 上传 Hadoop 安装包到 CentOS并解压3. 安装配置Hadoop3.1 配置环境变量3.2 修改Hadoop配置文件3.2.1 修改hadoop-env.sh文件3.2.2 修改core-site.xml3.2.3 修改hdfs-site.xml3.2.4 修改mapred-site.xml文件3.2.5 修改yarn-site.xml文件3.3 格式化 HDFS 文件系统4. 启动伪分布式Hadoop4.1 启动4.2 验证是否启动成功4.3 访问 Web UI 页面5. 关闭集群6. 小结1. 引子前面我们已经在 VMware 虚拟机里面装好 CentOS7 系统了。很多同学会疑惑Hadoop 安装分单机、伪分布式、完全分布式这三者到底有什么区别单机模式只是 Hadoop 的本地测试没有真正启动 HDFS 和 YARN算不上真正的集群。而完全分布式需要准备多台虚拟机配置起来工作量大对电脑内存要求很高。对于初学大数据的同学来说伪分布式是最合适的入门环境。它只需要一台 CentOS7 虚拟机所有 Hadoop 的守护进程NameNode、DataNode、ResourceManager、NodeManager都运行在同一台机器上逻辑上是一个集群。伪分布式可以完整模拟 Hadoop 的运行机制HDFS、MapReduce、YARN 都能正常使用学习 Hadoop 基础操作、跑测试案例足够用。今天这篇博客我们一步步讲解 Hadoop 伪分布式完整安装流程。2. 前置准备必须全部做完在安装 Hadoop 伪分布式之前我们要先把环境准备好缺一不可。2.1 一台已经装好的 CentOS7 虚拟机这个上一篇教程介绍的很详细了大家可以直接去看一下。2.2 关闭防火墙、关闭 SELinux避免端口访问被拦截先查看防火墙systemctl status firewalld然后关闭防火墙systemctl stop firewalld禁止开机启动为了避免每次开机后都要关闭防火墙systemctl disable firewalld关闭SELinux(安全增强型Linux)也是为了防止安装过程中报错通过vim修改文件然后重启vim/etc/sysconfig/selinux2.3 配置好主机名与 hosts 映射能够主机名互相解析使用如下命令修改的话重启后会自动还原hostnamelocalhost通过如下方式修改则永久生效vim/etc/hostname2.4 配置免密 SSH 登录本机可以 ssh 无密码登录自己每台机器互相之间无需输入密码可以直接登录。原理是采用公钥-私钥的体系。生成密钥ssh-keygen-trsa查看生成的文件复制pub文件创建密钥文件authorized_keyscp~/.ssh/id_rsa.pub ~/.ssh/authorized_keys验证免密登录无需输入密码就是配置成功2.5 安装 JDK8配置 JAVA_HOME 环境变量Hadoop 依赖 Java 运行首先从windows系统拷贝jdk文件到/usr/local下。第二进入/usr/local目录然后解压文件。cd/usr/localtarzxvf jdk-8u461-linux-x64.tar.gz第三修改文件名方便后续操作mvjdk1.8.0_461 jdk第四修改/etc/profile设置环境变量vim/etc/profile解释英文点表示当前目录冒号表示分割目录$表示取变量的值。2.6 上传 Hadoop 安装包到 CentOS并解压正常情况下直接从Windows系统复制下载好的Hadoop到虚拟机相关目录下即可然后使用如下命令解压然后重命名后待用。tar-zxvfhadoop-3.3.6.tar.gzmvhadoop-3.3.6.tar.gz hadoop3. 安装配置HadoopHadoop 的配置文件都在解压目录下etc/hadoop文件夹中伪分布式一共需要修改 4 个核心配置文件。我们使用 vim 编辑器编辑文件。3.1 配置环境变量编辑全局环境变量文件为Hadoop配置环境变量让系统任意位置都可以直接调用 hadoop 命令。vim/etc/profile在文件末尾增加exportHADOOP_HOME/usr/local/hadoopexportPATH$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin注意Hadoop3.x还需要添加以下配置否则可能报错exportHDFS_NAMENODE_USERrootexportHDFS_DATANODE_USERrootexportHDFS_SECONDARYNAMENODE_USERrootexportYARN_RESOURCEMANAGER_USERrootexportYARN_NODEMANAGER_USERroot保存退出执行命令生效source/etc/profile执行hadoop version如果能输出版本号代表环境变量配置成功。3.2 修改Hadoop配置文件这些配置文件都在/usr/local/hadoop/etc/hadoop下所以先进入该目录cd/usr/local/hadoop/etc/hadoop3.2.1 修改hadoop-env.sh文件这个文件是 Hadoop 的环境变量配置主要指定 Java 的安装路径。vimhadoop-env.sh找到 JAVA_HOME 配置项修改成你的 JDK 实际安装目录exportJAVA_HOME/usr/local/jdk3.2.2 修改core-site.xml核心全局配置用来配置 HDFS 的默认文件系统、NameNode 的地址还有 Hadoop 临时数据存放目录。vimcore-site.xml在configuration标签里面添加下面配置propertynamefs.defaultFS/namevaluehdfs://localhost:9000/value/propertypropertynamehadoop.tmp.dir/namevalue/usr/local/hadoop/tmp/value/property3.2.3 修改hdfs-site.xmlHDFS 的相关配置伪分布式下副本数量设置为 1因为只有一台机器不能保存多份副本。vimhdfs-site.xmlpropertynamedfs.replication/namevalue1/value/propertypropertynamedfs.http.address/namevaluelocalhost:50070/value/property3.2.4 修改mapred-site.xml文件MapReduce 运行框架配置指定使用 YARN 作为资源调度。vimmapred-site.xmlpropertynamemapreduce.framework.name/namevalueyarn/value/property3.2.5 修改yarn-site.xml文件YARN 资源管理器配置vimyarn-site.xmlpropertynameyarn.resourcemanager.hostname/namevaluelocalhost/value/propertypropertynameyarn.nodemanager.aux-services/namevaluemapreduce_shuffle/value/property3.3 格式化 HDFS 文件系统HDFS 格式化就像新硬盘格式化用来初始化 NameNode 的元数据生成集群唯一 ID创建 HDFS 根目录。不格式化的话NameNode 缺少底层目录结构集群无法启动。⚠️重要提醒格式化操作只需要执行一次反复多次格式化会造成集群数据损坏hdfs namenode-format看到提示successfully formatted就代表格式化成功。4. 启动伪分布式Hadoop4.1 启动执行如下命令启动start-all.sh4.2 验证是否启动成功使用 jps 命令查看 Java 进程验证是否全部启动成功jps伪分布式正常启动后能看到这 5 个进程NameNodeDataNodeSecondaryNameNodeResourceManagerNodeManager少任何一个进程就代表启动失败需要查看日志排查错误。如图4.3 访问 Web UI 页面集群启动成功后可以在 Windows 浏览器访问 Hadoop 网页管理界面。HDFS 页面http://localhost:50070查看 HDFS 文件系统YARN 页面http://localhost:8088查看任务调度、运行的 MapReduce 程序5. 关闭集群练习完毕关闭集群的命令stop-all.sh6. 小结Hadoop 伪分布式是单机器模拟集群非常适合新手入门学习。学习的时候不要死记配置每一步弄明白参数含义。搭建过程大概率会遇到各种报错遇到问题优先查看日志。亲手把伪分布式搭建成功你才算真正踏入 Hadoop 大数据的大门后面再学习完全分布式就轻松很多。
返回列表