The docker-compose setup only start more or less once. If you try to restart it the hbase won't find it's regionserver again.
This is probably causes by the distributed setup of hbase.
A whole zookeeper cluster only for a single node hbase, that won't restart I think is a bit a overkill just for a "example" setup.
I think it would be more useful for more people to have a really simple setup with the builtin zookeeper of hbase. You can achieve that by:
-
Removing all depend to zoo1
-
Add zookeeper port to hbase
expose:
- "2181"
ports:
- "2181:2181"
-
Overwrite hbase-site.xml with:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/pinpoint/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/pinpoint/zookeeper</value>
</property>
<property>
<name>hbase.master.port</name>
<value>60000</value>
</property>
<property>
<name>hbase.regionserver.port</name>
<value>60020</value>
</property>
</configuration>
Therefore you just mount the new hbase-site.xml over the old one. Also mount the zookeeper directory with persistance.
volumes:
- hbase_zookeeper:/home/pinpoint/zookeeper
- ./hbase-site.xml:/opt/hbase/hbase-2.2.6/conf/hbase-site.xml
-
In the env file replace PINPOINT_ZOOKEEPER_ADDRESS=pinpoint-hbase and FLINK_CLUSTER_ZOOKEEPER_ADDRESS=pinpoint-hbase
This setup will survive a docker-compe down and up again.
You can probably also keep the zookeeper in the setup and only remove the distributed property from hbase-site.xml
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
I didn't tested this setup thou. I hope this will save someone a bit of debugging.
The docker-compose setup only start more or less once. If you try to restart it the hbase won't find it's regionserver again.
This is probably causes by the distributed setup of hbase.
A whole zookeeper cluster only for a single node hbase, that won't restart I think is a bit a overkill just for a "example" setup.
I think it would be more useful for more people to have a really simple setup with the builtin zookeeper of hbase. You can achieve that by:
Removing all depend to zoo1
Add zookeeper port to hbase
Overwrite hbase-site.xml with:
Therefore you just mount the new hbase-site.xml over the old one. Also mount the zookeeper directory with persistance.
In the env file replace
PINPOINT_ZOOKEEPER_ADDRESS=pinpoint-hbaseandFLINK_CLUSTER_ZOOKEEPER_ADDRESS=pinpoint-hbaseThis setup will survive a docker-compe down and up again.
You can probably also keep the zookeeper in the setup and only remove the distributed property from hbase-site.xml
I didn't tested this setup thou. I hope this will save someone a bit of debugging.