a77a9a978a
As prereq of support for S3 datasource, the hadoop-aws jar needs to be in the Hadoop classpath. The jar is copied into the proper folder when possible on the appropriate plugins, and otherwise can be provided from a download URL by the user. Additionally, set the correct value of DIB_HDFS_LIB_DIR on the Vanilla plugin to avoid any unnecessary simlinking. Partially-Implements: bp sahara-support-s3 Change-Id: I94c5b0055b87f6a4e1382118d0718e588fccfe87 |
||
---|---|---|
.. | ||
ambari | ||
apt-mirror | ||
centos-mirror | ||
disable-firewall | ||
extjs | ||
fedora-mirror | ||
hadoop | ||
hadoop-cdh | ||
hadoop-cloudera | ||
hadoop-mapr | ||
hdp-local-mirror | ||
hive | ||
java | ||
kdc | ||
mysql | ||
nc | ||
nfs-shares | ||
ntp | ||
oozie | ||
openjdk | ||
oracle-java | ||
root-passwd | ||
s3_hadoop | ||
sahara-version/root.d | ||
spark | ||
ssh | ||
storm | ||
swift_hadoop | ||
xfs-tools | ||
zookeeper | ||
.gitignore | ||
README.rst |
Diskimage-builder tools for creation cloud images
Steps how to create cloud image with Apache Hadoop installed using diskimage-builder project:
- Clone the repository "https://github.com/openstack/diskimage-builder" locally. Note: Make sure you have commit 43b96d91 in your clone, it provides a mapping for default-jre.
git clone https://github.com/openstack/diskimage-builder
- Add ~/diskimage-builder/bin/ directory to your path (for example, PATH=$PATH:/home/$USER/diskimage-builder/bin/ ).
- Export the following variable ELEMENTS_PATH=/home/$USER/diskimage-builder/elements/ to your .bashrc. Then source it.
- Copy file "img-build-sudoers" from ~/disk-image-builder/sudoers.d/ to your /etc/sudoers.d/.
chmod 440 /etc/sudoers.d/img-build-sudoers
chown root:root /etc/sudoers.d/img-build-sudoers
- Export sahara-elements commit id variable (from sahara-extra directory):
export SAHARA_ELEMENTS_COMMIT_ID=`git show --format=%H | head -1`
- Move elements/ directory to disk-image-builder/elements/
mv elements/* /path_to_disk_image_builder/diskimage-builder/elements/
- Export DIB commit id variable (from DIB directory):
export DIB_COMMIT_ID=`git show --format=%H | head -1`
- Call the following command to create cloud image is able to run on OpenStack:
8.1. Ubuntu cloud image
JAVA_FILE=jdk-7u21-linux-x64.tar.gz DIB_HADOOP_VERSION=1.2.1 OOZIE_FILE=oozie-4.0.0.tar.gz disk-image-create base vm hadoop oozie ubuntu root-passwd -o ubuntu_hadoop_1_2_1
8.2. Fedora cloud image
JAVA_FILE=jdk-7u21-linux-x64.tar.gz DIB_HADOOP_VERSION=1.2.1 OOZIE_FILE=oozie-4.0.0.tar.gz DIB_IMAGE_SIZE=10 disk-image-create base vm fedora hadoop root-passwd oozie -o fedora_hadoop_1_2_1
Note: If you are building this image from Ubuntu or Fedora 18 OS host, you should add element 'selinux-permissive'.
JAVA_FILE=jdk-7u21-linux-x64.tar.gz DIB_HADOOP_VERSION=1.2.1 OOZIE_FILE=oozie-4.0.0.tar.gz DIB_IMAGE_SIZE=10 disk-image-create base vm fedora hadoop root-passwd oozie selinux-permissive -o fedora_hadoop_1_2_1
In this command 'DIB_HADOOP_VERSION' parameter is version of hadoop needs to be installed. You can use 'JAVA_DOWNLOAD_URL' parameter to specify download link for JDK (tarball or bin). 'DIB_IMAGE_SIZE' is parameter that specifes a volume of hard disk of instance. You need to specify it because Fedora and CentOS don't use all available volume. If you have already downloaded the jdk package, move it to "elements/hadoop/install.d/" and use its filename as 'JAVA_FILE' parameter. In order of working EDP components with Sahara DIB images you need pre-installed Oozie libs. Use OOZIE_DOWNLOAD_URL to specify link to Oozie archive (tar.gz). For example we have built Oozie libs here: http://sahara-files.mirantis.com/oozie-4.0.0.tar.gz If you have already downloaded archive, move it to "elements/oozie/install.d/" and use its filename as 'OOZIE_FILE' parameter.