集群配置,hadoop配置过程,细节满满 |
您所在的位置:网站首页 › hadoop集群部署前期准备 › 集群配置,hadoop配置过程,细节满满 |
做一个hadoop的配置流程的全记录,把遇到的问题和细节全都记录了下来。 目录 1.安装前准备 jdk,hadoop安装包: 2.开始安装jdk,hadoop 导入安装包 修改jdk,hadoop文件用户所属 配置jdk,hadoop 环境变量,添加对应环境变量 测试安装是否成功 3.hadoop 集群配置文件 core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml 配置workers文件 修改hadoop-env.sh 4.创建xsync集群群发脚本 在根目录中创建xsync脚本文件 修改xsync脚本权限 同步jdk,hadoop到集群 启动hadoop,测试集群 附加内容:下面内容为非必要配置,如果不需要,请跳过 1.历史服务器配置(jobhistory) 在web端中查看 如下图 文章中安装包的导入位置为opt/software 安装包的安装位置为/usr/local/src 1.安装前准备首先在开始安装hadoop前,准备好需要的相关安装包和配置 #安装vim编辑器: yum install -y vim #安装rsync远程同步工具 yum install -y rsync jdk,hadoop安装包:我这里使用jdk 1.8 版本,hadoop 3.3.4版本 这是jdk的下载地址 https://www.oracle.com/java/technologies/downloads/#java8 选择符合你电脑的版本(正常使用Windows的选择最下方即可) hadoop的下载地址 https://hadoop.apache.org/releases.html 选择下载hadoop的版本,下载对应版本的binary安装包 (2)如果你的集群虚拟机已经都创建完成,且确保网络,ssh密钥登陆 都做好了后,就可以开始安装jdk和hadoop了 如果网络还没有完成,可以看我的另一篇文章,把网络配置文件确保配置完成。 集群配置,网络配置部分_酥悲清风的博客-CSDN博客 如果ssh密钥连接还没有做好,可以参考我的另一篇文章。这一步是集群配置的关键 集群配置,ssh免密登录_酥悲清风的博客-CSDN博客 2.开始安装jdk,hadoop 导入安装包导入安装包到opt/software中解压 tar -zxvf /opt/software/jdk-8u341-linux-x64.tar.gz -C /usr/local/src tar -zxvf /opt/software/hadoop-3.3.4.tar.gz -C /usr/local/src/解压安装包到/usr/local/src 进入安装目录,修改对应安装包文件名,改成jdk,hadoop (注意如果不修改文件名注意配置环境变量文件中对应文件名也要更改) 修改jdk,hadoop文件用户所属 修改jdk,hadooop所在目录的所属用户 chown -R hadoop:hadoop /usr/local/src 配置jdk,hadoop 环境变量,添加对应环境变量 #JAVA_HOME export JAVA_HOME=/usr/local/src/jdk export PATH=$PATH:$JAVA_HOME/bin 保存后退出 :wq #HADOOP_HOME export HADOOP_HOME=/usr/local/src/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin重启配置文件,使其生效 source /etc/profile 测试安装是否成功如果没有打错字符的话不应该出错 java -version #测试jdk hadoop version #测试hadoop 3.hadoop 集群配置文件在/usr/local/src/hadoop/etc/hadoop 中的对应配置文件中加入下面的相关参数 core-site.xml fs.defaultFS hdfs://master:9000 hadoop.tmp.dir /usr/local/src/hadoop/data hadoop.http.staticuser.user hadoop hdfs-site.xml dfs.namenode.http-address master:9870 dfs.namenode.secondary.http-address slave2:9868 yarn-site.xml yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.hostname master yarn.nodemanager.env-whitelist JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME mapred-site.xml mapreduce.framework.name yarn 配置workers文件(也在/usr/local/src/hadoop/etc/hadoop 中) (如果没有创建即可) (注意不要有空行,最后一行不要留有空格) 修改hadoop-env.sh修改hadoop-env.sh文件中,JAVA_HOME=对应信息,改成你的jdk目录 PS:注意删除‘ # ’注释符号 4.创建xsync集群群发脚本#安装rsync远程同步工具 每台虚拟机都要安装 yum install -y rsync 在/root/中创建bin目录在目录中创建 一个文件命名为xsyncps:注意我的脚本参数,需要根据你自己的虚拟机名,改变for循环遍历参数 #!/bin/bash #1. 判断参数个数 if [ $# -lt 1 ] then echo Not Enough Arguement! exit; fi #2. 遍历集群所有机器 for host in master slave1 slave2 do echo ==================== $host ==================== #3. 遍历所有目录,挨个发送 for file in $@ do #4. 判断文件是否存在 if [ -e $file ] then #5. 获取父目录 pdir=$(cd -P $(dirname $file); pwd) #6. 获取当前文件的名称 fname=$(basename $file) ssh $host "mkdir -p $pdir" rsync -av $pdir/$fname $host:$pdir else echo $file does not exists! fi done done 修改xsync脚本权限 #我这图省事直接赋予了777权限 chmod 777 xsyncsed -i 's/\r$//' xsync 因为这个文件在Windows 下编辑过,在Windows下每一行结尾是\n\r,而Linux下则是\n,所以才会有多出来的\r。 使用指令sed -i 's/\r$//' xxxxxxx,上面的指令会把 xxxxxxx 中的\r 替换成空白! 同步jdk,hadoop到集群ps:xsync脚本命令一定要手动输入,复制粘贴会导致路径名后有空格,导致无法识别路径 使用脚本时,要注意如果在绝对路径下使用xsync,可以直接使用, 如果没有在绝对路径下,需要在命令前加上sh ,或者在/etc/profile中添加环境变量 sh xsync /etc/profile #同步环境变量 sh xsync /usr/local/src #同步jdk,hadoop 初始化hadoop hdfs namenode -format只要没有报错,就说明hadoop初始化成功了 启动hadoop,测试集群 #在master虚拟机上启动 start-all.sh 附加内容:下面内容为非必要配置,如果不需要,请跳过 1.历史服务器配置(jobhistory)(1)添加配置mapred-site.xml,yarn-site.xml mapred-site.xml mapreduce.jobhistory.address master:10020 mapreduce.jobhistory.webapp.address master:19888 mapreduce.jobhistory.done-dir /history/done mapreudce.jobhistory.intermediate.done-dir /history/done/done_intermediateyarn-site.xml yarn.log-aggregation-enable true yarn.log.server.url http://master:19888/jobhistory/logs yarn.log-aggregation.retain-seconds 604800(2)分发配置到其他虚拟机 xsync /usr/local/src/hadoop/etc/hadoop/mapred-site.xml xsync /usr/local/src/hadoop/etc/hadoop/yarn-site.xml如果没有按照我上面的步骤配置xsync,也可以下载配置文件到电脑中,在依次上传到其他虚拟机 (3)在master启动历史服务器 mr-jobhistory-daemon.sh start historyserver #如果出现权限不够,看看当前用户是否切换错误,以及hadoop文件用户所属 在web端中查看端口名称 Hadoop3.x NameNode内部通信端口 8020 / 9000/9820 NameNode HTTP UI 9870 MapReduce查看执行任务端口 8088 历史服务器通信端口 19888 红色标注表示为教程中使用的端口号 在浏览器中输入 对应主机名:对应端号,即可进入对应web端界面 如下图
如果无法登陆到jobhistory,且之前配置没有问题的话,大概率是hadoo的安全模式开启了 hadoop dfsadmin -safemode leave 退出即可
感谢您的观看,您的支持是我最大的动力。 如有侵权,请联系作者下架 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |