Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
configuration
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenEdx
configuration
Commits
d3ff2e07
Unverified
Commit
d3ff2e07
authored
Jul 11, 2016
by
arbabnazar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add the required dependency and rewrite the tasks using YAML syntax
parent
eb8a7178
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
157 additions
and
127 deletions
+157
-127
playbooks/roles/hadoop_common/meta/main.yml
+2
-0
playbooks/roles/hadoop_common/tasks/main.yml
+155
-127
No files found.
playbooks/roles/hadoop_common/meta/main.yml
View file @
d3ff2e07
...
...
@@ -11,4 +11,5 @@
# Role includes for role hadoop_common
dependencies
:
-
common_vars
-
oraclejdk
\ No newline at end of file
playbooks/roles/hadoop_common/tasks/main.yml
View file @
d3ff2e07
...
...
@@ -22,69 +22,87 @@
# oraclejdk: Not strictly required, but we tend to trust it more than openjdk.
#
-
name
:
install system packages
apt
:
>
pkg={{ item }}
state=present
with_items
:
hadoop_common_debian_pkgs
-
name
:
ensure group exists
group
:
name={{ hadoop_common_group }} system=yes state=present
-
name
:
ensure user exists
user
:
>
name={{ hadoop_common_user }}
group={{ hadoop_common_group }}
home={{ HADOOP_COMMON_USER_HOME }} createhome=yes
shell=/bin/bash system=yes generate_ssh_key=yes
state=present
-
name
:
own key authorized
file
:
>
src={{ HADOOP_COMMON_USER_HOME }}/.ssh/id_rsa.pub
dest={{ HADOOP_COMMON_USER_HOME }}/.ssh/authorized_keys
owner={{ hadoop_common_user }} group={{ hadoop_common_group }} state=link
-
name
:
ssh configured
template
:
>
src=hadoop_user_ssh_config.j2
dest={{ HADOOP_COMMON_USER_HOME }}/.ssh/config
mode=0600 owner={{ hadoop_common_user }} group={{ hadoop_common_group }}
-
name
:
ensure user is in sudoers
lineinfile
:
>
dest=/etc/sudoers state=present
regexp='^%hadoop ALL\=' line='%hadoop ALL=(ALL) NOPASSWD:ALL'
validate='visudo -cf %s'
-
name
:
check if downloaded and extracted
stat
:
path={{ HADOOP_COMMON_HOME }}
-
name
:
Install system packages
apt
:
name
:
"
{{
item
}}"
state
:
present
update_cache
:
yes
with_items
:
"
{{
hadoop_common_debian_pkgs
}}"
-
name
:
Ensure group exists
group
:
name
:
"
{{
hadoop_common_group
}}"
system
:
yes
state
:
present
-
name
:
Ensure user exists
user
:
name
:
"
{{
hadoop_common_user
}}"
group
:
"
{{
hadoop_common_group
}}"
home
:
"
{{
HADOOP_COMMON_USER_HOME
}}"
createhome
:
yes
shell
:
/bin/bash
system
:
yes
generate_ssh_key
:
yes
state
:
present
-
name
:
Own key authorized
file
:
src
:
"
{{
HADOOP_COMMON_USER_HOME
}}/.ssh/id_rsa.pub"
dest
:
"
{{
HADOOP_COMMON_USER_HOME
}}/.ssh/authorized_keys"
owner
:
"
{{
hadoop_common_user
}}"
group
:
"
{{
hadoop_common_group
}}"
state
:
link
-
name
:
SSH configured
template
:
src
:
"
hadoop_user_ssh_config.j2"
dest
:
"
{{
HADOOP_COMMON_USER_HOME
}}/.ssh/config"
mode
:
"
0600"
owner
:
"
{{
hadoop_common_user
}}"
group
:
"
{{
hadoop_common_group
}}"
-
name
:
Ensure user is in sudoers
lineinfile
:
dest
:
/etc/sudoers
state
:
present
regexp
:
'
^%hadoop
ALL\='
line
:
'
%hadoop
ALL=(ALL)
NOPASSWD:ALL'
validate
:
'
visudo
-cf
%s'
-
name
:
Check if downloaded and extracted
stat
:
path
:
"
{{
HADOOP_COMMON_HOME
}}"
register
:
extracted_hadoop_dir
-
name
:
d
istribution downloaded
get_url
:
>
url
={{ hadoop_common_dist.url }}
sha256sum
={{ hadoop_common_dist.sha256sum }}
dest
={{ hadoop_common_temporary_dir }}
-
name
:
D
istribution downloaded
get_url
:
url
:
"
{{
hadoop_common_dist.url
}}"
sha256sum
:
"
{{
hadoop_common_dist.sha256sum
}}"
dest
:
"
{{
hadoop_common_temporary_dir
}}"
when
:
not extracted_hadoop_dir.stat.exists
-
name
:
distribution extracted
shell
:
>
chdir={{ HADOOP_COMMON_USER_HOME }}
tar -xzf {{ hadoop_common_temporary_dir }}/{{ hadoop_common_dist.filename }} && chown -R {{ hadoop_common_user }}:{{ hadoop_common_group }} hadoop-{{ HADOOP_COMMON_VERSION }}
shell
:
"
tar
-xzf
{{
hadoop_common_temporary_dir
}}/{{
hadoop_common_dist.filename
}}
&&
chown
-R
{{
hadoop_common_user
}}:{{
hadoop_common_group
}}
hadoop-{{
HADOOP_COMMON_VERSION
}}"
args
:
chdir
:
"
{{
HADOOP_COMMON_USER_HOME
}}"
when
:
not extracted_hadoop_dir.stat.exists
-
name
:
versioned directory symlink created
file
:
>
src={{ HADOOP_COMMON_USER_HOME }}/hadoop-{{ HADOOP_COMMON_VERSION }}
dest={{ HADOOP_COMMON_HOME }}
owner={{ hadoop_common_user }} group={{ hadoop_common_group }} state=link
-
name
:
configuration installed
template
:
>
src={{ item }}.j2
dest={{ HADOOP_COMMON_CONF_DIR }}/{{ item }}
mode=0640 owner={{ hadoop_common_user }} group={{ hadoop_common_group }}
-
name
:
Versioned directory symlink created
file
:
src
:
"
{{
HADOOP_COMMON_USER_HOME
}}/hadoop-{{
HADOOP_COMMON_VERSION
}}"
dest
:
"
{{
HADOOP_COMMON_HOME
}}"
owner
:
"
{{
hadoop_common_user
}}"
group
:
"
{{
hadoop_common_group
}}"
state
:
link
-
name
:
Configuration installed
template
:
src
:
"
{{
item
}}.j2"
dest
:
"
{{
HADOOP_COMMON_CONF_DIR
}}/{{
item
}}"
mode
:
"
0640"
owner
:
"
{{
hadoop_common_user
}}"
group
:
"
{{
hadoop_common_group
}}"
with_items
:
-
hadoop-env.sh
-
mapred-site.xml
...
...
@@ -92,104 +110,114 @@
-
hdfs-site.xml
-
yarn-site.xml
-
name
:
upstart scripts installed
template
:
>
src={{ item }}.j2
dest=/etc/init/{{ item }}
mode=0640 owner=root group=root
-
name
:
Upstart scripts installed
template
:
src
:
"
{{
item
}}.j2"
dest
:
"
/etc/init/{{
item
}}"
mode
:
"
0640"
owner
:
root
group
:
root
with_items
:
-
hdfs.conf
-
yarn.conf
-
name
:
hadoop env file exists
file
:
>
path={{ hadoop_common_env }} state=touch
owner={{ hadoop_common_user }} group={{ hadoop_common_group }}
-
name
:
env vars sourced in bashrc
lineinfile
:
>
dest={{ HADOOP_COMMON_USER_HOME }}/.bashrc
state=present
regexp="^. {{ hadoop_common_env }}"
line=". {{ hadoop_common_env }}"
insertbefore=BOF
-
name
:
env vars sourced in hadoop env
lineinfile
:
>
dest={{ hadoop_common_env }} state=present
regexp="^. {{ HADOOP_COMMON_CONF_DIR }}/hadoop-env.sh" line=". {{ HADOOP_COMMON_CONF_DIR }}/hadoop-env.sh"
-
name
:
check if native libraries need to be built
stat
:
path={{ HADOOP_COMMON_USER_HOME }}/.native_libs_built
-
name
:
Hadoop env file exists
file
:
path
:
"
{{
hadoop_common_env
}}"
state
:
touch
owner
:
"
{{
hadoop_common_user
}}"
group
:
"
{{
hadoop_common_group
}}"
-
name
:
Env vars sourced in bashrc
lineinfile
:
dest
:
"
{{
HADOOP_COMMON_USER_HOME
}}/.bashrc"
state
:
present
regexp
:
"
^.
{{
hadoop_common_env
}}"
line
:
"
.
{{
hadoop_common_env
}}"
insertbefore
:
"
BOF"
-
name
:
Env vars sourced in hadoop env
lineinfile
:
dest
:
"
{{
hadoop_common_env
}}"
state
:
present
regexp
:
"
^.
{{
HADOOP_COMMON_CONF_DIR
}}/hadoop-env.sh"
line
:
"
.
{{
HADOOP_COMMON_CONF_DIR
}}/hadoop-env.sh"
-
name
:
Check if native libraries need to be built
stat
:
path
:
"
{{
HADOOP_COMMON_USER_HOME
}}/.native_libs_built"
register
:
native_libs_built
-
name
:
p
rotobuf downloaded
get_url
:
>
url
={{ hadoop_common_protobuf_dist.url }}
sha256sum
={{ hadoop_common_protobuf_dist.sha256sum }}
dest
={{ hadoop_common_temporary_dir }}
-
name
:
P
rotobuf downloaded
get_url
:
url
:
"
{{
hadoop_common_protobuf_dist.url
}}"
sha256sum
:
"
{{
hadoop_common_protobuf_dist.sha256sum
}}"
dest
:
"
{{
hadoop_common_temporary_dir
}}"
when
:
not native_libs_built.stat.exists
-
name
:
p
rotobuf extracted
shell
:
>
chdir={{ hadoop_common_temporary_dir }}
tar -xzf {{ hadoop_common_protobuf_dist.filename }}
-
name
:
P
rotobuf extracted
shell
:
"
tar
-xzf
{{
hadoop_common_protobuf_dist.filename
}}"
args
:
chdir
:
"
{{
hadoop_common_temporary_dir
}}"
when
:
not native_libs_built.stat.exists
-
name
:
p
rotobuf installed
shell
:
>
chdir={{ hadoop_common_temporary_dir }}/protobuf-{{ HADOOP_COMMON_PROTOBUF_VERSION }}
./configure --prefix=/usr/local && make && make install
-
name
:
P
rotobuf installed
shell
:
"
./configure
--prefix=/usr/local
&&
make
&&
make
install"
args
:
chdir
:
"
{{
hadoop_common_temporary_dir
}}/protobuf-{{
HADOOP_COMMON_PROTOBUF_VERSION
}}"
when
:
not native_libs_built.stat.exists
-
name
:
n
ative lib source downloaded
get_url
:
>
url
={{ hadoop_common_native_dist.url }}
sha256sum
={{ hadoop_common_native_dist.sha256sum }}
dest
={{ hadoop_common_temporary_dir }}/{{ hadoop_common_native_dist.filename }}
-
name
:
N
ative lib source downloaded
get_url
:
url
:
"
{{
hadoop_common_native_dist.url
}}"
sha256sum
:
"
{{
hadoop_common_native_dist.sha256sum
}}"
dest
:
"
{{
hadoop_common_temporary_dir
}}/{{
hadoop_common_native_dist.filename
}}"
when
:
not native_libs_built.stat.exists
-
name
:
native lib source extracted
shell
:
>
chdir={{ hadoop_common_temporary_dir }}
tar -xzf {{ hadoop_common_native_dist.filename }}
shell
:
"
tar
-xzf
{{
hadoop_common_native_dist.filename
}}"
args
:
chdir
:
"
{{
hadoop_common_temporary_dir
}}"
when
:
not native_libs_built.stat.exists
-
name
:
n
ative lib built
shell
:
>
chdir={{ hadoop_common_temporary_dir }}/hadoop-common-release-{{ HADOOP_COMMON_VERSION }}/hadoop-common-project
mvn package -X -Pnative -DskipTests
-
name
:
N
ative lib built
shell
:
"
mvn
package
-X
-Pnative
-DskipTests"
args
:
chdir
:
"
{{
hadoop_common_temporary_dir
}}/hadoop-common-release-{{
HADOOP_COMMON_VERSION
}}/hadoop-common-project"
environment
:
LD_LIBRARY_PATH
:
/usr/local/lib
when
:
not native_libs_built.stat.exists
-
name
:
old native libs renamed
shell
:
>
mv {{ HADOOP_COMMON_HOME }}/lib/native/{{ item.name }} {{ HADOOP_COMMON_HOME }}/lib/native/{{ item.new_name }}
-
name
:
Old native libs renamed
shell
:
"
mv
{{
HADOOP_COMMON_HOME
}}/lib/native/{{
item.name
}}
{{
HADOOP_COMMON_HOME
}}/lib/native/{{
item.new_name
}}"
with_items
:
-
{
name
:
libhadoop.a
,
new_name
:
libhadoop32.a
}
-
{
name
:
libhadoop.so
,
new_name
:
libhadoop32.so
}
-
{
name
:
libhadoop.so.1.0.0
,
new_name
:
libhadoop32.so.1.0.0
}
-
{
name
:
'
libhadoop.a'
,
new_name
:
'
libhadoop32.a'
}
-
{
name
:
'
libhadoop.so'
,
new_name
:
'
libhadoop32.so'
}
-
{
name
:
'
libhadoop.so.1.0.0'
,
new_name
:
'
libhadoop32.so.1.0.0'
}
when
:
not native_libs_built.stat.exists
-
name
:
new native libs installed
shell
:
>
chdir={{ hadoop_common_temporary_dir }}/hadoop-common-release-{{ HADOOP_COMMON_VERSION }}/hadoop-common-project/hadoop-common/target/native/target/usr/local/lib
ch
own {{ hadoop_common_user }}:{{ hadoop_common_group }} {{ item }} && cp {{ item }} {{ HADOOP_COMMON_HOME }}/lib/native/{{ item }}
shell
:
"
chown
{{
hadoop_common_user
}}:{{
hadoop_common_group
}}
{{
item
}}
&&
cp
{{
item
}}
{{
HADOOP_COMMON_HOME
}}/lib/native/{{
item
}}"
args
:
ch
dir
:
"
{{
hadoop_common_temporary_dir
}}/hadoop-common-release-{{
HADOOP_COMMON_VERSION
}}/hadoop-common-project/hadoop-common/target/native/target/usr/local/lib"
with_items
:
-
libhadoop.a
-
libhadoop.so
-
libhadoop.so.1.0.0
-
'
libhadoop.a'
-
'
libhadoop.so'
-
'
libhadoop.so.1.0.0'
when
:
not native_libs_built.stat.exists
-
name
:
native lib marker touched
file
:
>
path={{ HADOOP_COMMON_USER_HOME }}/.native_libs_built
owner={{ hadoop_common_user }} group={{ hadoop_common_group }} state=touch
-
name
:
Native lib marker touched
file
:
path
:
"
{{
HADOOP_COMMON_USER_HOME
}}/.native_libs_built"
owner
:
"
{{
hadoop_common_user
}}"
group
:
"
{{
hadoop_common_group
}}"
state
:
touch
when
:
not native_libs_built.stat.exists
-
name
:
service directory exists
file
:
>
path={{ HADOOP_COMMON_SERVICES_DIR }}
mode=0750 owner={{ hadoop_common_user }} group={{ hadoop_common_group }}
state=directory
-
name
:
Service directory exists
file
:
path
:
"
{{
HADOOP_COMMON_SERVICES_DIR
}}"
mode
:
"
0750"
owner
:
"
{{
hadoop_common_user
}}"
group
:
"
{{
hadoop_common_group
}}"
state
:
directory
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment