单机部署脚本仅作为测试实验使用,如果需要部署集群,则不必使用此方法,仅供学习参考:
#!/bin/bash source ~/.bash_profile java -version #stop iptables or open ports, now stop iptables echo 'stop iptables ...'; #red hat #service iptables stop #chkconfig iptables off #centos systemctl stop firewalld ; systemctl disable firewalld ; #FF_INFO=`service iptables status`; FF_INFO=`systemctl status firewalld`; if [ -n "`echo $FF_INFO | grep "Firewall is not running"`" ]; then echo "Firewall is already stop." else echo "[ERROR]:Failed to shut down the firewall.Exit shell." fi echo 'setting ssh no pass login'; (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 echo 'setting login end'; echo 'install hadoop start'; echo 'tar hadoop-2.7.4.tar.gz ......'; tar -zxvf hadoop-2.7.4.tar.gz ; cd hadoop-2.7.4 ; hadoophome=$(cd `dirname $0`; pwd); echo 'Hadoop HomePath is:'${hadoophome} echo 'setting environment hadoop for system'; #echo export HADOOP_HOME=${hadoophome} >> ~/.bash_profile #echo export HADOOP_PREFIX="${hadoophome}" >> ~/.bash_profile #echo export PATH=$PATH:$HADOOP_PREFIX/bin >> ~/.bash_profile #echo export PATH=$PATH:$HADOOP_PREFIX/sbin >> ~/.bash_profile #echo export HADOOP_COMMON_HOME=\$HADOOP_PREFIX >> ~/.bash_profile #echo export HADOOP_MAPRED_HOME=\$HADOOP_PREFIX >> ~/.bash_profile #echo export HADOOP_HDFS_HOME=\$HADOOP_PREFIX >> ~/.bash_profile #echo export YARN_HOME=\$HADOOP_PREFIX>> ~/.bash_profile #echo export HADOOP_COMMON_LIB_NATIVE_DIR=\$HADOOP_PREFIX/lib/native >> ~/.bash_profile #echo export HADOOP_OPTS="-Djava.library.path=\$HADOOP_PREFIX/lib" >> ~/.bash_profile source ~/.bash_profile ; commonXmlPath=${hadoophome}/etc/hadoop/ ; echo $commonXmlPath; echo 'setting /etc/hadoop xml document !' jdk=${JAVA_HOME} echo 'jdk document is:'${jdk} sed -i "s/\${JAVA_HOME}/\/home\/auto_deploy\/jdk1.8/g" ${commonXmlPath}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\>\/home\/hadoop\/tmp\<\/value\>\n\</property\>' ${commonXmlPath}core-site.xml sed -i '/<configuration>/a\<property\>\n\<name\>mapred.job.tracker\</name\>\n\<value\>localhost:9001\</value\>\</property\>' ${commonXmlPath}mapred-site.xml.template sed -i '/<configuration>/a\n\<property\>\n\<name\>dfs.replication\</name\>\n\<value\>1\</value\>\n\</property\>' ${commonXmlPath}hdfs-site.xml echo "hadoop安装完成,开始格式化。。。" cp ${commonXmlPath}mapred-site.xml.template ${commonXmlPath}mapred-site.xml echo "format begin" ; source ~/.bash_profile ; ${hadoophome}/bin/hadoop namenode -format sleep 10 ; ${hadoophome}/bin/hadoop datanode -format sleep 10; echo "start hadoop "; sh ${hadoophome}/bin/start-all.sh ; sleep 5; jps; echo "hadoop install end" ; echo "format end";
以上亲测可以使用