

{"id":50751,"date":"2019-02-27T11:48:37","date_gmt":"2019-02-27T06:18:37","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=50751"},"modified":"2021-08-25T22:32:41","modified_gmt":"2021-08-25T17:02:41","slug":"hadoop-high-availability","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/hadoop-high-availability\/","title":{"rendered":"Hadoop High Availability &#8211; Namenode Automatic Failover"},"content":{"rendered":"<p><span style=\"font-weight: 400\">Before Hadoop 2.0 that is Hadoop 1.0 faced a single point of failure (SPOF) in NameNode. This means if the NameNode failed the entire system would not function and manual intervention was necessary to bring the <strong><a href=\"https:\/\/data-flair.training\/blogs\/hadoop-cluster\/\">Hadoop cluster<\/a><\/strong> up with the help of secondary NameNode which resulted in overall downtime. With Hadoop 2.0 we had single standby node to facilitate automatic failover and with Hadoop 3.0 which supports multiple standby nodes, the system has become even more highly available. In this tutorial, we will talk about Hadoop high availability. We will look at various types of failover and discuss in detail how the <strong>components of Zookeeper<\/strong> provide for automatic failover.<\/span><\/p>\n<div id=\"attachment_50825\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/02\/hadoop-high-availability.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-50825\" class=\"size-full wp-image-50825\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/02\/hadoop-high-availability.jpg\" alt=\"hadoop high availability\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/02\/hadoop-high-availability.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/02\/hadoop-high-availability-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/02\/hadoop-high-availability-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/02\/hadoop-high-availability-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/02\/hadoop-high-availability-1024x536.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/02\/hadoop-high-availability-520x272.jpg 520w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-50825\" class=\"wp-caption-text\">Hadoop High Availability &#8211; Automatic Failover<\/p><\/div>\n<h2>1. What is Hadoop High Availability?<\/h2>\n<div class=\"KRQuhe\">With Hadoop 2.0, we have support for multiple NameNodes and with Hadoop 3.0 we have standby nodes. This overcomes the SPOF (Single Point Of Failure) issue using an extra NameNode (Passive Standby NameNode) for automatic failover. This is the high availability in Hadoop.<\/div>\n<h3><span style=\"font-weight: 400\">i. What is Failover?<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Failover is a process in which the system transfers control to a secondary system in an event of failure. <\/span><\/p>\n<p><span style=\"font-weight: 400\">There are two types of failover:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><b>Graceful Failover \u2013<\/b><span style=\"font-weight: 400\">\u00a0In this type of failover the administrator manually initiates it. We use graceful failover in case of routine system maintenance. There is a need to manually transfer the control to standby NameNode it does not happen automatically.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Automatic Failover \u2013\u00a0<\/b><span style=\"font-weight: 400\">In <strong>Automatic Failover<\/strong>, the system automatically transfers the control to standby NameNode without manual intervention. Without this automatic failover if the NameNode goes down then the entire system goes down. Hence the feature of Hadoop high availability is available only with this automatic failover, it acts as your insurance policy against a single point of failure. <\/span><\/li>\n<\/ul>\n<h2>2. NameNode High Availability in Hadoop<\/h2>\n<p><span style=\"font-weight: 400\">Automatic failover in Hadoop adds up below components to a Hadoop HDFS deployment:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">ZooKeeper quorum.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">ZKFailoverController Process (ZKFC).<\/span><\/li>\n<\/ul>\n<h3>i. Zookeeper\u00a0Quorum<\/h3>\n<p><span style=\"font-weight: 400\">Zookeeper quorum is a centralized service for maintaining small amounts of data for coordination, configuration, and naming. It provides group services and synchronization. It keeps the client informed about changes in data and track client failures.\u00a0<\/span><span style=\"font-weight: 400\">Implementation of automatic HDFS failover relies on Zookeeper for:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><b>Failure detection-<\/b><span style=\"font-weight: 400\">\u00a0 Zookeeper maintains a session with NameNode. In the event of failure, this session expires and the zookeeper informs the other NameNodes to start the failover process.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Active NameNode election-<\/b><span style=\"font-weight: 400\">\u00a0 Zookeeper provides a method to elect a node as an active node. Hence whenever his active NameNode fails, other NameNode takes on exclusive lock in the <strong><a href=\"https:\/\/data-flair.training\/blogs\/zookeeper-tutorial\/\">Zookeeper<\/a><\/strong>, stating that it wants to become the next active NameNode.<\/span><\/li>\n<\/ul>\n<h3>ii. ZKFailoverController (ZKFC)<\/h3>\n<p><b>ZKFC<\/b><span style=\"font-weight: 400\">\u00a0is a client of Zookeeper that monitors and manages the namenode status. So, each of the machines which run namenode service also runs a ZKFC.<\/span><\/p>\n<p><b>ZKFC handles:<\/b><\/p>\n<p><b>Health Monitoring &#8211; <\/b><span style=\"font-weight: 400\">ZKFC periodically pings the active NameNode with Health check command and if the NameNode doesn\u2019t respond it in time it will mark it as unhealthy. This may happen because the NameNode might be crashed or frozen. <\/span><\/p>\n<p><b>Zookeeper Session Management &#8211;<\/b><span style=\"font-weight: 400\">\u00a0 If the local NameNode is healthy it keeps a session open in the Zookeeper. If this local NameNode is active, it holds a special lock <strong><a href=\"https:\/\/data-flair.training\/blogs\/zookeeper-znodes\/\">znode<\/a><\/strong>. If the session expires then this lock will delete automatically. <\/span><\/p>\n<p><b>Zookeeper-based Election &#8211;<\/b><span style=\"font-weight: 400\">\u00a0If there is a situation where local NameNode is healthy and ZKFC gets to know that none of the other nodes currently holds the znode lock, the ZKFC itself will try to acquire that lock. If it succeeds in this task then it has won the election and becomes responsible for running a failover. The failover is similar to manual failover; first, the previously active node is fenced if required to do so and then the local node becomes the active node. <\/span><\/p>\n<h2><span style=\"font-weight: 400\">3. Summary<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Hence, in this Hadoop <strong><a href=\"https:\/\/hadoop.apache.org\/docs\/current\/hadoop-project-dist\/hadoop-hdfs\/HDFSHighAvailabilityWithNFS.html\">High Availability<\/a><\/strong> article, we saw Zookeeper daemons configure to run on three or five nodes. Since Zookeeper does not have high resource requirement it could be run on the same node as the HDFS Namenode or standby Namenode. Many operators choose to deploy third Zookeeper process on the same node as the YARN Resource Manager. So, it is advised to keep Zookeeper data separate from HDFS metadata i.e. on different disks as it will give the best performance and isolation.<\/span><\/p>\n<p>You must check the <strong><a href=\"https:\/\/data-flair.training\/blogs\/50-hadoop-interview-questions-and-answers\/\">latest Hadoop Interview Questions<\/a><\/strong> for your upcoming interview.<\/p>\n<p><span style=\"font-weight: 400\">Still, if any doubt regarding Hadoop High Availability, ask in the comments. We will definitely get back to you. <\/span><span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:1634,&quot;href&quot;:&quot;https:\\\/\\\/hadoop.apache.org\\\/docs\\\/current\\\/hadoop-project-dist\\\/hadoop-hdfs\\\/HDFSHighAvailabilityWithNFS.html&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20251209143952\\\/https:\\\/\\\/hadoop.apache.org\\\/docs\\\/current\\\/hadoop-project-dist\\\/hadoop-hdfs\\\/HDFSHighAvailabilityWithNFS.html&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-15 10:52:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-19 00:57:32&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-29 00:45:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-02 10:36:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-07 07:11:21&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-11 05:44:10&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-14 20:18:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-25 20:23:36&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-30 19:20:18&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-04 08:25:39&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-15 09:40:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-19 07:09:10&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-25 08:49:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-05 04:11:59&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-13 05:07:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-18 13:11:24&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-24 04:50:25&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-28 23:43:15&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-05 12:55:21&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-10 14:07:40&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-17 13:39:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-01 03:41:42&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-11 12:45:40&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-14 23:21:47&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-23 04:29:41&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-27 04:42:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-03 22:02:25&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-07-03 22:02:25&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Before Hadoop 2.0 that is Hadoop 1.0 faced a single point of failure (SPOF) in NameNode. This means if the NameNode failed the entire system would not function and manual intervention was necessary to&#46;&#46;&#46;<\/p>\n","protected":false},"author":7,"featured_media":50825,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22],"tags":[5210,5262,19062,19063],"class_list":["post-50751","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hadoop","tag-hadoop-automatic-failover","tag-hadoop-high-availability","tag-high-availability-in-hadoop","tag-namenode-high-availability"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Hadoop High Availability - Namenode Automatic Failover - DataFlair<\/title>\n<meta name=\"description\" content=\"This article provides a detailed about Hadoop High Availability feature in which we are discussing Namenode Automatic Failover in Hadoop.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/hadoop-high-availability\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hadoop High Availability - Namenode Automatic Failover - DataFlair\" \/>\n<meta property=\"og:description\" content=\"This article provides a detailed about Hadoop High Availability feature in which we are discussing Namenode Automatic Failover in Hadoop.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/hadoop-high-availability\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-02-27T06:18:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-08-25T17:02:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/02\/hadoop-high-availability.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hadoop High Availability - Namenode Automatic Failover - DataFlair","description":"This article provides a detailed about Hadoop High Availability feature in which we are discussing Namenode Automatic Failover in Hadoop.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/hadoop-high-availability\/","og_locale":"en_US","og_type":"article","og_title":"Hadoop High Availability - Namenode Automatic Failover - DataFlair","og_description":"This article provides a detailed about Hadoop High Availability feature in which we are discussing Namenode Automatic Failover in Hadoop.","og_url":"https:\/\/data-flair.training\/blogs\/hadoop-high-availability\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2019-02-27T06:18:37+00:00","article_modified_time":"2021-08-25T17:02:41+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/02\/hadoop-high-availability.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/hadoop-high-availability\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/hadoop-high-availability\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/beb0cab24b7aa54423a3b50e669a9dcd"},"headline":"Hadoop High Availability &#8211; Namenode Automatic Failover","datePublished":"2019-02-27T06:18:37+00:00","dateModified":"2021-08-25T17:02:41+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/hadoop-high-availability\/"},"wordCount":750,"commentCount":3,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/hadoop-high-availability\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/02\/hadoop-high-availability.jpg","keywords":["Hadoop Automatic failover","Hadoop High Availability","high availability in Hadoop","NameNode High Availability"],"articleSection":["Hadoop Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/hadoop-high-availability\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/hadoop-high-availability\/","url":"https:\/\/data-flair.training\/blogs\/hadoop-high-availability\/","name":"Hadoop High Availability - Namenode Automatic Failover - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/hadoop-high-availability\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/hadoop-high-availability\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/02\/hadoop-high-availability.jpg","datePublished":"2019-02-27T06:18:37+00:00","dateModified":"2021-08-25T17:02:41+00:00","description":"This article provides a detailed about Hadoop High Availability feature in which we are discussing Namenode Automatic Failover in Hadoop.","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/hadoop-high-availability\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/hadoop-high-availability\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/hadoop-high-availability\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/02\/hadoop-high-availability.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/02\/hadoop-high-availability.jpg","width":1200,"height":628,"caption":"Hadoop High Availability - Automatic Failover"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/hadoop-high-availability\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Hadoop Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/hadoop\/"},{"@type":"ListItem","position":3,"name":"Hadoop High Availability &#8211; Namenode Automatic Failover"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/beb0cab24b7aa54423a3b50e669a9dcd","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team specializes in creating clear, actionable content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Backed by industry expertise, we make learning easy and career-oriented for beginners and pros alike.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam3\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/50751","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=50751"}],"version-history":[{"count":5,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/50751\/revisions"}],"predecessor-version":[{"id":50906,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/50751\/revisions\/50906"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/50825"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=50751"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=50751"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=50751"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}