Как мне подключиться к Docker Influxdb с помощью R-клиента? - PullRequest
4 голосов
/ 30 сентября 2019

Я пытаюсь установить соединение с базой данных Influx , используя клиентскую библиотеку Influx DB R , чтобы установить соединение с базой данных Influx, запущенной локально через Docker, вот YAMLfile:

version: "3.7"
services:
  influxdb:
    image: influx
    ports:
      - "8086:8086"
      - "8083:8083"
    environment:
      - INFLUX_DBNAME=exampledb
    volumes:
      - /Users/<user>/Desktop/influxdb/pv:/var/lib/influxdb
      - /Users/<user>/Desktop/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf:ro 
    deploy:
      replicas: 1
      restart_policy:
        condition: on-failure
  test:
    build: ./test
    image: test:latest 
    environment:
      - INFLUX_ADDR=influxdb
      - INFLUX_PORT=8086
      - INFLUX_DBNAME=exampledb
      - INFLUX_TBLNAME=exampletbl
    depends_on:
      - influxdb
    deploy:
      replicas: 1
      restart_policy:
        condition: on-failure 

Я получил файл effxdb.conf:

local_machine$ docker run --rm influxdb influxd config > influxdb.conf

Я изменил файл infxdb.conf с помощью , установив для auth-enabled значение true , и добавилгруппа с именем admin:

[http]
  enabled = true
  bind-address = ":8086"
  auth-enabled = true

Когда я пытаюсь установить соединение в R cli (или в программе R в тестовом контейнере) следующим образом:

>library(influxdbr)
>influx_conn <- influx_connection(host='influxdb', port=8086, user='admin', pass='admin')

Я получаю следующееошибка:

<HTML><HEAD>
<TITLE>Access Denied</TITLE>
</HEAD>
<BODY>
<FONT face="Helvetica">
<big><strong></strong></big><BR>
</FONT>
<blockquote>
<TABLE border=0 cellPadding=1 width="80%">
<TR><TD>
<FONT face="Helvetica">
<big>Access Denied (authentication_failed)</big>
<BR>
<BR>
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica">
Your credentials could not be authenticated: "Credentials are missing.". You will not be permitted access until your credentials can be verified.
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica">
This is typically caused by an incorrect username and/or password, but could also be caused by network problems.
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica" SIZE=2>
<BR>

</FONT>
</TD></TR>
</TABLE>
</blockquote>
</FONT>
</BODY></HTML>

Я попытался выполнить exec'ing в контейнере, создать пользователей и пароли и соединиться с ними, но я все еще не могу подключиться. У меня похожая проблема с подключением с помощью клиента Python . Я могу свернуться в контейнер Influxdb, но я не могу использовать клиентскую библиотеку для R или Python.

Основываясь на комментариях, я также добавил «группу» в файл конфигурации внизу, как указано в этом примере подключения клиента R :

influenxdb.config:

  [admin]
    scheme="http"
    host="influxdb"
    port=8086
    user="admin"
    pass="admin"
    path="/"


# create connection object 
# (here: based on a config file with group "admin" in it (s. package documentation))
con <- influx_connection(group = "admin")

Та же ошибка. Итак, мой вопрос, есть ли что-то еще, что мне нужно установить?

...