天天看點

Kudu配置檔案參數解析

介紹

配置檔案決定了kudu的處理行為,你可以在指令行給kudu啟動時傳遞flags标記,也可以在啟動kudu時通過加載一個或者多個--flagfile配置檔案來影響kudu的行為,一個flagfile配置檔案可以引用其他flagfile配置檔案,
           

kudu-master

stable-flags
	标記為stable标記,但是沒有advanced标記的,是普通的配置項
           
--block_cache_capacity_mb:block cache的容量,預設512MB
--log_force_fsync_all:每次寫操作,是否需要把Log/WAL立即調用fsync()重新整理到磁盤上,預設false
--fs_data_dirs:一個逗号分隔的目錄,用來存儲data block,如果沒有指定,則fs_wal_dir參數值用來作為唯一的data block目錄,預設""
--fs_wal_dir:WAL的日志目錄,如果沒有指定,則程序無法啟動,可以和fs_data_dirs參數值一樣,預設""
--master_addresses:一個逗号分隔的master rpc位址清單,如果沒指定,則是非master複制模式
--keytab_file:kerberos相關
--rpc_bind_addresses:逗号分隔的監聽位址,預設0.0.0.0,端口是7051
--superuser_acl:一個逗号分隔的使用者名清單,指定哪些使用者是超級使用者,'*'表示所有使用者都是超級使用者,如果沒有設定,則程式運作使用者則是超級使用者
--user_acl:一個逗号分隔的使用者清單,哪些使用者可以通路叢集。'*'表示所有使用者都可以通路
--webserver_certificate_file:SSL認證檔案
--webserver_port:web服務監聽端口,預設80581
--webserver_private_key_file:私鑰位址
--log_filename:log日志檔案名稱的字首,<log_dir>/<log_filename>.[INFO|WARN|ERROR|FATAL]
--maintenance_manager_num_threads:維護管理器的線程池大小,對于機械磁盤,線程大小應該大于磁盤驅動器大小。預設1
--memory_limit_hard_bytes:該程序可以使用的最大記憶體量,0表示根據系統記憶體自動調整,-1表示禁用記憶體限制
--memory_limit_soft_percentage:
--flagfile:配置檔案位址
--colorlogtostderr:是否在錯誤日志中用顔色顯示記錄資訊
--log_dir:如果指定了,則日志寫入該目錄,預設空
--logtostderr:錯誤日志列印到stderr而不是日志檔案,預設false
--max_log_size:預設最大日志檔案大小,預設1800MB
           

stable-advanced-flags

标記為stable和advanced的flags标記,是專家選項,應該經過測試和檢查後使用

--enable_process_lifetime_heap_profiling:針對lifetime開啟heap profiling,profile的輸出存儲在heap_profile_path路徑下面,預設false
--heap_profile_path:heap profiles輸出路徑,如果沒有指定,則預設是/tmp/<process-name>.<pid>.<n>.heap
--unlock_experimental_flags:解鎖experimental标記,這些标記不能100%保證在kudu中進行維護,并且可能會不穩定,有一定風險,預設false
--unlock_unsafe_flags:解鎖unsafe标記,這些标記不能100%保證在kudu中進行維護,并且可能會不穩定,有一定風險,預設false
--fromenv:在環境變量中設定flags,export FLAGS_flag1=value,預設空
--tryfromenv:如果存在環境設定标記,則從環境讀取
--undefok:逗号分隔的flags名稱,
--helpmatch:顯示指定子產品包含哪些substr
--helpon:顯示由該标志值命名的子產品的幫助
--helppackage:顯示包裡面的所有子產品
--helpshort:顯示該程式的主要子產品
--helpxml:
--log_link:在該目錄下面增加額外的連接配接到日志檔案裡面
--log_prefix:将日志字首預加載到每個日志行的開頭,預設true
--minloglevel:記錄較低級别的消息,實際上不會記錄在任何地方
--stderrthreshold:此級别以上的日志消息除了會記錄到日志檔案外,還會記錄到stderr
--stop_logging_if_full_disk:如果磁盤滿了是否停止寫日志,預設false
--symbolize_stacktrace:
--vmodule:每個子產品的詳細級别,逗号分隔的<module name>=<log level>清單
           

evolving-flags

标記為evolving的flags還未被認為是最終标記,雖然他們對調整有用,但是這些标記的删除和改變不會通知你

