如何在cassandra的docker实例中启用用户定义的函数?

当我尝试在cassandra中创build一个简单的减法函数时出现以下错误:

user defined functions are disabled in cassandra.yaml set enable user defined functions=true 

我无法弄清楚如何将其设置为true。 我去哪里做这个? 我正在运行cassandra的docker实例,这使得它更加困难。

您需要修改Dockerfile中的cassandra.yaml文件。 您可以创build一个单独的图层作为原始Cassandra图像的扩展(更多此处 )。

假设您正在使用Cassandra 3,并且从软件包安装中安装,则其位置是:

 /etc/cassandra/cassandra.yaml 

其他可能的位置用于不同的安装选项(压缩包等)在这里logging 。 如果你正在运行这个 Docker镜像,你应该可以在/ etc / cassandra中find它。

一旦找出了安装的path,可以使用sed来更改文件。 使用Docker的RUN命令运行它:

 RUN sed -i -r 's/enable_user_defined_functions=false/enable_user_defined_functions=true/' /etc/cassandra/cassandra.yaml 

然后重新启动节点。