当前位置: 首页 > news >正文

做网站前端ps很重要吗应用公园制作app下载

做网站前端ps很重要吗,应用公园制作app下载,购物网站建设要多少钱,阿勒泰高端网站建设公司文章目录 关于HadoopHadoop拓扑结构Namenode 和 Datanode 基本管理启动Hadoop启动YARN验证Hadoop服务停止Hadoop停止HDFS Hadoop集群搭建步骤准备阶段Java环境配置Hadoop安装与配置HDFS格式化与启动服务测试集群安装额外组件监控与维护#xff1a; 使用Docker搭建集群使用Hado… 文章目录 关于HadoopHadoop拓扑结构Namenode 和 Datanode 基本管理启动Hadoop启动YARN验证Hadoop服务停止Hadoop停止HDFS Hadoop集群搭建步骤准备阶段Java环境配置Hadoop安装与配置HDFS格式化与启动服务测试集群安装额外组件监控与维护 使用Docker搭建集群使用Hadoop读写数据写入数据到HDFS读数据 使用Hadoop进行分布式计算 本文帮助大家快速上手Hadoop。 关于Hadoop Google通过三篇重量级论文为大数据时代提供了三项革命性技术GFS、MapReduce和BigTable即所谓的Google大数据的“三驾马车”。 GFSGoogle File System是Google面向大规模数据密集型应用的、可伸缩的分布式文件系统可在廉价的硬件上运行并具有可靠的容错能力。MapReduce是一种并行编程模式可以在超大分布式集群上并行运算对超大规模数据集进行处理。BigTable是在GFS上构建的处理结构化数据的分布式数据库可以用于处理海量数据的更新和随机查询。 Hadoop和Hbase是基于这三项技术发展出的开源实现。在大数据分析和处理领域Hadoop兼容体系已经成为一个非常成熟的生态圈涵盖了很多大数据相关的基础组件包括Hadoop、Hbase、Hive、Spark、Flink、Storm、Presto、Impala等。 Hadoop拓扑结构 Namenode 和 Datanode HDFS采用master/slave架构。一个HDFS集群是由一个Namenode和一定数目的Datanodes组成。Namenode是一个中心服务器负责管理文件系统的名字空间(namespace)以及客户端对文件的访问。集群中的Datanode一般是一个节点一个负责管理它所在节点上的存储。HDFS暴露了文件系统的名字空间用户能够以文件的形式在上面存储数据。从内部看一个文件其实被分成一个或多个数据块这些块存储在一组Datanode上。Namenode执行文件系统的名字空间操作比如打开、关闭、重命名文件或目录。它也负责确定数据块到具体Datanode节点的映射。Datanode负责处理文件系统客户端的读写请求。在Namenode的统一调度下进行数据块的创建、删除和复制。 Namenode和Datanode被设计成可以在普通的商用机器上运行。这些机器一般运行着GNU/Linux操作系统(OS)。HDFS采用Java语言开发因此任何支持Java的机器都可以部署Namenode或Datanode。由于采用了可移植性极强的Java语言使得HDFS可以部署到多种类型的机器上。一个典型的部署场景是一台机器上只运行一个Namenode实例而集群中的其它机器分别运行一个Datanode实例。这种架构并不排斥在一台机器上运行多个Datanode只不过这样的情况比较少见。 集群中单一Namenode的结构大大简化了系统的架构。Namenode是所有HDFS元数据的仲裁者和管理者这样用户数据永远不会流过Namenode。 基本管理 Hadoop集群的启动和停止涉及到其多个服务的管理主要包括HDFSHadoop Distributed File System和YARNYet Another Resource Negotiator。这些服务通常通过位于Hadoop安装目录下的脚本来控制。 启动Hadoop 启动HDFS打开终端并切换到Hadoop的sbin目录。 运行start-dfs.sh脚本来启动HDFS。这将依次启动NameNode、Secondary NameNode和所有DataNodes如果是在集群模式下。 cd $HADOOP_HOME/sbin./start-dfs.sh启动YARN 在同一个sbin目录下运行start-yarn.sh脚本来启动YARN。这将启动ResourceManager和所有NodeManagers。 ./start-yarn.sh验证Hadoop服务 使用jps命令来验证Hadoop服务是否已经启动。 jps你应该能看到NameNode, DataNode, SecondaryNameNode, ResourceManager, 和 NodeManager 进程。 停止Hadoop 停止YARN在Hadoop的sbin目录下运行stop-yarn.sh脚本来停止YARN服务。 ./stop-yarn.sh停止HDFS 接着运行stop-dfs.sh脚本来停止HDFS服务。 ./stop-dfs.sh这将依次停止所有DataNodes、Secondary NameNode和NameNode。 全部停止 如果你想一次性停止所有Hadoop服务可以运行stop-all.sh脚本。 ./stop-all.sh同样地如果你想一次性启动所有Hadoop服务可以运行start-all.sh脚本。 ./start-all.sh请注意这些脚本可能会根据你的Hadoop版本和配置略有不同。在某些情况下你可能需要使用完整的路径来引用这些脚本例如$HADOOP_HOME/sbin/start-dfs.sh。 另外如果你使用的是Hadoop 2.x或更高版本YARN的启动和停止脚本名可能与上面提到的不同。例如在Hadoop 2.x中YARN的启动脚本可能是start-yarn.sh而不是start-mapred.sh。在使用这些脚本之前请确保你查阅了你的Hadoop版本的官方文档。 Hadoop集群搭建步骤 搭建Hadoop集群涉及多个步骤具体取决于你的硬件环境、操作系统选择以及Hadoop的版本。以下是一个基于Linux系统的Hadoop集群搭建的基本流程 准备阶段 环境规划确定Hadoop集群的规模包括Master节点和Slave节点的数量以及它们之间的网络拓扑结构。 硬件准备确保所有服务器满足Hadoop的要求如足够的CPU、内存和磁盘空间。 操作系统安装在所有服务器上安装相同版本的Linux发行版。 SSH无密码登录配置Master节点到所有其他节点的SSH无密码登录便于远程管理。 时钟同步使用NTP或其他工具同步所有节点的系统时间。 关闭防火墙暂时关闭防火墙以避免网络问题。Java环境配置 安装Java在所有节点上安装Java SE Development Kit (JDK)并配置JAVA_HOME环境变量。Hadoop安装与配置 上传Hadoop将Hadoop的tar.gz压缩包上传至所有节点的指定目录。 解压Hadoop在每个节点上解压Hadoop压缩包。 配置Hadoop编辑Hadoop的核心配置文件如core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site.xml等确保它们指向正确的存储目录和网络配置。 环境变量设置在所有节点上设置HADOOP_HOME环境变量并更新.bashrc或.profile以包含Hadoop的bin目录。HDFS格式化与启动服务 格式化HDFS在Master节点上执行HDFS格式化命令。 启动Hadoop服务在Master节点上启动HDFS和YARN服务。测试集群 测试HDFS上传一些数据到HDFS并检查是否能够正确读取。 测试MapReduce或YARN运行一个简单的MapReduce任务或Spark作业确保集群正常工作。安装额外组件 安装Hive如果需要SQL-like查询能力可以在Hadoop集群上安装Hive。 安装HBase如果需要NoSQL数据库功能可以安装HBase。监控与维护 安装监控工具例如使用Ganglia或Nagios监控集群健康状态。 定期维护包括数据平衡、日志分析和软件升级等。请注意具体的配置细节会根据Hadoop的版本和你的具体需求有所不同。如果你正在使用Hadoop 2.x或3.x某些配置文件的名称可能略有不同比如mapred-site.xml在Hadoop 2.x中被mapreduce-site.xml所取代。 在实际操作中你可能需要参考Hadoop官方文档和相关的社区指南来获得最新的配置建议和解决潜在的问题 使用Docker搭建集群 使用Docker搭建Hadoop集群可以简化部署过程同时提供更好的隔离性和可移植性。以下是一个使用Docker和Docker Compose搭建Hadoop伪分布式环境的步骤 步骤1: 准备Docker镜像 首先你需要获取Hadoop的Docker镜像。你可以在Docker Hub上找到预构建的Hadoop镜像或者自己构建一个。这里假设你使用的是bde2020/hadoop-distrubuted镜像。 步骤2: 编写Docker Compose文件 创建一个docker-compose.yml文件定义你的Hadoop集群。以下是一个示例文件用于创建一个包含NameNode、DataNode和JobTracker的伪分布式集群 version: 3services:namenode:image: bde2020/hadoop-distrubuted:latestcontainer_name: hadoop_namenoderestart: alwaysvolumes:- ./hadoop/namenode:/hadoop/dfs/namenodeenvironment:SERVICE_PRECONDITION: datanode:9866 jobtracker:9001ports:- 50070:50070datanode:image: bde2020/hadoop-distrubuted:latestcontainer_name: hadoop_datanoderestart: alwaysvolumes:- ./hadoop/datanode:/hadoop/dfs/datanodeports:- 9866:9866jobtracker:image: bde2020/hadoop-distrubuted:latestcontainer_name: hadoop_jobtrackerrestart: alwaysports:- 9001:9001secondarynamenode:image: bde2020/hadoop-distrubuted:latestcontainer_name: hadoop_secondarynamenoderestart: alwaysvolumes:- ./hadoop/secondarynamenode:/hadoop/dfs/secondarynamenodeports:- 50090:50090步骤3: 格式化HDFS并启动集群 在你的Docker Compose文件所在的目录下运行以下命令来格式化HDFS并启动集群 # 格式化HDFS docker-compose run --rm namenode /usr/local/bin/hadoop namenode -format# 启动集群 docker-compose up -d步骤4: 验证集群 你可以通过访问各个服务的Web UI来验证集群是否正常运行。例如NameNode的Web UI通常可以通过http://localhost:50070/访问。 步骤5: 使用Hadoop集群 现在你可以在容器内部或外部运行Hadoop命令例如上传文件到HDFS或提交MapReduce作业。为了在宿主机上运行Hadoop命令并连接到Docker中的集群你可能需要配置/.bashrc或/.profile来包含Docker容器中的Hadoop bin目录。 以上步骤描述了一个基础的Hadoop伪分布式集群的搭建过程。对于全分布式集群你可能需要在多台物理机器上运行Docker并调整Docker Compose文件以反映你的网络配置。 使用Hadoop读写数据 在Hadoop中我们通常使用HDFSHadoop Distributed File System进行数据存储以及MapReduce或Spark进行数据处理。以下是一个使用Java API进行HDFS数据读写的简单示例 写入数据到HDFS import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IOUtils;import java.io.FileOutputStream; import java.io.OutputStream; import java.net.URI;public class HDFSWritter {public static void main(String[] args) throws Exception {Configuration conf new Configuration();FileSystem fs FileSystem.get(URI.create(hdfs://namenode:9000), conf, hdfs);String file /path/to/your/file;OutputStream out fs.create(new Path(file));IOUtils.copyBytes(This is some text, 0, 15, out, conf);IOUtils.closeStream(out);fs.close();} }读数据 import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IOUtils;import java.io.InputStream; import java.net.URI;public class HDFSReader {public static void main(String[] args) throws Exception {Configuration conf new Configuration();FileSystem fs FileSystem.get(URI.create(hdfs://namenode:9000), conf, hdfs);String file /path/to/your/file;InputStream in fs.open(new Path(file));IOUtils.copyBytes(in, System.out, 4096, false);IOUtils.closeStream(in);fs.close();} }注意在上述代码中“namenode:9000”应替换为你的Hadoop集群的namenode地址和端口“hdfs”应替换为你的Hadoop集群的用户名“/path/to/your/file”应替换为你想要读写文件的实际路径。 此外你还需要在你的项目中添加Hadoop的依赖例如在Maven的pom.xml中添加 dependenciesdependencygroupIdorg.apache.hadoop/groupIdartifactIdhadoop-client/artifactIdversion3.2.1/version/dependency /dependencies使用Hadoop进行分布式计算 在Hadoop中主要通过MapReduce框架来进行分布式计算。下面是一个使用Java编写的简单WordCount程序的例子它展示了如何使用Hadoop MapReduce进行分布式计算。 步骤1: 创建Mapper类 import java.io.IOException; import java.util.StringTokenizer;import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Mapper;public class WordCountMapper extends MapperLongWritable, Text, Text, IntWritable {private final static IntWritable one new IntWritable(1);private Text word new Text();public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {String line value.toString();StringTokenizer tokenizer new StringTokenizer(line);while (tokenizer.hasMoreTokens()) {word.set(tokenizer.nextToken());context.write(word, one);}} }步骤2: 创建Reducer类 import java.io.IOException;import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Reducer;public class WordCountReducer extends ReducerText, IntWritable, Text, IntWritable {private IntWritable result new IntWritable();public void reduce(Text key, IterableIntWritable values, Context context) throws IOException, InterruptedException {int sum 0;for (IntWritable val : values) {sum val.get();}result.set(sum);context.write(key, result);} }步骤3: 创建Driver类 import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;public class WordCountDriver {public static void main(String[] args) throws Exception {Configuration conf new Configuration();Job job Job.getInstance(conf, word count);job.setJarByClass(WordCountDriver.class);job.setMapperClass(WordCountMapper.class);job.setCombinerClass(WordCountReducer.class);job.setReducerClass(WordCountReducer.class);job.setOutputKeyClass(Text.class);job.setOutputValueClass(IntWritable.class);FileInputFormat.addInputPath(job, new Path(args[0]));FileOutputFormat.setOutputPath(job, new Path(args[1]));System.exit(job.waitForCompletion(true) ? 0 : 1);} }运行程序 首先你需要将输入文本文件放到HDFS上然后运行你的MapReduce程序。假设你的输入文件在HDFS上的路径是/user/input输出路径是/user/output那么你可以在命令行中使用以下命令运行你的程序 hadoop jar your-jar-file.jar WordCountDriver /user/input /user/output
http://www.dnsts.com.cn/news/12414.html

