Files
doc-exports/docs/mrs/umn/admin_guide_000092.html
Yang, Tong 2195db241c MRS UMN 20231220 version update
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com>
Reviewed-by: Rechenburg, Matthias <matthias.rechenburg@t-systems.com>
Co-authored-by: Yang, Tong <yangtong2@huawei.com>
Co-committed-by: Yang, Tong <yangtong2@huawei.com>
2024-05-16 09:40:21 +00:00

98 lines
17 KiB
HTML

<a name="admin_guide_000092"></a><a name="admin_guide_000092"></a>
<h1 class="topictitle1">Multi-Tenant Model</h1>
<div id="body1529658735913"><div class="section" id="admin_guide_000092__sd971c353bb2f463987ca2be470d80dad"><h4 class="sectiontitle">Related Model</h4><p id="admin_guide_000092__a0c7c31af2c3741b39af3a5632e68c1be">The following figure shows a multi-tenant model.</p>
</div>
<div class="fignone" id="admin_guide_000092__f486ae0dbdc8a4d6285e9d6e8ac5cbde0"><a name="admin_guide_000092__f486ae0dbdc8a4d6285e9d6e8ac5cbde0"></a><a name="f486ae0dbdc8a4d6285e9d6e8ac5cbde0"></a><span class="figcap"><b>Figure 1 </b>Multi-tenant model</span><br><span><img id="admin_guide_000092__i35cfabe7c33f41b3a72e017e1198eadf" src="en-us_image_0000001392733950.png"></span></div>
<p id="admin_guide_000092__en-us_topic_0041699829_p922192022341"><a href="#admin_guide_000092__t8493e085f6bc470eb314c82866f86756">Table 1</a> describes the concepts involved in <a href="#admin_guide_000092__f486ae0dbdc8a4d6285e9d6e8ac5cbde0">Figure 1</a>.</p>
<div class="tablenoborder"><a name="admin_guide_000092__t8493e085f6bc470eb314c82866f86756"></a><a name="t8493e085f6bc470eb314c82866f86756"></a><table cellpadding="4" cellspacing="0" summary="" id="admin_guide_000092__t8493e085f6bc470eb314c82866f86756" frame="border" border="1" rules="all"><caption><b>Table 1 </b>Concepts in the model</caption><thead align="left"><tr id="admin_guide_000092__rb9782b0653c3414ab874f7513133ebf3"><th align="left" class="cellrowborder" valign="top" width="10%" id="mcps1.3.4.2.3.1.1"><p id="admin_guide_000092__a66f10f4223394b79ba668bdbaf9c81c0">Concept</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="90%" id="mcps1.3.4.2.3.1.2"><p id="admin_guide_000092__a21d09339df8b4f058c41bd9efc0c2abe">Description</p>
</th>
</tr>
</thead>
<tbody><tr id="admin_guide_000092__r8dde87adc1ad4ec7ac8652f67fb26d56"><td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.4.2.3.1.1 "><p id="admin_guide_000092__a1f2ec10fa6554d4e8d1c222409f9874e">User</p>
</td>
<td class="cellrowborder" valign="top" width="90%" headers="mcps1.3.4.2.3.1.2 "><p id="admin_guide_000092__a5fd7e9f9a0a54dfd9fa71e6073efe8d7">A natural person who has a username and password and uses the big data cluster.</p>
<p id="admin_guide_000092__a52679018f4c34a529f5aa6eb7bacdc6a">There are three different users in <a href="#admin_guide_000092__f486ae0dbdc8a4d6285e9d6e8ac5cbde0">Figure 1</a>: user A, user B, and user C.</p>
</td>
</tr>
<tr id="admin_guide_000092__r1bc23fd575e04058b4622f02c40d6208"><td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.4.2.3.1.1 "><p id="admin_guide_000092__ada12e44e1ed246cd97cdbe8eec37ca92">Role</p>
</td>
<td class="cellrowborder" valign="top" width="90%" headers="mcps1.3.4.2.3.1.2 "><p id="admin_guide_000092__aa0648303a99e4af881e134b67eb2c393">A role is a carrier of one or more permissions. Permissions are assigned to specific objects, for example, access permissions for the <strong id="admin_guide_000092__b1567465018526">/tenant</strong> directory in HDFS.</p>
<p id="admin_guide_000092__a6f52ffbfc2ff491ea294da514eef6e7f"><a href="#admin_guide_000092__f486ae0dbdc8a4d6285e9d6e8ac5cbde0">Figure 1</a> shows four roles: <strong id="admin_guide_000092__b54991301120">t1</strong>, <strong id="admin_guide_000092__b115262076118">t2</strong>, <strong id="admin_guide_000092__b01981312411">t3</strong>, and <strong id="admin_guide_000092__b76781810123">Manager_tenant</strong>.</p>
<ul id="admin_guide_000092__u48fcff351ffd46f3854012a0f27cc3f4"><li id="admin_guide_000092__l047205efce7249c888184b785c31e6c5">Roles <strong id="admin_guide_000092__b15771124719211">t1</strong>, <strong id="admin_guide_000092__b4771104720217">t2</strong>, and <strong id="admin_guide_000092__b1877164714212">t3</strong> are automatically generated when tenants are created. The role names are the same as the tenant names. That is, roles <strong id="admin_guide_000092__b2055019321333">t1</strong>, <strong id="admin_guide_000092__b75501632132">t2</strong>, and <strong id="admin_guide_000092__b25501632533">t3</strong> map to tenants <strong id="admin_guide_000092__b347218421939">t1</strong>, <strong id="admin_guide_000092__b247274211319">t2</strong>, and <strong id="admin_guide_000092__b3472742132">t3</strong>. Role names and tenant names need to be used in pair.</li><li id="admin_guide_000092__lf57e155e64af4d80b20a2a7fe43a4267">Role <strong id="admin_guide_000092__b144855411262">Manager_tenant</strong> is defaulted in the cluster and cannot be used separately.</li></ul>
</td>
</tr>
<tr id="admin_guide_000092__rf513e59ba73945dd83c9ee5b11bf598a"><td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.4.2.3.1.1 "><p id="admin_guide_000092__a392adcbc4b4d41789fbfd063591f1f71">Tenant</p>
</td>
<td class="cellrowborder" valign="top" width="90%" headers="mcps1.3.4.2.3.1.2 "><p id="admin_guide_000092__aa0d6605bfe10407ca28317eb6153fb15">A tenant is a resource set in a big data cluster. Multiple tenants are referred to as multi-tenancy. The resource sets further divided under a tenant are called sub-tenants.</p>
<p id="admin_guide_000092__en-us_topic_0041699829_p21007185511"><a href="#admin_guide_000092__f486ae0dbdc8a4d6285e9d6e8ac5cbde0">Figure 1</a> shows three tenants: <strong id="admin_guide_000092__b18883124214143">t1</strong>, <strong id="admin_guide_000092__b14883542181416">t2</strong>, and <strong id="admin_guide_000092__b488344216144">t3</strong>.</p>
</td>
</tr>
<tr id="admin_guide_000092__r7831f83fca8f412da944400871a53502"><td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.4.2.3.1.1 "><p id="admin_guide_000092__a795fcc19162f48468446e7f11ffa3174">Resource</p>
</td>
<td class="cellrowborder" valign="top" width="90%" headers="mcps1.3.4.2.3.1.2 "><ul id="admin_guide_000092__u7fc693502d7843d0807104a738cb6491"><li id="admin_guide_000092__l00bb6b8b3d584448b808d8a061295091">Computing resources include CPUs and memory.<p id="admin_guide_000092__afb045f6167be44ed9c1ed2059bb42e66"><a name="admin_guide_000092__l00bb6b8b3d584448b808d8a061295091"></a><a name="l00bb6b8b3d584448b808d8a061295091"></a>The computing resources of a tenant are allocated from the total computing resources in the cluster. One tenant cannot occupy the computing resources of another tenant.</p>
<p id="admin_guide_000092__a8c5df62601614567aa0b38d22ad1fcf1">In <a href="#admin_guide_000092__f486ae0dbdc8a4d6285e9d6e8ac5cbde0">Figure 1</a>, computing resources 1, 2, and 3 are allocated for tenants <strong id="admin_guide_000092__b1112312191215">t1</strong>, <strong id="admin_guide_000092__b81239191212">t2</strong>, and <strong id="admin_guide_000092__b101230197216">t3</strong> respectively from the cluster's computing resources.</p>
</li><li id="admin_guide_000092__l940862b162c4497b86e52f2e29159128">Storage resources include disks and third-party storage systems.<p id="admin_guide_000092__aac9b3a6e8ff24a5f9a565300ff525095"><a name="admin_guide_000092__l940862b162c4497b86e52f2e29159128"></a><a name="l940862b162c4497b86e52f2e29159128"></a>The storage resources of a tenant are allocated from the total storage resources in the cluster. One tenant cannot occupy the storage resources of another tenant.</p>
<p id="admin_guide_000092__a55af15064f694e62a853308b20043f18">In <a href="#admin_guide_000092__f486ae0dbdc8a4d6285e9d6e8ac5cbde0">Figure 1</a>, storage resources 1, 2, and 3 are allocated for tenants <strong id="admin_guide_000092__b1491313219274">t1</strong>, <strong id="admin_guide_000092__b159131532112717">t2</strong>, and <strong id="admin_guide_000092__b591423214271">t3</strong> respectively from the cluster's storage resources.</p>
</li></ul>
</td>
</tr>
</tbody>
</table>
</div>
<p id="admin_guide_000092__af1df50db31ef4504adac3b1965a88e7b">If a user wants to use a tenant's resources or add or delete a sub-tenant of a tenant, the user needs to be bound to both the tenant role and role <strong id="admin_guide_000092__b5970613123113">Manager_tenant</strong>. <a href="#admin_guide_000092__tc4dc7a31593b48ab9ea2b09ea1bfc64d">Table 2</a> lists the roles bound to each user in <a href="#admin_guide_000092__f486ae0dbdc8a4d6285e9d6e8ac5cbde0">Figure 1</a>.</p>
<div class="tablenoborder"><a name="admin_guide_000092__tc4dc7a31593b48ab9ea2b09ea1bfc64d"></a><a name="tc4dc7a31593b48ab9ea2b09ea1bfc64d"></a><table cellpadding="4" cellspacing="0" summary="" id="admin_guide_000092__tc4dc7a31593b48ab9ea2b09ea1bfc64d" frame="border" border="1" rules="all"><caption><b>Table 2 </b>Roles bound to each user</caption><thead align="left"><tr id="admin_guide_000092__rb1f22c27e6bb4d3bb9b36fdd319c1ecd"><th align="left" class="cellrowborder" valign="top" width="14.510000000000002%" id="mcps1.3.6.2.4.1.1"><p id="admin_guide_000092__a2b42123e49b94948a6fdf38359c51f27">User</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="32.800000000000004%" id="mcps1.3.6.2.4.1.2"><p id="admin_guide_000092__a49f820445afc4ee7bd3a9a73bb24fd33">Role</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="52.690000000000005%" id="mcps1.3.6.2.4.1.3"><p id="admin_guide_000092__a41aed2e7653c4b1f8302cd09ee764a3e">Permission</p>
</th>
</tr>
</thead>
<tbody><tr id="admin_guide_000092__r5a1218cacc4142c091bf127994830d28"><td class="cellrowborder" valign="top" width="14.510000000000002%" headers="mcps1.3.6.2.4.1.1 "><p id="admin_guide_000092__a163cccfc155045a8a34cf68d85fc1aae">User A</p>
</td>
<td class="cellrowborder" valign="top" width="32.800000000000004%" headers="mcps1.3.6.2.4.1.2 "><ul id="admin_guide_000092__uf42aee74ce5441e0b508114dce0c1e7b"><li id="admin_guide_000092__l4a9e1dfa289e46c696ed40cfcd2d53ae">Role <strong id="admin_guide_000092__b17124226193218">t1</strong></li><li id="admin_guide_000092__lf2b7f8b52d0e4ca4bf8b51a6b75e56c1">Role <strong id="admin_guide_000092__b5703173014324">t2</strong></li><li id="admin_guide_000092__lcda3a327b7824506b1b78024ac859e21">Role <strong id="admin_guide_000092__b1559913331324">Manager_tenant</strong></li></ul>
</td>
<td class="cellrowborder" valign="top" width="52.690000000000005%" headers="mcps1.3.6.2.4.1.3 "><ul id="admin_guide_000092__u3f210e8de7774aba91b83725c075ce07"><li id="admin_guide_000092__l7f0e78a9428f46f6ae82546b48264e10">Uses the resources of tenants <strong id="admin_guide_000092__b6500124723215">t1</strong> and <strong id="admin_guide_000092__b638244933211">t2</strong>.</li><li id="admin_guide_000092__lf240ec15eaa94117ae01c28b9f2150f5">Adds or deletes sub-tenants of tenants <strong id="admin_guide_000092__b155129673316">t1</strong> and <strong id="admin_guide_000092__b92951880332">t2</strong>.</li></ul>
</td>
</tr>
<tr id="admin_guide_000092__r6377cb3842b34693be71a110309ab6f7"><td class="cellrowborder" valign="top" width="14.510000000000002%" headers="mcps1.3.6.2.4.1.1 "><p id="admin_guide_000092__a3649edeb86ce46dc9040c6a466888bb4">User B</p>
</td>
<td class="cellrowborder" valign="top" width="32.800000000000004%" headers="mcps1.3.6.2.4.1.2 "><ul id="admin_guide_000092__u0094bc28fb6d497dbbf14d72e41e4ad9"><li id="admin_guide_000092__l4f68989a6c2246db84d31f908060fbf1">Role <strong id="admin_guide_000092__b585714198335">t3</strong></li><li id="admin_guide_000092__l87aac06ab4bc4edc81a83cb0e0739dca">Role <strong id="admin_guide_000092__b17354192310330">Manager_tenant</strong></li></ul>
</td>
<td class="cellrowborder" valign="top" width="52.690000000000005%" headers="mcps1.3.6.2.4.1.3 "><ul id="admin_guide_000092__u0c86c329eabd487d82424b99c8b07551"><li id="admin_guide_000092__lc90d91fc5f6f4733ab07e5e935c5aa31">Uses the resources of tenant <strong id="admin_guide_000092__b1829034453312">t3</strong>.</li><li id="admin_guide_000092__l37aae260ae074fd4a2f83c8b48b47f62">Adds or deletes sub-tenants of tenant <strong id="admin_guide_000092__b139031857103316">t3</strong>.</li></ul>
</td>
</tr>
<tr id="admin_guide_000092__r1bbbb11361234fc5bd4490a246a20510"><td class="cellrowborder" valign="top" width="14.510000000000002%" headers="mcps1.3.6.2.4.1.1 "><p id="admin_guide_000092__en-us_topic_0041699829_p525013123058">User C</p>
</td>
<td class="cellrowborder" valign="top" width="32.800000000000004%" headers="mcps1.3.6.2.4.1.2 "><ul id="admin_guide_000092__uebe1817600364e1590cec06eabf9b93e"><li id="admin_guide_000092__lce5e181eefc14916b9c93d22a9420204">Role <strong id="admin_guide_000092__b6860436163410">t1</strong></li><li id="admin_guide_000092__l5a97d2d4977c4ca7ae6ec65d96297dcc">Role <strong id="admin_guide_000092__b13961184213344">Manager_tenant</strong></li></ul>
</td>
<td class="cellrowborder" valign="top" width="52.690000000000005%" headers="mcps1.3.6.2.4.1.3 "><ul id="admin_guide_000092__u6732e87b76234e09b2657f785407c00d"><li id="admin_guide_000092__en-us_topic_0041699829_li89373792376">Uses the resources of tenant <strong id="admin_guide_000092__b370994953416">t1</strong>.</li><li id="admin_guide_000092__en-us_topic_0041699829_li72190542373">Adds or deletes sub-tenants of tenant <strong id="admin_guide_000092__b2899165816340">t1</strong>.</li></ul>
</td>
</tr>
</tbody>
</table>
</div>
<p id="admin_guide_000092__ab30feac495104b2582eb3f435155189d">A user can be bound to multiple roles, and one role can also be bound to multiple users. Users are associated with tenants after being bound to the tenant roles. Therefore, tenants and users form a many-to-many relationship. One user can use the resources of multiple tenants, and multiple users can use the resources of the same tenant. For example, in <a href="#admin_guide_000092__f486ae0dbdc8a4d6285e9d6e8ac5cbde0">Figure 1</a>, user A uses the resources of tenants <strong id="admin_guide_000092__b133468244916">t1</strong> and <strong id="admin_guide_000092__b16272826799">t2</strong>, and users A and C uses the resources of tenant <strong id="admin_guide_000092__b1011763419918">t1</strong>.</p>
<div class="note" id="admin_guide_000092__note1819104719"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="admin_guide_000092__p694710683">The concepts of a parent tenant, sub-tenant, level-1 tenant, and level-2 tenant are all designed for the multi-tenant service scenarios. Pay attention to the differences these concepts and the concepts of a leaf tenant resource and non-leaf tenant resource on <span id="admin_guide_000092__text15946118176">MRS</span> Manager.</p>
<ul id="admin_guide_000092__ul645810814319"><li id="admin_guide_000092__li1745918819316">Level-1 tenant: determined based on the tenant's level. For example, the first created tenant is a level-1 tenant and its sub-tenant is a level-2 tenant.</li><li id="admin_guide_000092__li124592873118">Parent tenant and sub-tenant: indicates the hierarchical relationship between tenants.</li><li id="admin_guide_000092__li54592817315">Non-leaf tenant resource: indicates the tenant type selected during tenant creation. This tenant type can be used to create sub-tenants.</li><li id="admin_guide_000092__li145948123115">Leaf tenant resource: indicates the tenant type selected during tenant creation. This tenant type cannot be used to create sub-tenants.</li></ul>
</div></div>
<div class="section" id="admin_guide_000092__sfcfcf736b81f4c8c95a62ebcd4c6dd2a"><h4 class="sectiontitle">Multi-Tenant Platform</h4><p id="admin_guide_000092__a7b7d2b4deece41e4aa11fd0032ac627b">Tenant is a core concept of the <span id="admin_guide_000092__text156568322235">MRS</span> big data platform. It plays an important role in big data platforms' transformation from user-centered to multi-tenant to keep up with enterprises' multi-tenant application environments. <a href="#admin_guide_000092__f0b6aaf15c16f487fa23a1a04eb45754f">Figure 2</a> shows the transformation of big data platforms.</p>
<div class="fignone" id="admin_guide_000092__f0b6aaf15c16f487fa23a1a04eb45754f"><a name="admin_guide_000092__f0b6aaf15c16f487fa23a1a04eb45754f"></a><a name="f0b6aaf15c16f487fa23a1a04eb45754f"></a><span class="figcap"><b>Figure 2 </b>Platform transformation from user-centered to multi-tenant</span><br><span><img id="admin_guide_000092__ibf9f63d6ae38417087b718070c52e39d" src="en-us_image_0000001442773629.png"></span></div>
<p id="admin_guide_000092__a4c48b391fdd648d09a4c77d97017ef5b">On a user-centered big data platform, users can directly access and use all resources and services.</p>
<ul id="admin_guide_000092__uae93bccffc9642d5b04d661cd7a00dd3"><li id="admin_guide_000092__l9de42af7becf4a4ca08dd253ad412c3c">However, user applications may use only partial cluster resources, resulting in low resource utilization.</li><li id="admin_guide_000092__lecd3af9b3fae4de89718b22de4165b54">The data of different users may be stored together, decreasing data security.</li></ul>
</div>
<p id="admin_guide_000092__acc7038729e9349a980ef9716ed90e42c">On a multi-tenant big data platform, users use required resources and services by accessing the tenants.</p>
<ul id="admin_guide_000092__u1409476c50e2439580ff7446f40323b2"><li id="admin_guide_000092__l156ff4f7a41840178a96c0ab319202c3">Resources are allocated and scheduled based on application requirements and used based on tenants, increasing resource utilization.</li><li id="admin_guide_000092__ld30b8539ed184c358e9396a6f9e23688">Users can access the resources of tenants only after being associated with tenant roles, enhancing access security.</li><li id="admin_guide_000092__le8c67075cbee458ebb4b479d74ed4acf">The data of tenants is isolated, ensuring data security.</li></ul>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="admin_guide_000090.html">Technical Principles</a></div>
</div>
</div>