--cfile_default_block_size:cfile的預設block大小,預設256MB
--cfile_default_compression_codec:預設的cfile壓縮方式,預設空
--fault_crash_after_leader_request_fraction:leader在擷取UpdateConsensus RPC響應時崩潰的時間
--raft_get_node_instance_timeout_ms:通過RPC擷取節點資料的逾時時間,預設30000ms
--consensus_max_batch_size_bytes:更新對等體時每片最大RPC批量大小。
--follower_unavailable_considered_failed_sec:leader擷取不到follower的心跳多少秒之後,認為follower失效,預設300s
--fs_wal_dir_reserved_bytes:
--group_commit_queue_size_bytes:組送出隊列的最大大小,預設4MB
--log_min_segments_to_retain:始終保持的最小數量的曆史日志段,而不考慮持久性所需。 必須至少為1,預設2
--global_log_cache_size_limit_mb:服務端的全局通路緩存大小,預設1024MB
--log_async_preallocate_segments:WAL段預配置設定是否應該異步發生,預設true
--log_cache_size_limit_mb:每個tablet節點可在記憶體可緩存的最大條目,如果超過次容量限制,則最早的被替換出去,預設128MB
--log_preallocate_segments:WAL是否應在寫入之前預先配置設定整個段,預設true
--log_segment_size_mb:段的預設大小,預設64MB	
--evict_failed_followers:
--leader_failure_max_missed_heartbeat_periods
--raft_heartbeat_interval_ms
--safe_time_advancement_without_writes
--block_manager_max_open_files:data block可以打開的檔案描述符,0表示沒限制,-1表示40%的使用資源,預設-1
--fs_data_dirs_full_disk_cache_seconds:在塊管理器中緩存全盤狀态的秒數。 在此期間,不會嘗試寫入相應的根路徑。
--fs_data_dirs_reserved_bytes
--block_manager:塊管理使用的存儲類型,有file和log,預設log
--log_container_max_blocks:一個日志container的最大block數量,0表示沒有限制,-1沒有限制,除了在ext4系統在核心上有hole bug
--log_container_max_size:日志container的最大大小
--log_container_preallocate_bytes:建立新塊時在日志容器中預配置設定的位元組數。 設定為0以禁用預配置設定
--catalog_manager_delete_orphaned_tablets
--default_num_replicas:table的預設副本數,預設3
--master_ts_rpc_timeout_ms:master到TS的async rpc調用逾時時間
--max_create_tablets_per_ts:可以為一個新table請求TS的數量,預設20
--table_locations_ttl_ms
--tablet_creation_timeout_ms
--unresponsive_ts_rpc_timeout_ms
--tserver_unresponsive_timeout_ms
--rpc_acceptor_listen_backlog
--rpc_authentication
--rpc_default_keepalive_time_ms
--rpc_encryption
--rpc_encrypt_loopback_connections
--rpc_callback_max_cycles
--rpc_negotiation_timeout_ms
--remember_clients_ttl_ms
--remember_responses_ttl_ms
--rpc_dump_all_traces
--rpc_max_message_size
--rpc_tls_ciphers
--rpc_tls_min_protocol
--web_log_bytes
--max_clock_sync_error_usec
--rpc_num_acceptors_per_address
--rpc_num_service_threads
--rpc_service_queue_length
--max_negotiation_threads
--min_negotiation_threads
--num_reactor_threads
--webserver_enabled
--metrics_log_interval_ms
--webserver_max_post_length_bytes
--webserver_x_frame_options
--webserver_authentication_domain
--webserver_doc_root
--webserver_enable_doc_root
--webserver_interface
--webserver_num_worker_threads
--webserver_password_file
--enable_undo_delta_block_gc
--tablet_bloom_block_size:bllom的block大小
--tablet_bloom_target_fp_rate
--tablet_history_max_age_sec
--undo_delta_block_gc_init_budget_millis
--tablet_transaction_memory_limit_mb
--heartbeat_interval_ms
--heartbeat_max_failures_before_backoff
--heartbeat_rpc_timeout_ms
--scanner_ttl_ms
--scanner_batch_size_rows
--scanner_default_batch_size_bytes
--scanner_max_batch_size_bytes
--scanner_max_wait_ms
--num_tablets_to_copy_simultaneously
--num_tablets_to_open_simultaneously
--env_use_fsync
--file_cache_expiry_period_ms
--disable_core_dumps
--redact
--umask
--memory_limit_soft_percentage:在達到硬限制之前,此守護程序可占用該機器記憶體的百分比,預設60%
--memory_limit_warn_threshold_percentage:警告級别消息定期記錄之前該守護程式可能消耗的機器記憶體限制的百分比,預設98%
--tcmalloc_max_free_bytes_percentage
--metrics_retirement_age_ms
--enable_minidumps
--max_minidumps
--minidump_path
--minidump_size_limit_hint_kb
--drop_log_memory
--log_backtrace_at
--logbuflevel
--logbufsecs
           

