内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

Ozone1.0如何部署

這篇文章主要為大家展示了“Ozone1.0如何部署”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“Ozone1.0如何部署”這篇文章吧。

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領(lǐng)域包括:成都網(wǎng)站設(shè)計、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的雜多網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

1、背景簡介

HDFS通過把文件系統(tǒng)元數(shù)據(jù)全部加載到Namenode內(nèi)存中,給客戶端提供了低延遲的元數(shù)據(jù)訪問。由于元數(shù)據(jù)需要全部加載到內(nèi)存,所以一個HDFS集群能支持的最大文件數(shù),受JAVA堆內(nèi)存的限制,上限大概是4億左右個文件。所以HDFS適合大量大文件(幾百兆以上)的集群,如果集群中有非常多的小文件,HDFS的元數(shù)據(jù)訪問性能會受到影響。 Ozone 是一個分布式、多副本的對象存儲系統(tǒng),并針對大數(shù)據(jù)場景進行了專門的優(yōu)化。Ozone 主要圍繞可擴展性進行設(shè)計,目標是十億數(shù)量級以上的對象存儲。

2、組件架構(gòu)

Ozone1.0如何部署

2.1 Ozone Manager

2.1.1 基本功能

Ozone Manager(OM)管理 Ozone 的命名空間,提供所有的 Volume, Bucket 和 Key 的新建,更新和刪除操作。

Ozone Manager 只和 Ozone Client 和 Storage Container Manager 通信,并不直接和 Datanode 通信。

Ozone1.0如何部署

當向Ozone寫入數(shù)據(jù)時,你需要向OM請求一個塊,OM會返回一個塊并記錄下相關(guān)信息。當你想要讀取那個文件時,你也需要先通過OM獲取那個塊的地址。

OM 允許用戶在卷和桶下管理鍵,卷和桶都是命名空間的一部分,也由 OM 管理。

每個卷都是 OM 下的一個獨立命名空間的根,這一點和 HDFS 不同,HDFS 提供的是單個根目錄的文件系統(tǒng)。

與 HDFS 中單根的樹狀結(jié)構(gòu)相比,Ozone 的命名空間是卷的集合,或者可以看作是個森林,因此可以非常容易地部署多個 OM 來進行擴展。

2.1.2. 元數(shù)據(jù)管理

OM 維護了卷、桶和鍵的列表。它為每個用戶維護卷的列表,為每個卷維護桶的列表,為每個桶維護鍵的列表。

2.1.3. 單點及高可用

單點OM通過RocksDB來持久化元數(shù)據(jù);

HA模式底層通過 Ratis(實現(xiàn)了Raft協(xié)議) 擴展元數(shù)據(jù)的副本數(shù)來實現(xiàn)元數(shù)據(jù)的HA。 Ozone1.0如何部署

2.1.4. Key寫

Ozone1.0如何部署

2.1.5. Key 讀

Ozone1.0如何部署

2.2. Storage Container Manager

SCM是Ozone的block空間管理的leader節(jié)點,主要職責是創(chuàng)建和管理container,container是Ozone的主要復制單元。 Ozone1.0如何部署

SCM為Ozone提供多個關(guān)鍵功能,集群管理、證書頒發(fā)、塊管理和副本管理:

2.2.1. 集群管理

SCM負責創(chuàng)建Ozone集群,當通過init初始化集群時,SCM將創(chuàng)建證書授權(quán)所需的集群標識和根證書。 SCM管理著集群中數(shù)據(jù)節(jié)點datanode的生命周期。

2.2.2. 服務安全管理

SCM的證書授權(quán)為集群中每個服務頒發(fā)身份證書,這個基礎(chǔ)證書讓服務在網(wǎng)絡(luò)層更容易啟動mTLS(雙向認證),并且塊的基礎(chǔ)token也依賴于這個基礎(chǔ)證書。

2.2.3. 塊管理

SCM是塊管理器,它分配塊并將他們分配給數(shù)據(jù)節(jié)點,客戶端可以直接對這些塊進行讀寫操作。

2.2.4. 副本管理

SCM持續(xù)跟蹤所有的塊副本,如果數(shù)據(jù)節(jié)點或者磁盤損壞,SCM會檢測到并會指示數(shù)據(jù)節(jié)點復制丟失的數(shù)據(jù)塊以確保高可用性。

2.3 Containers

Block是數(shù)據(jù)塊對象,真實存儲用戶的數(shù)據(jù),不由SCM管理。

Container是一個邏輯概念,是由一些相互之間沒有關(guān)系的 Block 組成的集合。

在Ozone中,數(shù)據(jù)是以Container的粒度進行副本復制的,默認大小為5G (ozone.scm.container.size),由SCM服務管理。 Ozone1.0如何部署

Pipeline 來保證 Container 實現(xiàn)想要的副本數(shù)。SCM 中目前支持2種 Pipeline 方式實現(xiàn)多副本,單副本的 Standalone 模式和三副本的 Ratis 方式(ozone.replication)。

當Ozone Manager從SCM請求一個新的塊分配時,SCM將識別合適的容器并生成一個包含ContainerId+LocalId的塊id??蛻舳藢⑦B接到存儲容器的Datanode,Datanode可以根據(jù)LocalId管理分離的塊。 Ozone1.0如何部署

Container 有2種狀態(tài),OPEN 和 CLOSED:

當container創(chuàng)建時,它就開始了Open狀態(tài),當它寫滿時(默認5G),它就會關(guān)閉并且變成CLOSED的狀態(tài),之后便不可修改。 | OPEN | CLOSED | | :------------: | :------------: | | 可變 | 不可變 | |通過ratis復制 | 使用異步容器copy進行復制| | Raft leader節(jié)點用于數(shù)據(jù)讀寫| 所有節(jié)點都用于讀 |

2.4 Datanodes

存儲所有數(shù)據(jù),客戶端按block寫入數(shù)據(jù),數(shù)據(jù)節(jié)點將這些block聚合到存儲container中, container中包含用戶寫入的數(shù)據(jù)塊和這些塊的元數(shù)據(jù)。

Ozone container存儲容器是一個自包含的超級塊,容器中包含一系列的Block,以及存儲實際數(shù)據(jù)的磁盤文件,是默認的存儲容器格式。

Ozone1.0如何部署

當客戶端想從Ozone讀取數(shù)據(jù),客戶端向OM發(fā)送數(shù)據(jù)文件的名字,OM會返回組成這個文件的塊列表,一個Ozone塊包含一個container ID 和一個local ID,container ID讓客戶端發(fā)現(xiàn)container的位置,container的相關(guān)信息由SCM提供,在大多數(shù)情況下,container位置由Ozone Manager緩存,并與Ozone塊一起返回。

當客戶端找到了container,也就是知道了哪些數(shù)據(jù)節(jié)點包含這些container,客戶端會連接到數(shù)據(jù)節(jié)點并且讀取由container ID:Local ID指定的數(shù)據(jù)流,換句話說,Local ID用作容器的索引,從container中讀取想要的數(shù)據(jù)流。 Ozone1.0如何部署

  • 容器的位置發(fā)現(xiàn)

SCM 如何獲得容器的位置?這一點和現(xiàn)有的 HDFS 十分相似。數(shù)據(jù)節(jié)點會定期發(fā)送類似于塊報告的容器報告,容器報告比塊報告的內(nèi)容簡潔的多,比如,對于一個存儲容量為 196 TB 的集群,Ozone 大概會擁有四萬個容器,相比于 HDFS 的一百五十萬個塊,塊報告數(shù)量縮減為四十分之一。

這種間接管理的方式大大地提高了 Ozone 的擴展性,因為 SCM 需要處理的塊數(shù)據(jù)大大減少,且命名服務(OM)作為一個獨特的服務主體對于擴展 Ozone 具有重要意義。

2.5. Recon

Ozone的監(jiān)控頁面

2.6 S3G

Ozone的s3 compatible REST gateway

3. 基本介紹

3.1.組件架構(gòu)

Ozone 的命名空間由volume組成,同時volume也用作存儲賬戶管理。

Ozone Manager(OM) 管理命名空間,Storage Container Manager(SCM) 管理底層的數(shù)據(jù),而 Recon 是 Ozone 的管理接口。

Ozone1.0如何部署

3.2.邏輯架構(gòu)

Ozone數(shù)據(jù)的邏輯存儲架構(gòu)

Ozone1.0如何部署

  1. Volumes(卷): 類似于用戶賬號,只有管理員可以創(chuàng)建volumes,可以做配額管理,用于存儲buckets,一個volume下可以包含多個buckets。

  2. Buckets(桶): 類似于目錄,用戶可以在自己的卷下創(chuàng)建任意數(shù)量的桶,一個bucket可以包含無數(shù)個keys,buckets不能包含其他buckets,它們之間互不干擾。

  3. Keys(鍵): 類似于文件,位于bucket下,用于讀寫數(shù)據(jù)。

3.3. 端口說明

服務端口參數(shù)備注
Datanode9858dfs.container.ratis.ipcDatanode節(jié)點
Datanode9859dfs.container.ipcDatanode節(jié)點
SCM9860ozone.scm.client.address
SCM9861ozone.scm.datanode.addressscm和datanode通信端口
OM9862ozone.om.address
SCM9863ozone.scm.block.client.port
OM9874ozone.om.http-addressOM web頁面
SCM9876ozone.scm.http-addressSCM web頁面
S3G9878ozone.s3g.http-addressS3Gateway
Datanode9882hdds.datanode.http-addressDatanode節(jié)點
Recon9888ozone.recon.http-addressRecon web頁面
Recon9891ozone.recon.address默認無,Datanode節(jié)點必配參數(shù),以便Recon可以監(jiān)測到Datanode服務

