【赵渝强老师】Hadoop的伪分布部署模式
Hadoop的安装和部署是大数据生态圈体系中最麻烦的一个。Hadoop部署完成后进一步地部署Spark和Flink就非常容易了。Hadoop的部署模式分为本地模式、伪分布模式和全分布模式。在学习完成了ZooKeeper的相关内容后还将进一步地学习Hadoop HA的部署。这里重点讨论一下Hadoop的伪分布部署模式。视频讲解如下【赵渝强老师】Hadoop的伪分布部署模式一、 Hadoop的目录结构在部署Hadoop之前需要对Hadoop的目录结构要有一定了解。先执行下面的语句将Hadoop的安装介质解压的/root/training目录。tar-zxvf hadoop-3.1.2.tar.gz-C ~/training/# 下面展示了Hadoop的目录结构[rootbigdata111 training]# tree -d -L 3 hadoop-3.1.2/hadoop-3.1.2/ ─ ─ ── HADOOP_HOME目录 ├── bin ─ ─ ── 最基本的管理和使用脚本所在的目录 ├── etc ─ ─ ── 配置文件所在目录 │ └── hadoop │ └── shellprofile.d ├── include ─ ─ ── 对外提供的编程库头文件目录 ├── lib ─ ─ ── 对外提供的编程动态库和静态库 │ └── native │ └── examples ├── libexec ─ ─ ── 各个服务Shell配置文件所在的目录 │ ├── shellprofile.d │ └── tools ├── sbin ─ ─ ── Hadoop管理脚本所在目录 │ └── FederationStateStore │ ├── MySQL │ └── SQLServer └── share ├── doc │ └── hadoop └── hadoop ─ ─ ── ─ 各个模块编译后的Jar包所在目录 ├── client ├── common ├── hdfs ├── mapreduce ├── tools └── yarn为了方便操作Hadoop需要设置HADOOP_HOME的环境变量并把bin和sbin目录加入系统的PATH路径中。下面列举了具体的步骤。1编辑文件~/.bash_profile文件。vi/root/.bash_profile2输入下面的环境变量信息并保存退出。HADOOP_HOME/root/training/hadoop-3.1.2 export HADOOP_HOME PATH$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATHexport PATH3生效环境变量。source/root/.bash_profile二、 【实战】部署Hadoop伪分布模式Hadoop伪分布式模式是在单机上模拟一个分布式环境它具备Hadoop的所有功能特性即具备HDFS和Yarn。由于在伪分布模式下依然只有一台主机因此这种模式并不是真正的集群环境。这种模式更多的是在开发和测试环境中使用该模式不建议在生产环境中使用Hadoop的伪分布模式。1进入Hadoop配置文件所在的目录cd/root/training/hadoop-3.1.2/etc/hadoop/2修改文件hadoop-env.sh设置JAVA_HOMEexport JAVA_HOME/root/training/jdk1.8.0_1813在/root/.bash_profile文件中增加下面的环境变量并执行source语句生效环境变量。export HDFS_DATANODE_USERroot export HDFS_DATANODE_SECURE_USERroot export HDFS_NAMENODE_USERroot export HDFS_SECONDARYNAMENODE_USERroot export YARN_RESOURCEMANAGER_USERroot export YARN_NODEMANAGER_USERroot4进入Hadoop配置文件所在目录。cd/root/training/hadoop-3.1.2/etc/hadoop/5修改hdfs-site.xml文件增加下面的内容。!--数据块的冗余度默认为3-- !--冗余度的配置原则一般与数据节点的个数一致最大不超过3-- property namedfs.replication/name value1/value /property !--禁用HDFS的权限功能-- !--开发环境设置为false-- !--生产环境设置为true-- property namedfs.permissions/name valuefalse/value /property6修改core-site.xml文件增加下面的内容。!--NameNode的地址-- property namefs.defaultFS/name valuehdfs://bigdata111:9000/value /property !--HDFS对应于操作系统目录-- !--该参数的默认值是Linux的tmp目录-- property namehadoop.tmp.dir/name value/root/training/hadoop-3.1.2/tmp/value /property7修改mapred-site.xml文件增加下面的内容。!--配置MapReduce运行的框架-- property namemapreduce.framework.name/name valueyarn/value /property !--以下是配置Hadoop的环境变量-- property nameyarn.app.mapreduce.am.env/name valueHADOOP_MAPRED_HOME${HADOOP_HOME}/value /property property namemapreduce.map.env/name valueHADOOP_MAPRED_HOME${HADOOP_HOME}/value /property property namemapreduce.reduce.env/name valueHADOOP_MAPRED_HOME${HADOOP_HOME}/value /property8修改yarn-site.xml文件增加下面的内容。!--配置的ResourceManager的地址-- property nameyarn.resourcemanager.hostname/name valuebigdata111/value /property !--NodeManager采用shuffle洗牌的方式来执行任务-- property nameyarn.nodemanager.aux-services/name valuemapreduce_shuffle/value /property9执行命令对NameNode进行格式化。hdfs namenode-format# 格式化成功后将看到如下的日志信息Storage directory/root/training/hadoop-3.1.2/tmp/dfs/name has been successfully formatted.10执行命令启动Hadoop集群如下图所示start-all.sh11执行jps命令查看后台的进程如下图所示。12通过9870端口访问HDFS的Web Consol如下图所示。13通过8081端口访问Yarn的Web Console如下图所示。14执行命令在HDFS上创建/input目录。hdfs dfs-mkdir/input15执行命令将/root/temp/data.txt文件上传到/input目录。hdfs dfs-put/root/temp/data.txt/input16执行MapReduce WordCount任务。cd/root/training/hadoop-3.1.2/share/hadoop/mapreduce/ hadoop jar hadoop-mapreduce-examples-3.1.2.jar wordcount/input/data.txt/output/wc17刷新Yarn的Web Console观察任务的执行过程如下图所示。18任务执行完成后在HDFS上观察输出的结果如下图所示。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2590316.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!