kudu-tserver

stable-flags

--block_cache_capacity_mb:block cache的容量,預設512MB
--log_force_fsync_all:每次寫操作,是否需要把Log/WAL立即調用fsync()重新整理到磁盤上,預設false
--fs_data_dirs:一個逗号分隔的目錄,用來存儲data block,如果沒有指定,則fs_wal_dir參數值用來作為唯一的data block目錄,預設""
--fs_wal_dir:WAL的日志目錄,如果沒有指定,則程序無法啟動,可以和fs_data_dirs參數值一樣,預設""
--master_addresses:一個逗号分隔的master rpc位址清單,如果沒指定,則是非master複制模式
--keytab_file:kerberos相關
--rpc_bind_addresses:逗号分隔的監聽位址,預設0.0.0.0,端口是7051
--superuser_acl:一個逗号分隔的使用者名清單,指定哪些使用者是超級使用者,'*'表示所有使用者都是超級使用者,如果沒有設定,則程式運作使用者則是超級使用者
--user_acl:一個逗号分隔的使用者清單,哪些使用者可以通路叢集。'*'表示所有使用者都可以通路
--webserver_certificate_file:SSL認證檔案
--webserver_port:web服務監聽端口,預設80581
--tserver_master_addrs:一個逗号分隔的tserver連接配接的masters位址
--webserver_private_key_file:私鑰位址
--log_filename:log日志檔案名稱的字首,<log_dir>/<log_filename>.[INFO|WARN|ERROR|FATAL]
--maintenance_manager_num_threads:維護管理器的線程池大小,對于機械磁盤,線程大小應該大于磁盤驅動器大小。預設1
--memory_limit_hard_bytes:該程序可以使用的最大記憶體量,0表示根據系統記憶體自動調整,-1表示禁用記憶體限制
--memory_limit_soft_percentage:
--flagfile:配置檔案位址
--colorlogtostderr:是否在錯誤日志中用顔色顯示記錄資訊
--log_dir:如果指定了,則日志寫入該目錄,預設空
--logtostderr:錯誤日志列印到stderr而不是日志檔案,預設false
--max_log_size:預設最大日志檔案大小,預設1800MB
           

stable-advanced-flags

--enable_process_lifetime_heap_profiling:針對lifetime開啟heap profiling,profile的輸出存儲在heap_profile_path路徑下面,預設false
--heap_profile_path:heap profiles輸出路徑,如果沒有指定,則預設是/tmp/<process-name>.<pid>.<n>.heap
--unlock_experimental_flags:解鎖experimental标記,這些标記不能100%保證在kudu中進行維護,并且可能會不穩定,有一定風險,預設false
--unlock_unsafe_flags:解鎖unsafe标記,這些标記不能100%保證在kudu中進行維護,并且可能會不穩定,有一定風險,預設false
--fromenv:在環境變量中設定flags,export FLAGS_flag1=value,預設空
--tryfromenv:如果存在環境設定标記,則從環境讀取
--undefok:逗号分隔的flags名稱,
--helpmatch:顯示指定子產品包含哪些substr
--helpon:顯示由該标志值命名的子產品的幫助
--helppackage:顯示包裡面的所有子產品
--helpshort:顯示該程式的主要子產品
--helpxml:
--log_link:在該目錄下面增加額外的連接配接到日志檔案裡面
--log_prefix:将日志字首預加載到每個日志行的開頭,預設true
--minloglevel:記錄較低級别的消息,實際上不會記錄在任何地方
--stderrthreshold:此級别以上的日志消息除了會記錄到日志檔案外,還會記錄到stderr
--stop_logging_if_full_disk:如果磁盤滿了是否停止寫日志,預設false
--symbolize_stacktrace:
--vmodule:每個子產品的詳細級别,逗号分隔的<module name>=<log level>清單
           
evolving-flags
        大部分和master都一樣,就不列出來了。
           

轉載自:https://my.oschina.net/guol/blog/910340

繼續閱讀