- Subscribe to RSS Feed
- Mark Question as New
- Mark Question as Read
- Float this Question for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
CDSW installation: Entries in DOCKER_BLOCK_DEVICES must only be block devices
Created on ‎10-10-2018 07:57 AM - edited ‎09-16-2022 06:47 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello guys,
I have a problem by adding CDS 1.4 as service on my CDH 5.14.
The error-message is:
ERROR:: Entries in DOCKER_BLOCK_DEVICES must only be block devices: [/dev/xvde]: 1 ERROR:: Unable to create storage for docker.: 1
What I did so far or tried out:
- Added two new Hosts to my Cluster (Master and Worder for CDSW)
- Installed CDSW successfully with Cloudera Manager
- Formatted and mounted one block device to /var/lib/cdsw for the Application Block Device (CDSW Documentation Page 45)
- At this point I am not sure what to paste in during the installation for DOCKER_BLOCK_DEVICES
I tried here severl paths without success.
As I understood I can choose myself here a path for instance /dev/xvde (Example can be found on CDSW documentation page 48) and the installer will do the work (format and mount Docker on each gateway host)
Full-Log from Cloudera Manager after the installation aborts:
Mi 10. Okt 11:26:24 CEST 2018 Current working directory: /run/cloudera-scm-agent/process/2762-cdsw-CDSW_DOCKER-prepare_node Launching one-off process: /usr/lib64/cmf/service/csd/csd.sh prepare_node true Mi 10. Okt 11:26:24 CEST 2018 JAVA_HOME=/usr/java/jdk1.8.0_181 Using /run/cloudera-scm-agent/process/2762-cdsw-CDSW_DOCKER-prepare_node as conf dir Using scripts/control.sh as process script CONF_DIR=/run/cloudera-scm-agent/process/2762-cdsw-CDSW_DOCKER-prepare_node CMF_CONF_DIR=/etc/cloudera-scm-agent Checking if [nfs-utils.x86_64] is installed...OK Checking if [redhat-lsb-core.x86_64] is installed...OK Checking if [nmap-ncat.x86_64] is installed...OK Checking if [selinux-policy-targeted.noarch] is installed...OK Checking if [libtool-ltdl.x86_64] is installed...OK Checking if [libcgroup.x86_64] is installed...OK Checking if [libseccomp.x86_64] is installed...OK Checking if [lvm2.x86_64] is installed...OK Checking if [bridge-utils.x86_64] is installed...OK Checking if [policycoreutils-python.x86_64] is installed...OK Checking if [ntp.x86_64] is installed...OK Checking if [ebtables.x86_64] is installed...OK Checking if [bind-utils.x86_64] is installed...OK Checking if [openssl.x86_64] is installed...OK Checking if [e2fsprogs.x86_64] is installed...OK Checking if [rsync.x86_64] is installed...OK Checking if [selinux-policy.noarch] is installed...OK Checking if [gawk.x86_64] is installed...OK Checking if [sed.x86_64] is installed...OK Checking if [coreutils.x86_64] is installed...OK Checking if [util-linux.x86_64] is installed...OK Checking if [ncurses.x86_64] is installed...OK Checking if [socat.x86_64] is installed...OK Setting up docker storage. ERROR:: Entries in DOCKER_BLOCK_DEVICES must only be block devices: [/dev/xvde]: 1 ERROR:: Unable to create storage for docker.: 1 Exit code: 1
Grateful for any help!
Created on ‎10-14-2018 11:04 AM - edited ‎10-14-2018 11:08 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I could solve the problem myself. As written in the documentation you have to have a block device for Docker. This can be either a second hard drive or a file which works as a block device.
Since I have only one hard drive on every CDSW-Host I had to create a block device as a file.
Following steps might be helpful for someone:
- Creating a file (300GB) out of our aivalable block device (hard drive) under /home/myBlockDevice :
dd if=/dev/sda of=/home/myBlockDevice bs=1M count=300000 - Format file with ext4:
mkfs.ext4 /home/myBlockDevice - Bind file with loop device loop0:
losetup /dev/loop0 /home/myBlockDevice
Do the following if you wish to bind your newely created block-device after a reboot of your host with the loop device:
- nano /etc/rc.local
- Paste: losetup /dev/loop0 /home/myBlockDevice
- Safe file and close
- Run following comment on shell to ensure that the script will be executed during boot:
chmod +x /etc/rc.d/rc.local
In this example the path of DOCKER_BLOCK_DEVICES during the installation of CDSW will be /dev/loop0
Created on ‎10-14-2018 11:04 AM - edited ‎10-14-2018 11:08 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I could solve the problem myself. As written in the documentation you have to have a block device for Docker. This can be either a second hard drive or a file which works as a block device.
Since I have only one hard drive on every CDSW-Host I had to create a block device as a file.
Following steps might be helpful for someone:
- Creating a file (300GB) out of our aivalable block device (hard drive) under /home/myBlockDevice :
dd if=/dev/sda of=/home/myBlockDevice bs=1M count=300000 - Format file with ext4:
mkfs.ext4 /home/myBlockDevice - Bind file with loop device loop0:
losetup /dev/loop0 /home/myBlockDevice
Do the following if you wish to bind your newely created block-device after a reboot of your host with the loop device:
- nano /etc/rc.local
- Paste: losetup /dev/loop0 /home/myBlockDevice
- Safe file and close
- Run following comment on shell to ensure that the script will be executed during boot:
chmod +x /etc/rc.d/rc.local
In this example the path of DOCKER_BLOCK_DEVICES during the installation of CDSW will be /dev/loop0
Created ‎10-14-2018 11:17 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Boris for the below information. Will try the same.