4.安裝部署

OZONE和HDFS不要部署在同一個節(jié)點上,因為OZONE的環(huán)境變量會和HADOOP共用,服務啟動會沖突,可以修改環(huán)境變量相關(guān)腳本進行更改。

4.1.基礎(chǔ)環(huán)境

4.1.1.配置/etc/hosts

# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.40.21 ozom-1
172.16.40.22 ozom-2
172.16.40.23 ozom-3
172.16.40.11 ozdn-1
172.16.40.12 ozdn-2
172.16.40.13 ozdn-3

4.1.2.關(guān)閉防火墻

# systemctl stop firewalld && systemctl disable firewalld

4.1.3.關(guān)閉selinux

# setenforce 0 && sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

4.1.4.時間同步

ntpd

4.1.5.創(chuàng)建用戶

# useradd hadoop

4.1.6.配置互信

4.2.單點部署

HostnameIpService
ozom-1172.16.40.21OM、SCM、DataNode
ozom-2172.16.40.22DataNode
ozom-3172.16.40.23DataNode
ozdn-1172.16.40.11DataNode
ozdn-2172.16.40.12DataNode
ozdn-3172.16.40.13DataNode

4.2.1.創(chuàng)建目錄

創(chuàng)建Datanode的數(shù)據(jù)目錄 掛載到磁盤上

# mkdir -p /data/disk{1..2}
# chown -R hadoop:hadoop /data/disk{1..2}

創(chuàng)建ozone相關(guān)目錄

# mkdir -p /opt/dlw/{conf,soft,logs,metadata,tmp}
# chown -R hadoop:hadoop /opt/dlw

$ mkdir -p /opt/dlw/logs/ozone
$ mkdir -p /opt/dlw/tmp/run

$ mkdir -p /opt/dlw/metadata/ozone/{om,node,recon,ratis,scm}

4.2.2.環(huán)境變量

1、配置java

所有節(jié)點都需配置

配置ozone

export OZONE_HOME=/opt/dlw/soft/ozone
export PATH=$OZONE_HOME/sbin:$OZONE_HOME/bin:$PATH
export HADOOP_OPTS="-XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+CMSParallelRemarkEnabled"
export HADOOP_PID_DIR=/opt/dlw/tmp/run
export HADOOP_LOG_DIR=/opt/dlw/logs/hadoop

4.2.3.拷貝軟件

Ozone 下載的二進制包,直接解壓使用,拷貝至所有節(jié)點

$ tar -zxvf hadoop-ozone-1.0.0.tar.gz -C /opt/dlw/soft/
$ cd /opt/dlw/soft/
$ mv ozone-1.0.0 ozone

4.2.4.修改配置

生成配置

$ ozone genconf $OZONE_HOME/etc/hadoop

修改配置

$ vim $OZONE_HOME/etc/hadoop/ozone-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration>
    <property>
        <name>ozone.om.address</name>
        <value>ozom-1</value>
    </property>

    <property>
        <name>ozone.om.http-address</name>
        <value>ozom-1:9874</value>
    </property>

    <property>
       <name>ozone.om.db.dirs</name>
       <value>/opt/dlw/metadata/ozone/om</value>
    </property>

    <property>
        <name>ozone.metadata.dirs</name>
        <value>/opt/dlw/metadata/ozone</value>
    </property>

    <property>
        <name>ozone.om.ratis.enable</name>
        <value>false</value>
    </property>

    <property>
        <name>ozone.om.service.ids</name>
        <value>omdlw001</value>
    </property>

    <property>
       <name>ozone.om.nodes.omdlw001</name>
       <value>om1,om2,om3</value>
    </property>

    <property>
       <name>ozone.om.address.omdlw001.om1</name>
       <value>ozom-1</value>
    </property>

    <property>
       <name>ozone.om.address.omdlw001.om2</name>
       <value>ozom-2</value>
    </property>

    <property>
       <name>ozone.om.address.omdlw1.om3</name>
       <value>ozom-3</value>
    </property>

    <property>
        <name>ozone.scm.client.address</name>
        <value>ozom-1</value>
    </property>

    <property>
        <name>ozone.scm.names</name>
        <value>ozom-1</value>
    </property>

    <property>
        <name>ozone.scm.container.size</name>
        <value>5GB</value>
    </property>

    <property>
       <name>ozone.scm.db.dirs</name>
       <value>/opt/dlw/metadata/ozone/scm</value>
    </property>

    <property>
       <name>ozone.scm.pipeline.owner.container.count</name>
       <value>3</value>
    </property>

    <property>
        <name>ozone.scm.datanode.id.dir</name>
        <value>/opt/dlw/metadata/ozone/node</value>
    </property>

    <property>
       <name>ozone.scm.block.client.address</name>
       <value>ozom-1</value>
    </property>

    <property>
       <name>ozone.scm.datanode.address</name>
       <value>ozom-1</value>
    </property>

    <property>
       <name>hdds.datanode.dir</name>
       <value>/data/disk1,/data/disk2</value>
    </property>

    <property>
       <name>ozone.recon.db.dir</name>
       <value>/opt/dlw/metadata/ozone/recon</value>
    </property>

    <property>
       <name>ozone.recon.address</name>
       <value>ozom-1:9891</value>
    </property>

    <property>
       <name>recon.om.snapshot.task.interval.delay</name>
       <value>1m</value>
    </property>

    <property>
       <name>dfs.container.ratis.datanode.storage.dir</name>
       <value>/opt/dlw/metadata/ozone/ratis</value>
    </property>

