Реплика / сервер clickhouse не может соединиться друг с другом при настройке кольцевого кластера 3-го узла clickhouse с помощью zookeeper - PullRequest
0 голосов
/ 06 июля 2019

Данные не реплицируются на каждую реплику Clickhouse.При проверке журнала clickhouse-server он показывает

DB :: StorageReplicatedMergeTree :: queueTask () ::: Poco :: Exception.Код: 1000, e.code () = 0, e.displayText () = Хост не найден: ip-172-1-140-243 (версия 19.9.2.4)

У меня 3 разныхмашины на каждой машине я установил как clickhouse, так и zookeeper.Я пытаюсь настроить кластер clickhouse с 3 узлами, используя zookeeper.Я выполнил эти шаги для настройки https://blog.uiza.io/replicated-and-distributed-on-clickhouse-part-2/.Я создал таблицы и реплики для всех экземпляров clickhouse, а также проверил их в zookeeper.Каталог был создан в zookeeper для всех реплик.Создали /etc/metrica.xml, zoo.cfg, /etc/clickhouse-server/config.xml для всех экземпляров.Предоставление всех 3 файлов из 1 экземпляра

/ etc / metrica.xml file

<?xml version="1.0"?>
<yandex>
<clickhouse_remote_servers>
    <perftest_3shards_1replicas>
        <shard>
             <internal_replication>true</internal_replication>
            <replica>
                <default_database>dwh01</default_database>
                <host>172.1.34.199</host>
                <port>9000</port>
            </replica>
            <replica>
                <default_database>dwh01</default_database>
                <host>172.1.73.156</host>
                <port>9000</port>
            </replica>
        </shard>

         <shard>
             <internal_replication>true</internal_replication>
            <replica>
                <default_database>dwh02</default_database>
                <host>172.1.73.156</host>
                <port>9000</port>
            </replica>
            <replica>
                <default_database>dwh02</default_database>
                <host>172.1.140.243</host>
                <port>9000</port>
            </replica>
        </shard>

        <shard>
             <internal_replication>true</internal_replication>
            <replica>
                <default_database>dwh03</default_database>
                <host>172.1.140.243</host>
                <port>9000</port>
            </replica>
            <replica>
                <default_database>dwh03</default_database>
                <host>172.1.34.199</host>
                <port>9000</port>
            </replica>
        </shard>
    </perftest_3shards_1replicas>
</clickhouse_remote_servers>


<zookeeper-servers>
  <node index="1">
    <host>172.1.34.199</host>
    <port>2181</port>
  </node>
 <node index="2">
    <host>172.1.73.156</host>
    <port>2181</port>
  </node>
 <node index="3">
    <host>172.1.140.243</host>
    <port>2181</port>
  </node> 
</zookeeper-servers>

<macros replace="replace">
  <cluster>OLAPLab</cluster>
  <dwhshard00>01</dwhshard00>
  <dwhshard01>03</dwhshard01>
  <dwhreplica00>01</dwhreplica00>
  <dwhreplica01>02</dwhreplica01>
  <shard>01</shard>
  <replica>node1</replica>
</macros>
<interserver_http_host>ip-172-1-34-199</interserver_http_host>
</yandex>

/ etc / clickhouse-server / config.xml

Only added this line rest of the config is default config
<listen_host>::</listen_host>

/ usr/lib/zookeeper/conf/zoo.cfg

maxClientCnxns=50
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/var/lib/zookeeper
# the port at which the clients will connect
clientPort=2181
# the directory where the transaction logs are stored.
dataLogDir=/var/lib/zookeeper
server.1=172.1.34.199:2888:3888
server.2=172.1.73.156:2888:3888
server.3=172.1.140.243:2888:3888

/ etc / hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost6 localhost6.localdomain6
127.0.0.1    ip-172-1-34-199
127.0.0.1    172.1.34.199

Что я должен изменить, чтобы получить реплицированные данные во всех репликах, принадлежащих всем экземплярам

Ответы [ 2 ]

0 голосов
/ 10 июля 2019

Похоже, вам нужно добавить к hosts -файлу обоих узлов ( 172.1.34.199 и 172.1.73.156 ) строку

172.1.140.243 ip-172-1-140-243
0 голосов
/ 07 июля 2019

Доступны ли порты clickhouse и zookeeper на машинах?

Как вы можете запустить wget http://172.1.140.243:9000?То же самое относится и к портам zookeper соответственно.

...