#!/bin/bash
#@author:feiyuanxing 【既然笨到家,就要努力到家】
#@date:2017-01-05
#@E-Mail:feiyuanxing@gmail.com
#@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直接问的更多相关文章

  1. centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/index.php <<EOF重定向 shell的变量和函数命名不能有横杠 平台可以用arch命令,获取是i686还是x86_64 curl 下载 第三十九节课

    centos shell编程5  LANMP一键安装脚本 lamp  sed  lnmp  变量和字符串比较不能用-eq  cat > /usr/local/apache2/htdocs/ind ...

  2. L2TP/IPSec一键安装脚本

    本脚本适用环境:系统支持:CentOS6+,Debian7+,Ubuntu12+内存要求:≥128M更新日期:2017 年 05 月 28 日 关于本脚本:名词解释如下L2TP(Layer 2 Tun ...

  3. CentOS 6、7下pptp vpn一键安装脚本

    之前有折腾过<CentOS 6.7下IPSEC/L2TP VPN一键安装脚本>,不稳定.不支持IOS,因此换成pptp,并已经添加到<lnmp一键安装包>.这个脚本可以单独使用 ...

  4. LAMP最新源码一键安装脚本

    Linux+Apache+MySQL+PHP (脚本可以选择是否安装+Pureftpd+User manager for PureFTPd+phpMyAdmin+memcache),添加虚拟主机请执行 ...

  5. LNMP、LAMP、LANMP一键安装脚本(定期更新)[转]

    这个脚本是使用shell编写,为了快速在生产环境上部署LNMP/LAMP/LANMP(Linux.Nginx/Tengine.MySQL/MariaDB/Percona.PHP),适用于CentOS/ ...

  6. SSR服务端一键安装脚本

    支持新协议混淆,SSR服务端一键安装脚本   Shadowsocks-R 是项目 shadowsocks 的增强版,用于方便地产生各种协议接口.实现为在原来的协议外套一层编码和解码接口,不但可以伪装成 ...

  7. jdk1.8一键安装脚本(linux环境)

    1.下载jdk安装包和安装脚本 下载地址:https://pan.baidu.com/s/1bo6ADQ3 其中包括: jdk安装包:jdk-8u151-linux-x64.tar.gz jdk一键安 ...

  8. Centos7搭建pptp一键安装脚本

    废话不多说,先上脚本地址:Centos7一键pptp 使用: wget http://files.cnblogs.com/files/wangbin/CentOS7-pptp-host1plus.sh ...

  9. *** Python版一键安装脚本

    本脚本适用环境:系统支持:CentOS 6,7,Debian,Ubuntu内存要求:≥128M日期:2018 年 02 月 07 日 关于本脚本:一键安装 Python 版 *** 的最新版.友情提示 ...

随机推荐

  1. linux系统日常管理复习题讲解

    1. 如何看当前Linux系统有几颗物理CPU和每颗CPU的核数? 2. 查看系统负载有两个常用的命令,是哪两个?这三个数值表示什么含义呢? 3. vmstat r, b, si, so, bi, b ...

  2. jquery图片延迟加载 及 serializeArray、serialize用法记录

    1.使用jquery实现 图片延迟加载 由于用户访问页面需要加载很多的图片,延迟加载技术在电子商务网站领域越来越普及,淘宝商城,京东商城,凡客等访问量巨大的电子商务站点为了增加用户用户体验,访问速度以 ...

  3. js必须掌握的基础

    好多人想要学习前端……自学或者培训那么我们在学习过程中到底需要掌握那些基础知识呢!下面分类了JS中必备的知识也是必须要了解学会的!看一看你是否已经将JS的基础知识都了如指掌了呢? 事件: onmous ...

  4. 完美解决浮动IE6 7中的兼容性BUG问题

    想要创建出漂亮的网页设计,除了要认真学习每一个html和CSS代码之外,不可能不去了解一下臭名昭著的IE6和更早的那些IE浏览器的坏脾气,因为你本来写出的规规矩矩的代码,漂亮的设计就此就要完成了,却发 ...

  5. c#中不同类中变量的引用方法

    (1)如果两个类没有继承关系,存取另一个类中变量的方法如下: public class A { // 注意: // Count是静态变量(static),称为类变量.类变量无需实例化即可使用 publ ...

  6. postfix : 452 4.3.1 Insufficient system storage

    postfix Error Message: 452 4.3.1 Insufficient system storage --> 空间不足. 但是实际情况是我的各个分区都没有满,只是我的20G ...

  7. 抽象方法为什么不能被private与static修饰

    private private访问修饰符修饰的方法只能在本类当中使用.所以,必然不能用private去修饰抽象方法.抽象方法一定是要被子类去重写的. static Java中用static修饰符修饰的 ...

  8. C# log4net 的配置

    项目的日志组件是必备可少的,任何项目中都需要.这样既方便前期的开发测试也方便项目后期的项目维护.C#项目的一个不错的日志组件是log4net,下面我就把桌面应用程序.控制台程序.网站中log4net的 ...

  9. Mac操作系统下忘记MYSQL的密码

    1. 在系统偏好 中,中止MySQL服务.: 2. cd/usr/local/mysql/bin   sudo ./mysqld_safe --skip-grant-tables 3. 登录MySQL ...

  10. Mysql:执行source sql脚本时,出现:error 2

    Centos下部署mysql: 1.yum -y install mysql*; 2.service mysqld start; 3.chkconfig mysqld on; 4.设置用户名和密码:m ...