相关文章:

  • 网站怎样做优化调整内蒙古两学一做网站
  • 网站开发团队人员建设通和天眼查网站
  • 网站片区最有前景的代理产品
  • 江门好的建站网站手机上page转换wordpress
  • 网站专题模板wordpress获取不同分类文章
  • 卖网站赚钱吗后期网站
  • 网站的一般制作流程公司建网站制作平台
  • 益阳市建设局网站湖州百度网站建设
  • 有什么免费做代理的网站北京网站制作飞沐
  • 企业网站建设方案怎么写网站建设咨询中心
  • 哈尔滨网站设计小程序开发定制外包15
  • a站app制作装饰公司网站
  • 怎样登录韵网网站浅谈一下网络营销的几个误区
  • 培训方案网站建设wordpress实现预览
  • 怎样做网站分流赚钱庄河市城乡规划建设局网站
  • 深圳画册设计网站wordpress yeti2.0
  • 网站负责人可以备案织梦网站程序安装
  • 大型网站的制作国内网站开发平台哪家强
  • 制作自己的网站合肥生态丽景网站建设
  • 做招聘信息的网站有哪些搭建本地网站做色流
  • 公司网站制作申请报告深圳专业高端网站建设多少钱
  • 网站名称创意大全北京正规网站建设公司
  • 维护网站的职位叫什么网站制作套餐
  • 湖北网站设计制作公司有哪些搜索引擎优化包括哪些方面
  • 呼和浩特做网站的地方做网站公司汉狮价格
  • 站长检测同ip网站很多怎么办产品设计需要学的软件
  • 网站兼容性代码比百度更好的网站
  • 怎么做推广和宣传企业做网站seo排名优化培训班
  • 官网和门户网站的区别软件开发专业哪个学校好
  • 网站建设学生选课课程设计报告网络营销案例ppt