#!/bin/bash
# Install deps
sudo apt install -y default-jdk
sudo apt update -y && sudo apt install -y default-jre openssh-client pdsh wget tar
# Define java
JAVA_VER=$(sudo update-alternatives --config java | grep 'java-11' | awk '{print $2}')
echo "java configuration file in $JAVA_VER"
# SSH Generate Key
sudo adduser hdoop
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
# Installing Hadoop
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -xvf hadoop-3.3.6.tar.gz
sudo mv hadoop-3.3.6 /usr/local/hadoop
sudo chown -R hdoop:hdoop /usr/local/hadoop
echo 'export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")' | sudo tee -a /usr/local/hadoop/etc/hadoop/hadoop-env.sh
echo "export HADOOP_HOME=/usr/local/hadoop" >> ~/.bashrc
echo "export PATH=\$PATH:\$HADOOP_HOME/bin:\$HADOOP_HOME/sbin" >> ~/.bashrc
source ~/.bashrc
# Modifying hadopp default configuration
# cd /usr/local/hadoop/etc/hadoop
echo "
fs.defaultFS
hdfs://localhost:9000
" > core-site.xml
echo "
dfs.replication
1
" > hdfs-site.xml
# Format HDFS
/usr/local/hadoop/bin/hdfs namenode -format
# Start HDFS & Yarn Service
/usr/local/hadoop/sbin/start-dfs.sh
/usr/local/hadoop/sbin/start-yarn.sh
# Verify Installation
jps