</configuration>
$ vim $OZONE_HOME/etc/hadoop/workers
ozom-1
ozom-2
ozom-3
ozdn-1
ozdn-2
ozdn-3

4.2.5.啟動服務

  • scm

$ ozone scm --init
$ ozone --daemon start scm
  • om

$ ozone om --init
$ ozone --daemon start om
  • datanode –所有datanode節(jié)點

$ ozone --daemon start datanode
  • recon

$ ozone --daemon start recon
  • s3g

$ ozone --daemon start s3g

4.2.6.校檢驗證

$ jps
6721 ReconServer
7589 Gateway
4934 StorageContainerManagerStarter
5479 OzoneManagerStarter
5705 HddsDatanodeService
7662 Jps
  • scm

Ozone1.0如何部署

  • om

Ozone1.0如何部署

  • s3g

Ozone1.0如何部署

  • recon

Ozone1.0如何部署

4.3.高可用部署

HostnameIpService
ozom-1172.16.40.21OM、SCM、DataNode
ozom-2172.16.40.22OM
ozom-3172.16.40.23OM
ozdn-1172.16.40.11DataNode
ozdn-2172.16.40.12DataNode
ozdn-3172.16.40.13DataNode

高可用目前只有OM服務支持HA,SCM尚不支持: 單點OM通過RocksDB來持久化元數(shù)據(jù); 高可用模式底層通過 Ratis(實現(xiàn)了Raft協(xié)議) 擴展元數(shù)據(jù)的副本數(shù)來實現(xiàn)元數(shù)據(jù)的HA。

Ozone1.0如何部署

修改配置,開啟OM的HA模式

    <property>
        <name>ozone.om.ratis.enable</name>
        <value>true</value>
    </property>

一個ozone-site.xml支持多個Ozone HA配置,為了在可用的HA集群之間進行選擇,每個集群都需要一個邏輯名稱,該名稱可以解析為OM的IP地址(或域名)。

   <property>
       <name>ozone.om.service.ids</name>
       <value>cluster1,cluster2</value>
   </property>

此處只有一個集群,自定義一個集群名稱omdlw001

    <property>
        <name>ozone.om.service.ids</name>
        <value>omdlw001</value>
    </property>

對于這個集群可以定義他的所有om,并對每個om的節(jié)點進行配置

    <property>
       <name>ozone.om.nodes.omdlw001</name>
       <value>om1,om2,om3</value>
    </property>

    <property>
       <name>ozone.om.address.omdlw001.om1</name>
       <value>ozom-1</value>
    </property>

    <property>
       <name>ozone.om.address.omdlw001.om2</name>
       <value>ozom-2</value>
    </property>

    <property>
       <name>ozone.om.address.omdlw001.om3</name>
       <value>ozom-3</value>
    </property>

在三個om節(jié)點上都啟動om服務,但是必須得注意,高可用的om服務不能與datanode服務同處于同一個節(jié)點,因為2者都使用ratis會沖突。

$ ozone om --init
$ ozone --daemon start om

以上是“Ozone1.0如何部署”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享標題:Ozone1.0如何部署
鏈接URL:http://www.rwnh.cn/article20/jsdico.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)定制網(wǎng)站、用戶體驗、移動網(wǎng)站建設(shè)做網(wǎng)站、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設(shè)
郁南县| 曲阜市| 越西县| 岑巩县| 循化| 小金县| 乐都县| 镇雄县| 江山市| 高陵县| 玛多县| 四子王旗| 崇文区| 威远县| 富平县| 遵义县| 嘉定区| 梓潼县| 平乐县| 中牟县| 宝应县| 冕宁县| 泰来县| 阳泉市| 璧山县| 濉溪县| 柳林县| 康定县| 洛南县| 定安县| 新和县| 革吉县| 颍上县| 电白县| 古浪县| 雷山县| 南华县| 建阳市| 桂东县| 招远市| 东台市|