1. 程式人生 > >【centos6.5 hadoop2.7 _64位一鍵安裝腳本】有問題加我Q直接問

【centos6.5 hadoop2.7 _64位一鍵安裝腳本】有問題加我Q直接問

生效 tracker 路徑 開始 cat func iyu 安裝腳本 load

#!/bin/bash
#@author:feiyuanxing 【既然笨到家,就要努力到家】
#@date:2017-01-05
#@E-Mail:[email protected]
#@TARGET:一鍵安裝hadoop 2.7.1 centos 64位
#@CopyRight:本腳本遵守 未來星開源協議(http://feiyuanxing.com/kaiyuanxieyi/kaiyuanxieyi.html)

#講解:
#1.請使用root用戶執行,軟件默認安裝在work用戶,通常會在linux的/home 掛載一個大型磁盤
#2.軟件安裝在/home/work/local/hadoop/hadoop 有人問為什麽這麽深

# 2.1 work目錄下local包含所有軟件 hadoop安裝大數據生態圈其他軟件
# 2.2 hadoop的數據安裝在 /home/work/data ,此目錄由於數量較大,可以單獨掛載一個磁盤

INSTALL_HOME=/home/work/local/hadoop
ROOT_HOME=/home/work/local/hadoop/hadoop

#hadoop 數據路徑
hadoop_logs=/home/work/data/hadoop/logs
hadoop_tmp=/home/work/data/hadoop/tmp

mkdir -p ${INSTALL_HOME} && cd ${INSTALL_HOME}

mkdir -p ${hadoop_logs} && mkdir -p ${hadoop_tmp} && chown -R work:work /home/work/data/hadoop

function add_work_user(){
adduer work -d /home/work
passwd work

}

function install_jdk(){
# 有jdk
echo $JAVA_HOME

}


#下載hadoop
function download_hodoop(){
wget http://public.feiyuanxing.com/hadoop/hadoop-2.7.1_x64.tar.gz

}

function configuration_ssh(){
#設置本機免密碼登錄
(echo -e "\n"
sleep 1
echo -e "\n"
sleep 1
echo -e "\n")|ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

}

function configure_hadoop(){
#最終生成的文件名為install_hadoop.bin而我們的all.tar.gz被>>到該文件後面
#tail -c $size install_hadoop.bin >all.tar.gz
rm -rf hadoop
tar -zxf hadoop-2.7.1_x64.tar.gz
pwd
mv hadoop-2.7.1 hadoop && cd hadoop

echo "正在安裝.請稍等..."

#設置環境變量
hadoop_home_test=`echo "${HADOOP_HOME}"`

if [ -z ${hadoop_home_test} ] ;then
echo export HADOOP_HOME=${ROOT_HOME}/hadoop >> /etc/profile
echo export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin >> /etc/profile
#使得環境變量生效
source /etc/profile
echo "hadoop 環境變量已存在..."
fi

#通過強大的sed命令來修改hadoop的配置文件
jdk_home=`echo $JAVA_HOME`
if [ -z ${jdk_home} ] ;then
#安裝JDK
echo "安裝JDK"
fi

sed -i "s!\${JAVA_HOME}!$(echo ${jdk_home})!g" ${ROOT_HOME}/etc/hadoop/hadoop-env.sh
sed -i "/<configuration>/a\<property\>\n\<name\>fs.default.name\<\/name\>\n\<value\>hdfs://localhost:9000\<\/value\>\n\<\/property\>\n\<property\>\n\<name\>hadoop.tmp.dir\<\/name\>\n\<value\>$(echo ${hadoop_tmp})\<\/value\>\n\</property\>" ${ROOT_HOME}/etc/hadoop/core-site.xml
cp ${ROOT_HOME}/etc/hadoop/mapred-site.xml.template ${ROOT_HOME}/etc/hadoop/mapred-site.xml
sed -i ‘/<configuration>/a\<property\>\n\<name\>mapred.job.tracker\</name\>\n\<value\>localhost:9001\</value\>\n\</property\>‘ ${ROOT_HOME}/etc/hadoop/mapred-site.xml
sed -i ‘/<configuration>/a\\<property\>\n\<name\>dfs.replication\</name\>\n\<value\>1\</value\>\n\</property\>‘ ${ROOT_HOME}/etc/hadoop/hdfs-site.xml

chown -R work:work ${INSTALL_HOME}
echo "hadoop安裝完成,開始格式化。。。"

}

function start_hadoop(){
#格式化hadoop
hadoop namenode -format
echo "格式化完成..開始運行"
#啟動
start-all.sh

}
#add_work_user
download_hodoop;
#configuration_ssh
configure_hadoop;

exit

QQ9715234

【centos6.5 hadoop2.7 _64位一鍵安裝腳本】有問題加我Q直接問