-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
在快速开始demo中,查询报公钥不正确问题 #187
Comments
另外,http请求参数用户相关信息都是密码明文传输吗? |
确认下:create user的时候,是从scqltool脚本执行后的输出语句中复制的吗? 如果不是的话,会导致公钥不匹配(demo里的create user使用的私钥和你们本地跑的不一样) |
./scqltool genCreateUserStmt --user alice --passwd some_password --party alice --pem examples/scdb-tutorial/engine/alice/conf/ed25519key.pem./scqltool genCreateUserStmt --user bob --passwd another_password --party bob --pem examples/scdb-tutorial/engine/bob/conf/ed25519key.pem通过这两个脚本跑的和demo都测试过了不行。 |
可以通过开启https来保护账密,不过配置https比较复杂,辛苦参考配置说明:https://www.secretflow.org.cn/docs/scql/latest/zh-Hans/reference/engine-config#config-for-tls |
状态会保留在mysql里面,重新多次create user是无法成功的。请问反复create user是通过先drop user,再 create user吗? 或者清理掉环境。 |
我突然明白了,ed25519key.pem是需要我用alice和bob节点生成的对吗? |
运行setup.sh脚本会在本地生成alice和bob的ed25519key.pem |
对,先drop user 后 create user。 |
我的部署方式是10节点部署alice和scdb,11节点部署bob,alice和bob部署时密钥分别是本地节点生成的。现在分别使用10和11的密钥进行alice和bob的create user,但是最终报bob无权限 |
我刚刚跑了下examples,没有复现你的问题。可以直接看公钥内容是否匹配: |
我看到了配置文件中bob写错成alice我重新部署后验证一下。多谢! |
改了配置直接restart就行了 |
完成demo执行,使用http异步提交后进行结果查询,一直都是result not ready,demo执行1秒内就结果了,这是什么原因?{"status":{"code":104, "message":"result not ready, please retry later", "details":[]}, "out_columns":[], "scdb_session_id":"b5d3f356-9b14-11ee-89ab-0242ac150002", "affected_rows":"0", "warnings":[]} |
应该是有报错,(engine,或者scdb配置异常之类的)可以docker logs 看下 engine或者scdb是否有报错。 |
同步查询返回正常,异步查询使用返回色session_id查询结果就不行。engine异常日志有,劳烦分析下是什么配置错误导致 engine日志: |
从engine日志看,是没法访问scdb,是因为有一个engine和scdb不在同一个机器上吗? 如果是跨机的情况,scdb的配置里scdb_host应该使用跨机可访问的地址。(1.docker-compose里,scdb service expose出来独立端口. 2.scdb_host修改为公开的host/ip + 公开的端口) |
engine和scdb在同一个节点,不同docker内。可能无法直接通过scdb访问;docker-compose的配置我具体可以参考哪里?因为docker拉起时具体端口配置参数是哪项不了解。 |
如果不是docker内部,反而更简单点:直接scdb的配置里scdb_host使用跨机可访问scdb的地址即可, |
scdb启动的端口如何设定?docker每次起端口都不同 |
参考docker-compose.yml里的ports |
4a0278ad60e4 secretflow/scql:latest "/home/admin/bin/scd…" 5 hours ago Up 9 seconds 0.0.0.0:32943->8080/tcp, :::32943->8080/tcp scdb-scdb-1 32943这个端口应该如何指定? |
懂了,感谢🙏 |
按照步骤进行demo执行,最后一步时报异常,反复create user了几次,不知道问题出在哪个密码不正确?
异常信息:
SELECT ta.credit_rank, COUNT(*) as cnt, AVG(ta.income) as avg_income, AVG(tb.order_amount) as avg_amount FROM ta INNER JOIN tb ON ta.ID = tb.ID WHERE ta.age >= 20 AND ta.age <= 30 AND tb.is_active=1 GROUP BY ta.credit_rank;
[fetch]err: Code: 320, message:RunExecutionPlan create session(4d46b55c-9a5d-11ee-aa88-0242ac150002) failed, catch std::exception=[Enforce fail at engine/auth/authenticator.cc:55] self_public_key_ == pi.pub_key. self public key mismatched
Stacktrace:
#0 scql::engine::EngineServiceImpl::VerifyPublicKeys()+0x558fbb8923c8
#1 scql::engine::EngineServiceImpl::RunExecutionPlan()+0x558fbb897d40
#2 brpc::policy::ProcessHttpRequest()+0x558fbe2089b5
#3 brpc::ProcessInputMessage()+0x558fbe1b2067
#4 brpc::InputMessenger::OnNewMessages()+0x558fbe1b3641
#5 brpc::Socket::ProcessEvent()+0x558fbe2b149e
#6 bthread::TaskGroup::task_runner()+0x558fbe30b677
#7 bthread_make_fcontext+0x558fbe2f6a31
The text was updated successfully, but these errors were encountered: