General Question
when I use Pegasus 2.4 access controller , I can use peagsus-shell access target cluster , but I found all the RPC will be failed in the internal of the cluster.
- I use
pegasus_prc/pegasus@COMPANY.HADOOP as my server principal.
Here is my keytab Principal used in target cluster(To check my keytab file is consistent with principal):
[work@xxxxxxxx pegasus]$ klist -k pegasus_prc@COMPANY.HADOOP.keytab
Keytab name: FILE:pegasus_prc@COMPANY.HADOOP.keytab
KVNO Principal
---- --------------------------------------------------------------------------
1 pegasus_prc/pegasus@COMPANY.HADOOP
1 pegasus_prc/pegasus@COMPANY.HADOOP
- Here is the config in target cluster's config.ini:
[[security]]
enable_acl = false
super_users = u_guoningshen
service_name = pegasus_prc
service_fqdn = pegasus
sasl_plugin_path = /usr/lib64/sasl2
krb5_keytab = /home/work/app/pegasus/pegasus_prc@COMPANY.HADOOP.keytab
krb5_config = /home/work/app/pegasus/krb5.conf
krb5_principal = pegasus_prc/pegasus@COMPANY.HADOOP
mandatory_auth = false
enable_auth = true
- Here is my pegasus-shell ini file , and I use it to access target cluster
[apps..default]
run = true
count = 1
[apps.mimic]
type = dsn.app.mimic
arguments =
pools = THREAD_POOL_DEFAULT,THREAD_POOL_META_SERVER
run = true
count = 1
[core]
tool = nativerun
pause_on_start = false
logging_start_level = LOG_LEVEL_DEBUG
logging_factory_name = dsn::tools::simple_logger
logging_flush_on_exit = false
enable_default_app_mimic = true
data_dir = ./pegasus_shell.data
[tools.simple_logger]
short_header = false
fast_flush = true
max_number_of_log_files_on_disk = 10
stderr_start_level = LOG_LEVEL_FATAL
[tools.simulator]
random_seed = 0
[network]
io_service_worker_count = 4
[threadpool..default]
worker_count = 4
partitioned = false
worker_priority = THREAD_xPRIORITY_NORMAL
[threadpool.THREAD_POOL_DEFAULT]
name = default
worker_count = 20
[threadpool.THREAD_POOL_META_SERVER]
name = meta_server
[task..default]
is_trace = false
is_profile = false
allow_inline = false
rpc_call_header_format = NET_HDR_DSN
rpc_call_channel = RPC_CHANNEL_TCP
rpc_timeout_milliseconds = 10000
[pegasus.clusters]
c4tst-function2 = 10.xxx.xx.1:32601,10.xxx.xx.2:32601
[security]
enable_auth = true
krb5_keytab = /home/work/2.4.4_pegasus/pegasus/u_guoningshen.keytab
krb5_config = /etc/krb5.conf
krb5_principal = u_guoningshen@COMPANY.HADOOP
sasl_plugin_path = /home/work/2.4.4_pegasus/pegasus/thirdparty/output/lib/sasl2
service_fqdn = pegasus
service_name = pegasus_prc
- What happen?
- Connected to cluster via pegasus-shell
./run.sh shell -c ker.ini
u_guoningshen is super user for cluster , so I have full permissions.
The cluster name is: c4tst-function2
The cluster meta list is: 10.xxx.xx.1:32601,10.xxx.xx.2:32601
>>> ls
[general_info]
app_id status app_name app_type partition_count replica_count is_stateful create_time drop_time drop_expire envs_count
238 AVAILABLE test pegasus 4 3 true 2024-09-11_07:30:20 - - 0
239 AVAILABLE gns pegasus 4 3 true 2024-09-12_02:30:50 - - 0
[summary]
total_app_count : 2
>>> drop gns
reserve_seconds = 0
drop app gns succeed
>>> ls
[general_info]
app_id status app_name app_type partition_count replica_count is_stateful create_time drop_time drop_expire envs_count
238 AVAILABLE test pegasus 4 3 true 2024-09-11_07:30:20 - - 0
[summary]
total_app_count : 1
>>>
- But I can not create table, because all the rpc send from master meta to another nodes will
negotiation failed, with err = ERR_UNKNOWN, msg = ERR_UNKNOWN
>>> create gns_test
create app gns_test succeed, waiting for app ready
gns_test not ready yet, still waiting... (0/4)
gns_test not ready yet, still waiting... (0/4)
gns_test not ready yet, still waiting... (0/4)
gns_test not ready yet, still waiting... (0/4)
...
General Question
when I use Pegasus 2.4 access controller , I can use peagsus-shell access target cluster , but I found all the RPC will be failed in the internal of the cluster.
pegasus_prc/pegasus@COMPANY.HADOOPas my server principal.Here is my keytab Principal used in target cluster(To check my keytab file is consistent with principal):
u_guoningshenis super user for cluster , so I have full permissions.negotiation failed, with err = ERR_UNKNOWN, msg = ERR_UNKNOWN