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 @@
...
@@ -11,4 +11,5 @@
# Role includes for role hadoop_common
# Role includes for role hadoop_common
dependencies
:
dependencies
:
-
common_vars
-
oraclejdk
-
oraclejdk
\ No newline at end of file
playbooks/roles/hadoop_common/tasks/main.yml
View file @
d3ff2e07
...
@@ -22,69 +22,87 @@
...
@@ -22,69 +22,87 @@
# oraclejdk: Not strictly required, but we tend to trust it more than openjdk.
# oraclejdk: Not strictly required, but we tend to trust it more than openjdk.
#
#
-
name
:
install system packages
-
name
:
Install system packages
apt
:
>
apt
:
pkg={{ item }}
name
:
"
{{
item
}}"
state=present
state
:
present
with_items
:
hadoop_common_debian_pkgs
update_cache
:
yes
with_items
:
"
{{
hadoop_common_debian_pkgs
}}"
-
name
:
ensure group exists
group
:
name={{ hadoop_common_group }} system=yes state=present
-
name
:
Ensure group exists
group
:
-
name
:
ensure user exists
name
:
"
{{
hadoop_common_group
}}"
user
:
>
system
:
yes
name={{ hadoop_common_user }}
state
:
present
group={{ hadoop_common_group }}
home={{ HADOOP_COMMON_USER_HOME }} createhome=yes
-
name
:
Ensure user exists
shell=/bin/bash system=yes generate_ssh_key=yes
user
:
state=present
name
:
"
{{
hadoop_common_user
}}"
group
:
"
{{
hadoop_common_group
}}"
-
name
:
own key authorized
home
:
"
{{
HADOOP_COMMON_USER_HOME
}}"
file
:
>
createhome
:
yes
src={{ HADOOP_COMMON_USER_HOME }}/.ssh/id_rsa.pub
shell
:
/bin/bash
dest={{ HADOOP_COMMON_USER_HOME }}/.ssh/authorized_keys
system
:
yes
owner={{ hadoop_common_user }} group={{ hadoop_common_group }} state=link
generate_ssh_key
:
yes
state
:
present
-
name
:
ssh configured
template
:
>
-
name
:
Own key authorized
src=hadoop_user_ssh_config.j2
file
:
dest={{ HADOOP_COMMON_USER_HOME }}/.ssh/config
src
:
"
{{
HADOOP_COMMON_USER_HOME
}}/.ssh/id_rsa.pub"
mode=0600 owner={{ hadoop_common_user }} group={{ hadoop_common_group }}
dest
:
"
{{
HADOOP_COMMON_USER_HOME
}}/.ssh/authorized_keys"
owner
:
"
{{
hadoop_common_user
}}"
-
name
:
ensure user is in sudoers
group
:
"
{{
hadoop_common_group
}}"
lineinfile
:
>
state
:
link
dest=/etc/sudoers state=present
regexp='^%hadoop ALL\=' line='%hadoop ALL=(ALL) NOPASSWD:ALL'
-
name
:
SSH configured
validate='visudo -cf %s'
template
:
src
:
"
hadoop_user_ssh_config.j2"
-
name
:
check if downloaded and extracted
dest
:
"
{{
HADOOP_COMMON_USER_HOME
}}/.ssh/config"
stat
:
path={{ HADOOP_COMMON_HOME }}
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
register
:
extracted_hadoop_dir
-
name
:
d
istribution downloaded
-
name
:
D
istribution downloaded
get_url
:
>
get_url
:
url
={{ hadoop_common_dist.url }}
url
:
"
{{
hadoop_common_dist.url
}}"
sha256sum
={{ hadoop_common_dist.sha256sum }}
sha256sum
:
"
{{
hadoop_common_dist.sha256sum
}}"
dest
={{ hadoop_common_temporary_dir }}
dest
:
"
{{
hadoop_common_temporary_dir
}}"
when
:
not extracted_hadoop_dir.stat.exists
when
:
not extracted_hadoop_dir.stat.exists
-
name
:
distribution extracted
-
name
:
distribution extracted
shell
:
>
shell
:
"
tar
-xzf
{{
hadoop_common_temporary_dir
}}/{{
hadoop_common_dist.filename
}}
&&
chown
-R
{{
hadoop_common_user
}}:{{
hadoop_common_group
}}
hadoop-{{
HADOOP_COMMON_VERSION
}}"
chdir={{ HADOOP_COMMON_USER_HOME }}
args
:
tar -xzf {{ hadoop_common_temporary_dir }}/{{ hadoop_common_dist.filename }} && chown -R {{ hadoop_common_user }}:{{ hadoop_common_group }} hadoop-{{ HADOOP_COMMON_VERSION }}
chdir
:
"
{{
HADOOP_COMMON_USER_HOME
}}"
when
:
not extracted_hadoop_dir.stat.exists
when
:
not extracted_hadoop_dir.stat.exists
-
name
:
versioned directory symlink created
-
name
:
Versioned directory symlink created
file
:
>
file
:
src={{ HADOOP_COMMON_USER_HOME }}/hadoop-{{ HADOOP_COMMON_VERSION }}
src
:
"
{{
HADOOP_COMMON_USER_HOME
}}/hadoop-{{
HADOOP_COMMON_VERSION
}}"
dest={{ HADOOP_COMMON_HOME }}
dest
:
"
{{
HADOOP_COMMON_HOME
}}"
owner={{ hadoop_common_user }} group={{ hadoop_common_group }} state=link
owner
:
"
{{
hadoop_common_user
}}"
group
:
"
{{
hadoop_common_group
}}"
-
name
:
configuration installed
state
:
link
template
:
>
src={{ item }}.j2
-
name
:
Configuration installed
dest={{ HADOOP_COMMON_CONF_DIR }}/{{ item }}
template
:
mode=0640 owner={{ hadoop_common_user }} group={{ hadoop_common_group }}
src
:
"
{{
item
}}.j2"
dest
:
"
{{
HADOOP_COMMON_CONF_DIR
}}/{{
item
}}"
mode
:
"
0640"
owner
:
"
{{
hadoop_common_user
}}"
group
:
"
{{
hadoop_common_group
}}"
with_items
:
with_items
:
-
hadoop-env.sh
-
hadoop-env.sh
-
mapred-site.xml
-
mapred-site.xml
...
@@ -92,104 +110,114 @@
...
@@ -92,104 +110,114 @@
-
hdfs-site.xml
-
hdfs-site.xml
-
yarn-site.xml
-
yarn-site.xml
-
name
:
upstart scripts installed
-
name
:
Upstart scripts installed
template
:
>
template
:
src={{ item }}.j2
src
:
"
{{
item
}}.j2"
dest=/etc/init/{{ item }}
dest
:
"
/etc/init/{{
item
}}"
mode=0640 owner=root group=root
mode
:
"
0640"
owner
:
root
group
:
root
with_items
:
with_items
:
-
hdfs.conf
-
hdfs.conf
-
yarn.conf
-
yarn.conf
-
name
:
hadoop env file exists
-
name
:
Hadoop env file exists
file
:
>
file
:
path={{ hadoop_common_env }} state=touch
path
:
"
{{
hadoop_common_env
}}"
owner={{ hadoop_common_user }} group={{ hadoop_common_group }}
state
:
touch
owner
:
"
{{
hadoop_common_user
}}"
-
name
:
env vars sourced in bashrc
group
:
"
{{
hadoop_common_group
}}"
lineinfile
:
>
dest={{ HADOOP_COMMON_USER_HOME }}/.bashrc
-
name
:
Env vars sourced in bashrc
state=present
lineinfile
:
regexp="^. {{ hadoop_common_env }}"
dest
:
"
{{
HADOOP_COMMON_USER_HOME
}}/.bashrc"
line=". {{ hadoop_common_env }}"
state
:
present
insertbefore=BOF
regexp
:
"
^.
{{
hadoop_common_env
}}"
line
:
"
.
{{
hadoop_common_env
}}"
-
name
:
env vars sourced in hadoop env
insertbefore
:
"
BOF"
lineinfile
:
>
dest={{ hadoop_common_env }} state=present
-
name
:
Env vars sourced in hadoop env
regexp="^. {{ HADOOP_COMMON_CONF_DIR }}/hadoop-env.sh" line=". {{ HADOOP_COMMON_CONF_DIR }}/hadoop-env.sh"
lineinfile
:
dest
:
"
{{
hadoop_common_env
}}"
-
name
:
check if native libraries need to be built
state
:
present
stat
:
path={{ HADOOP_COMMON_USER_HOME }}/.native_libs_built
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
register
:
native_libs_built
-
name
:
p
rotobuf downloaded
-
name
:
P
rotobuf downloaded
get_url
:
>
get_url
:
url
={{ hadoop_common_protobuf_dist.url }}
url
:
"
{{
hadoop_common_protobuf_dist.url
}}"
sha256sum
={{ hadoop_common_protobuf_dist.sha256sum }}
sha256sum
:
"
{{
hadoop_common_protobuf_dist.sha256sum
}}"
dest
={{ hadoop_common_temporary_dir }}
dest
:
"
{{
hadoop_common_temporary_dir
}}"
when
:
not native_libs_built.stat.exists
when
:
not native_libs_built.stat.exists
-
name
:
p
rotobuf extracted
-
name
:
P
rotobuf extracted
shell
:
>
shell
:
"
tar
-xzf
{{
hadoop_common_protobuf_dist.filename
}}"
chdir={{ hadoop_common_temporary_dir }}
args
:
tar -xzf {{ hadoop_common_protobuf_dist.filename }}
chdir
:
"
{{
hadoop_common_temporary_dir
}}"
when
:
not native_libs_built.stat.exists
when
:
not native_libs_built.stat.exists
-
name
:
p
rotobuf installed
-
name
:
P
rotobuf installed
shell
:
>
shell
:
"
./configure
--prefix=/usr/local
&&
make
&&
make
install"
chdir={{ hadoop_common_temporary_dir }}/protobuf-{{ HADOOP_COMMON_PROTOBUF_VERSION }}
args
:
./configure --prefix=/usr/local && make && make install
chdir
:
"
{{
hadoop_common_temporary_dir
}}/protobuf-{{
HADOOP_COMMON_PROTOBUF_VERSION
}}"
when
:
not native_libs_built.stat.exists
when
:
not native_libs_built.stat.exists
-
name
:
n
ative lib source downloaded
-
name
:
N
ative lib source downloaded
get_url
:
>
get_url
:
url
={{ hadoop_common_native_dist.url }}
url
:
"
{{
hadoop_common_native_dist.url
}}"
sha256sum
={{ hadoop_common_native_dist.sha256sum }}
sha256sum
:
"
{{
hadoop_common_native_dist.sha256sum
}}"
dest
={{ hadoop_common_temporary_dir }}/{{ hadoop_common_native_dist.filename }}
dest
:
"
{{
hadoop_common_temporary_dir
}}/{{
hadoop_common_native_dist.filename
}}"
when
:
not native_libs_built.stat.exists
when
:
not native_libs_built.stat.exists
-
name
:
native lib source extracted
-
name
:
native lib source extracted
shell
:
>
shell
:
"
tar
-xzf
{{
hadoop_common_native_dist.filename
}}"
chdir={{ hadoop_common_temporary_dir }}
args
:
tar -xzf {{ hadoop_common_native_dist.filename }}
chdir
:
"
{{
hadoop_common_temporary_dir
}}"
when
:
not native_libs_built.stat.exists
when
:
not native_libs_built.stat.exists
-
name
:
n
ative lib built
-
name
:
N
ative lib built
shell
:
>
shell
:
"
mvn
package
-X
-Pnative
-DskipTests"
chdir={{ hadoop_common_temporary_dir }}/hadoop-common-release-{{ HADOOP_COMMON_VERSION }}/hadoop-common-project
args
:
mvn package -X -Pnative -DskipTests
chdir
:
"
{{
hadoop_common_temporary_dir
}}/hadoop-common-release-{{
HADOOP_COMMON_VERSION
}}/hadoop-common-project"
environment
:
environment
:
LD_LIBRARY_PATH
:
/usr/local/lib
LD_LIBRARY_PATH
:
/usr/local/lib
when
:
not native_libs_built.stat.exists
when
:
not native_libs_built.stat.exists
-
name
:
old native libs renamed
-
name
:
Old native libs renamed
shell
:
>
shell
:
"
mv
{{
HADOOP_COMMON_HOME
}}/lib/native/{{
item.name
}}
{{
HADOOP_COMMON_HOME
}}/lib/native/{{
item.new_name
}}"
mv {{ HADOOP_COMMON_HOME }}/lib/native/{{ item.name }} {{ HADOOP_COMMON_HOME }}/lib/native/{{ item.new_name }}
with_items
:
with_items
:
-
{
name
:
libhadoop.a
,
new_name
:
libhadoop32.a
}
-
{
name
:
'
libhadoop.a'
,
new_name
:
'
libhadoop32.a'
}
-
{
name
:
libhadoop.so
,
new_name
:
libhadoop32.so
}
-
{
name
:
'
libhadoop.so'
,
new_name
:
'
libhadoop32.so'
}
-
{
name
:
libhadoop.so.1.0.0
,
new_name
:
libhadoop32.so.1.0.0
}
-
{
name
:
'
libhadoop.so.1.0.0'
,
new_name
:
'
libhadoop32.so.1.0.0'
}
when
:
not native_libs_built.stat.exists
when
:
not native_libs_built.stat.exists
-
name
:
new native libs installed
-
name
:
new native libs installed
shell
:
>
shell
:
"
chown
{{
hadoop_common_user
}}:{{
hadoop_common_group
}}
{{
item
}}
&&
cp
{{
item
}}
{{
HADOOP_COMMON_HOME
}}/lib/native/{{
item
}}"
chdir={{ hadoop_common_temporary_dir }}/hadoop-common-release-{{ HADOOP_COMMON_VERSION }}/hadoop-common-project/hadoop-common/target/native/target/usr/local/lib
args
:
ch
own {{ hadoop_common_user }}:{{ hadoop_common_group }} {{ item }} && cp {{ item }} {{ HADOOP_COMMON_HOME }}/lib/native/{{ item }}
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
:
with_items
:
-
libhadoop.a
-
'
libhadoop.a'
-
libhadoop.so
-
'
libhadoop.so'
-
libhadoop.so.1.0.0
-
'
libhadoop.so.1.0.0'
when
:
not native_libs_built.stat.exists
when
:
not native_libs_built.stat.exists
-
name
:
native lib marker touched
-
name
:
Native lib marker touched
file
:
>
file
:
path={{ HADOOP_COMMON_USER_HOME }}/.native_libs_built
path
:
"
{{
HADOOP_COMMON_USER_HOME
}}/.native_libs_built"
owner={{ hadoop_common_user }} group={{ hadoop_common_group }} state=touch
owner
:
"
{{
hadoop_common_user
}}"
group
:
"
{{
hadoop_common_group
}}"
state
:
touch
when
:
not native_libs_built.stat.exists
when
:
not native_libs_built.stat.exists
-
name
:
service directory exists
-
name
:
Service directory exists
file
:
>
file
:
path={{ HADOOP_COMMON_SERVICES_DIR }}
path
:
"
{{
HADOOP_COMMON_SERVICES_DIR
}}"
mode=0750 owner={{ hadoop_common_user }} group={{ hadoop_common_group }}
mode
:
"
0750"
state=directory
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