You may have problems when operates vineyard, and content in this page could helps you when error occurs.
Could not find package configuration file provided by
While attempting to install vineyard from source, user may face this error. A module named “graph” in vineyard which is designed for distributed data structure requires libgrape-lite library. This issue can be resolved by either:
Installing the libgrape-lite library, following the instructions in Building libgrape-lite.
Disabling the graph module with the following cmake option:
cmake .. -DBUILD_VINEYARD_GRAPH=OFF
Vineyard cannot be started#
Etcd hasn’t been configured properly
You may see the following error when sending requests to vineyard:
Etcd error: etcdserver: too many operations in txn request, error code: 3
That means your etcd hasn’t been configured properly and doesn’t support more than 128 operations inside a transaction. You could check your etcd startup parameters and set
--max-txn-opsto a larger value, for example
bind: Permission denied error when launching vineyardd
Vineyard server listens on a UNIX-domain socket to establish IPC connections and sharing memory with clients. By default, the UNIX-domain socket is located at
/var/run/vineyard.sock, where the root permission is usually required.
To launching vineyardd, you could either
or, specify a location for UNIX-domain socket where root permission is not required via the
--socketcommand line arguments, e.g.,
python3 -m vineyard --socket=/tmp/vineyard.sock
Vineyard failed on Kubernetes#
Resources of etcd pod when deploying on Kubernetes
We have noticed that etcd performs pretty poor when vineyard client persist a large object, especially in Kubernetes deployment the CPU cores of etcd pod is limited by cgroup. For such cases, users need to increase the CPU resources of etcd pod. For more details about etcd tuning, please refer to the section Hardware recommendations in etcd docs.
Errors happens to Python SDK#
Encounter strange behaviors when working with pyarrow
The python SDK of vineyard depends on libarrow-dev. When the module is imported along with pyarrow there will be a tons of DLL conflict issues that need to be resolved, see https://issues.apache.org/jira/browse/ARROW-10599 for more details.
That means, we need to keep the consistence of apache-arrow’s installation and vineyard’s installation. More specifically,
For users, just install pyarrow and vineyard both using the
pippackage manager should be enough. You could install them by
pip3 install pyarrow vineyard
For developers of vineyard, the localized installed pyarrow should be built from scratch, using the system-wide libarrow-dev, that can be achieved by
pip3 install --no-binary pyarrow pyarrow
Besides, you may also meet strange crashes or runtime exceptions if you have
importpyarrow before vineyard, you could try to adjust the import order by
import pyarrow. And please export environment variable
VINEYARD_DEVELOP=TRUEif you have encountered any shared library related issue.