<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                **1. 允許在 HDFS 的文件中追加內容** hdfs-site.xml、hbase-site.xml 屬性:dfs.support.append 解釋:開啟 HDFS 追加同步,可以優秀的配合 HBase 的數據同步和持久化。 Hadoop2.0 默認值為 true。<br/> **2. 優化 DataNode 允許的最大文件打開數** hdfs-site.xml 屬性:dfs.datanode.max.transfer.threads 解釋:HBase 一般都會同一時間操作大量的文件,根據集群的數量和規模以及數據動作,設置為 4096 或者更高。默認值:4096。該操作前提是 Linux 的文件最大數已經設置完成。<br/> **3. 優化延遲高的數據操作的等待時間** hdfs-site.xml 屬性:dfs.image.transfer.timeout 解釋:如果對于某一次數據操作來講,延遲非常高,socket 需要等待更長的時間,建議把該值設置為更大的值(默認 60000 毫秒),以確保 socket 不會被timeout 掉。<br/> **4. 優化數據的寫入效率** mapred-site.xml 屬性: mapreduce.map.output.compress mapreduce.map.output.compress.codec 解釋:開啟這兩個數據可以大大提高文件的寫入效率,減少寫入時間。第一個屬性值修改為 true ,第二個屬性值修改為:org.apache.hadoop.io.compress.GzipCodec 或者其他壓縮方式。<br/> **5. 設置 RPC 監聽數量** hbase-site.xml 屬性:hbase.regionserver.handler.count 解釋:默認值為 30,用于指定 RPC 監聽的數量,可以根據客戶端的請求數進行調整,讀寫請求較多時,增加此值。<br/> **6. 優化 HStore 文件大小** hbase-site.xml 屬性:hbase.hregion.max.filesize 解釋:默認值 10737418240(10GB),如果需要運行 HBase 的 MR(MapReduce) 任務,可以減小此值,因為一個 region 對應一個 map 任務,如果單個 region 過大,會導致 map 任務執行時間過長。該值的意思就是,如果 HFile 的大小達到這個數值,則這個 region 會被切分為兩個 Hfile。<br/> **7. 優化 hbase 客戶端緩存** 客戶端配置 屬性:hbase.client.write.buffer 解釋:用于指定 HBase 客戶端緩存,增大該值可以減少 RPC 調用次數,但是會消耗更多內存,反之則反之。一般我們需要設定一定的緩存大小,以達到減少 RPC 次數的目的。 (RPC是指hbase中Master,RegionServer和Client三者之間通信交流的紐帶)。<br/> **8. 指定 scan.next 掃描 HBase 所獲取的行數** 客戶端配置 屬性:hbase.client.scanner.caching 解釋:用于指定 scan.next 方法獲取的默認行數,值越大,消耗內存越大。<br/> **9. flush、compact、split 機制** 當 MemStore 達到閾值,將 Memstore 中的數據 Flush 進 Storefile; compact機制則是把 flush 出來的小文件合并成大的 Storefile 文件; split 則是當 Region 達到閾值,會把過大的 Region 一分為二。 涉及到下面的屬性: **`hbase.hregion.memstore.flush.size:134217728`**,即128M 就是 Memstore 的默認閾值。 這個參數的作用是當單個 HRegion 內所有的 Memstore 大小總和超過指定值時,flush 該 HRegion 的所有 memstore。RegionServer 的 flush 是通過將請求添加一個隊列,模擬生產消費模型來異步處理的。那這里就有一個問題,當隊列來不及消費,產生大量積壓請求時,可能會導致內存陡增,最壞的情況是觸發OOM(指內存溢出)。 <br/> **`hbase.regionserver.global.memstore.size`**:默認整個堆大小的 40%。 regionServer 的全局 memstore 的大小,超過該大小會觸發 flush 到磁盤的操作,默認是堆大小的 40%,而且 regionserver 級別的 flush 會阻塞客戶端讀寫。 <br/> **`hbase.regionserver.global.memstore.size.lower.limit`**:默認為`堆大小*0.4*0.95` 有時候集群的<ins>寫負載</ins>非常高,寫入量一直超過 flush 的量,這時,我們就希望 MemStore 不要超過一定的安全設置。在這種情況下,寫操作就要被阻塞一直到 MemStore 恢復到一個<ins>可管理</ins>的大小, 這個大小的默認值就是`堆大小 * 0.4 * 0.95`,也就是當 HRegionserver 級別的 flush 操作發送后,會阻塞客戶端寫,一直阻塞到整個 HRegionserver 級別的 MemStore 的大小為 `堆大小 * 0.4 *0.95` 為止。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看