在Docker中启动Clickhouse-server失败,并出现Poco错误

时间:2018-08-15 11:54:46

标签: docker clickhouse

我正在尝试使用官方docker容器启动clickhouse-server。我拉了最新的一个,尝试启动它,并收到以下错误:

Poco :: Exception。代码:1000,e.code()= 0,e.displayText()=找不到:记录器,e.what()=找不到

我正尝试在具有High Sierra的Mac上执行此操作,怀疑这可能与该问题有关。我正在这样运行服务器:

docker run --name some-clickhouse-server --ulimit nofile=262144:262144 -v /Users/dmitrysmirnov/clickhouse/config.xml:/etc/clickhouse-server/config.xml yandex/clickhouse-server

配置:

<yandex>
    <listen_host>0.0.0.0</listen_host>
    <listen_try>1</listen_try>

    <!--
    <logger>
        <level>trace</level>
        <console>1</console>
    </logger>
    -->
</yandex>

欢迎提出任何建议/调试想法,谢谢!

1 个答案:

答案 0 :(得分:1)

实际上,这不是ClickHouse本身的问题。 docker run命令中有错误。 -v选项用于设置音量,而不是特定文件。因此,从字面上看,您创建的目录的路径为/etc/clickhouse-server/config.xml/,这是Clickhouse预热的第一步。

相反,我建议您将config.xml放在目录中,并将该卷与ClickHouse图像内的config.d文件夹链接。 config.d以及users.d和其他.d都被认为正是以此方式使用。所以:

docker run --name clickhouse-server -v `(pwd)`/dir/:/etc/clickhouse-server/config.d yandex/clickhouse-server

同样,最好检查docker run的其他选项。顺便说一句:我发现-d选项是必须的,因为分离的容器使我的终端更有用。