日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

本人的一些总结

發布時間:2024/1/18 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 本人的一些总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有關idea

1、maven倉庫的問題

步驟:
1、先看看設置里面的倉庫,是不是自己的倉庫。如果不是的話,先換成自己的倉庫。(必須注意的)
2、檢查一下你本地庫里面,是不是有未下載完的文件。類似與這樣的文件,刪一下,倉庫可能沒有下載完畢。

2、mvn package看看
百度mvn package的使用方法。

3、idea上就是爆出xxx.jar不存在,明明配置了自己的maven倉庫。

mvn dependency:sources  // 命令jar包被下載下來

首選這種

有關flink

1、代碼中容易忽略的地址問題。

只要沒有new,就是同一個地址,也就是對同一個地址上的內容進行修改。

package com.atguigu.app.function;import com.alibaba.fastjson.JSONObject;public class test {public static void main(String[] args) {// {"after":"123456","tablename":"table1","db":"database","before2":"xyz","before1":"xyz"}JSONObject value=new JSONObject();value.put("db", "database") ;value.put("tablename", "table1");value.put("before1", "xyz");value.put("before2", "xyz");value.put("after", "123456");System.out.println(value.toString());// {"value":{"after":"123456","tablename":"table1","db":"database","before2":"xyz","before1":"xyz"}}JSONObject value1=new JSONObject();value1.put("value",value) ;// {"after":"123456","tablename":"table1","db":"database","before2":"xyz","before1":"xyz"}JSONObject data = value1.getJSONObject("value");String filterColumn = "db"+","+"tablename"+","+"after";test2.filterColumn(data, filterColumn);System.out.println(value1.toString());}}

{"after":"123456","tablename":"table1","db":"database","before2":"xyz","before1":"xyz"} {"value":{"after":"123456","tablename":"table1","db":"database"}}

用到的過濾方法

package com.atguigu.app.function;import com.alibaba.fastjson.JSONObject;import java.util.Arrays; import java.util.List;public class test2 {protected static void filterColumn(JSONObject data, String sinkColumns) {String[] fields = sinkColumns.split(",");List<String> columns = Arrays.asList(fields);data.entrySet().removeIf(next -> !columns.contains(next.getKey()));} }

有關kafka

1、啟動不起來Kafka

在日志中找到

在三臺機器上面的/opt/module/kafka/datas路徑下,分別:

/opt/module/kafka/datas下面的meta.properties的cluster.id改成iMgAX07PTsyBQnXIQZSfjA

kafka啟動不輸出消息到控制臺,輸出到指定的文件名。這里輸出到temp.log中。temp.log的路徑是執行命令時候的當前路徑。也就是在Kafka下面。

參考來源

2、有的節點啟動不起來

打開日志(KafkaServer.out文件),然后最后一行是這樣的錯誤。

ERROR Shutdown broker because all log dirs in /opt/module/kafka/data
have failed (kafka.log.LogManager)

注意:如果是重要數據,一定要備份!!!不能只刪除。

之前可能是刪除過topic,爆出了這樣的錯誤。
于是,試了一下,這樣做是可以的,網上其他的做法試了不行。

有關hbase、phoenix

1、一定要退出安全模式,在啟動hbase之前,否則會有一些錯誤,比如phoenix無法連接。

hdfs dfsadmin -safemode leave

2、phoenix遲遲連不上,首先檢查安全模式的有沒有關,不行的話,然后試試下面的方法。

3、hbase中的rowkey設計

HBase的rowkey設計一直都是難點和痛點,不合適的rowkey設計會導致讀寫性能、吞吐不佳等諸多問題。

hbase中的rowkey設計的參考文章

有關副本

HBase的副本機制是通過通過底層的HDFS實現的。所以,HBase的副本與分片是解耦的,是存儲計算分離的。這使得region可以在RS之間靈活的移動,而不需要進行數據遷移,這賦予了HBase秒級擴容的能力和極大的靈活性。

好的分布是怎么樣的?

對于單個表而言,一個“好”的數據分布,應該是:-- 每個region的數據量大小相近,請求量(吞吐)接近,每臺機器調度的region數量大致相同。這樣,這張表的數據和訪問能夠均勻的分布在整個集群中,從而得到最好的資源利用率和服務質量,即達到負載均衡。當集群進行擴容、縮容時,我們希望這種“均衡”能夠自動保持。如果數據分布未能實現負載均衡,則 ---負載較高的機器--- 很容易稱為整個系統的瓶頸,這臺機器的響應慢,可能導致客戶端的大部分線程都在等待這臺機器返回,從而影響整體吞吐。所以,負載均衡是region劃分和調度的重要目標。

負載均衡問題:

數據的邏輯分布:即region劃分/分布,是rowkey到region的映射問題 數據的物理分布:即region在RS上的調度問題 訪問的分布:即系統吞吐(請求)在各個RS上的分布問題,涉及數據量和訪問量之間的關系,訪問熱點等。

HBase能夠實現靈活調度、秒級擴容的關鍵

可見,一行數據的分布(找到一行數據所在的RS),存在2個層級的路由:一是rowkey到region的路由,二是region到RS的路由。這一點是HBase能夠實現靈活調度、秒級擴容的關鍵。

邏輯分布 – 基于rowkey范圍的region劃分

就是: 一張表如何劃分成多個region region劃分的粒度是行,region就是這個表中多個連續的行構成的集合。行的唯一標識符是rowkey,所以,可以將region理解為一段連續分布的rowkey的集合。所以,稱這種方式為基于rowkey范圍的劃分。一個region負責的rowkey范圍是一個左閉右開區間,所以,后一個region的start key是前一個region的end key。注意,第一個region是沒有start key的,最后一個region是沒有end key的。這樣,這個表的所有region加在一起就能覆蓋任意的rowkey值域。 一般來說,region的生成有3種方式:建表時進行預分區:通過對rowkey進行預估,預先劃分好region region分裂:手工分裂,或達到一定條件時自動分裂(如region大小超過一個閾值) region合并:手工合并 所以,為了使表從一開始就具備良好的吞吐和性能,實際生產環境中建表通常都需要進行預分區。但也有一些例外,比如無法預先對rowkey范圍進行預估,或者,不容易對rowkey范圍進行均勻的拆分,此時,也可以創建只有一個region的表,由系統自己分裂,從而逐漸形成一個“均勻的”region分布。

總結

以上是生活随笔為你收集整理的本人的一些总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。