"use strict";(self.webpackChunkdoc_site=self.webpackChunkdoc_site||[]).push([[5889],{9155:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>d,default:()=>x,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var r=s(3274),n=s(5262);const o={sidebar_label:"Server"},d="Network Protocols Used Among Ozone Servers",i={id:"system-internals/network-protocols/server",title:"Network Protocols Used Among Ozone Servers",description:"TODO: File a subtask under HDDS-9862 and complete this page or section.",source:"@site/docs/07-system-internals/06-network-protocols/03-server.md",sourceDirName:"07-system-internals/06-network-protocols",slug:"/system-internals/network-protocols/server",permalink:"/docs/system-internals/network-protocols/server",draft:!1,unlisted:!1,editUrl:"https://github.com/apache/ozone-site/tree/HDDS-9225-website-v2/docs/07-system-internals/06-network-protocols/03-server.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_label:"Server"},sidebar:"tutorialSidebar",previous:{title:"Client",permalink:"/docs/system-internals/network-protocols/client"},next:{title:"Filesystem Optimization (FSO)",permalink:"/docs/system-internals/features/filesystem-optimization"}},c={},l=[];function a(e){const t={a:"a",h1:"h1",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,n.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"network-protocols-used-among-ozone-servers",children:"Network Protocols Used Among Ozone Servers"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"TODO:"})," File a subtask under ",(0,r.jsx)(t.a,{href:"https://issues.apache.org/jira/browse/HDDS-9862",children:"HDDS-9862"})," and complete this page or section."]}),"\n",(0,r.jsx)(t.p,{children:"For each section, indicate the network protocol that is used, why it is used, and how it is secured. Add some intro/explanation at the top here."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Client"}),(0,r.jsx)(t.th,{children:"Server"}),(0,r.jsx)(t.th,{children:"Protocol"}),(0,r.jsx)(t.th,{children:"Authentication"}),(0,r.jsx)(t.th,{children:"Encryption"}),(0,r.jsx)(t.th,{children:"Notes"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Ozone Manager"}),(0,r.jsx)(t.td,{children:"Storage Container Manager"}),(0,r.jsx)(t.td,{children:"gRPC"}),(0,r.jsx)(t.td,{children:"Certificate"}),(0,r.jsx)(t.td,{children:"TLS"}),(0,r.jsx)(t.td,{children:"Used to allocate blocks, delete blocks, and get block locations."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Ozone Manager"}),(0,r.jsx)(t.td,{children:"Ranger"}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Ozone Manager"}),(0,r.jsx)(t.td,{children:"S3 Secret Store"}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Datanode"}),(0,r.jsx)(t.td,{children:"Datanode"}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Datanode"}),(0,r.jsx)(t.td,{children:"Storage Container Manager"}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Datanode"}),(0,r.jsx)(t.td,{children:"Recon"}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Recon"}),(0,r.jsx)(t.td,{children:"Ozone Manager"}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Recon"}),(0,r.jsx)(t.td,{children:"Storage Container Manager"}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"All Ozone Components"}),(0,r.jsx)(t.td,{children:"Kerberos KDC"}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Prometheus"}),(0,r.jsx)(t.td,{children:"All Ozone Components"}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{})]})]})]})]})}function x(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},5262:(e,t,s)=>{s.d(t,{R:()=>d,x:()=>i});var r=s(9474);const n={},o=r.createContext(n);function d(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]);