还不能实现完全自动安装,只能算半自动的。





进行交互主要障碍有两点:

1. ssh-keygen的时候需要点击回车。

2. passwd 需要设置密码 

如果谁能解决以上两点,欢迎email给我。





另外:需要JDK和Hadoop压缩包









第一步: 设置Root用户的SSH 无密码访问

              为了之后修改Hosts文件,配置环境变量,拷贝数据方便





ssh root@192.168.1.148     'sh -c "ssh-keygen -t rsa"'

cat  ~/.ssh/id_rsa.pub | ssh root@192.168.1.148 'sh -c "cat - >>~/.ssh/authorized_keys"'

ssh  root@192.168.1.148  'sh -c "chmod -R 700 /root/.ssh"'





# ssh  root@192.168.1.148  'sh -c " ls -l --color=tty ~/.ssh "'







第二步: 添加用户Hadoop,Hadoop的管理帐户,是Hadoop的超级用户



ssh  root@192.168.1.148 'sh -c "useradd -p 123456 hadoop"'

ssh  root@192.168.1.148  'sh -c "passwd hadoop"'   给Hadoop用户修改密码

# ssh  root@192.168.1.148  'sh -c " ls -l --color=tty /home/hadoop"'  



第三步: 修改主机名和hosts 文件



ssh  root@192.168.1.148  'sh -c "hostname hadoop148"'

ssh root@192.168.1.148  'sh
-c " echo -e \"NETWORKING=yes \nNETWORKING_IPV6=no\nHOSTNAME=hadoop148\" >  /etc/sysconfig/network "'

echo -e "192.168.1.148     hadoop148" >> /etc/hosts               修改本地Hosts文件,最后拷贝到每台机器上





第四步:设置hadoop用户的SSH无密码访问



ssh  hadoop@192.168.1.148     'sh -c "ssh-keygen -t rsa"'

cat  ~/.ssh/id_rsa.pub | ssh hadoop@192.168.1.148 'sh -c "cat - >>~/.ssh/authorized_keys"'

ssh  hadoop@192.168.1.148  'sh -c "chmod -R 700 /home/hadoop/.ssh"'

ssh  hadoop@192.168.1.148  'sh -c " ls -l --color=tty ~/.ssh "'





第五步: 安装JDK,Hadoop 压缩包

scp  jdk1.7.0_03.tgz root@192.168.1.159:/usr/local/  #
拷贝

ssh  root@192.168.1.159  'sh
-c " tar  -xvzf  /usr/local/jdk1.7.0_03.tgz -C \"/usr/local\" "'  # 远程解压缩



scp  hadoop-0.20.205.0.tar.gz root@192.168.1.159:/opt

ssh  root@192.168.1.159  'sh
-c " tar  -xvzf  /opt/hadoop-0.20.205.0.tar.gz -C \"/opt\" "'





第六步:设置软连接,创建目录

ssh  root@192.168.1.159  'sh -c "mkdir /opt/data "'

ssh  root@192.168.1.159  'sh -c "mkdir /opt/tmp "'

ssh  root@192.168.1.159  'sh -c "ln -s /opt/hadoop-0.20.205.0 /opt/hadoop"'







第七步:拷贝hosts文件,设置环境变量,启动Hadoop



ssh root@192.168.1.159  'sh -c " echo -e \"export JAVA_HOME=/usr/local/jdk1.7.0_03
\nexport PATH=/opt/hadoop/bin:\\\$JAVA_HOME/bin:\\\$PATH\nexport CLASSPATH=\\\$JAVA_HOME/lib\" >>  /etc/profile "'

scp /etc/hosts root@192.168.1.159:/etc/  #
hosts 文件需要拷贝到没一台已经安装Hadoop的机器中



scp /opt/hadoop/conf/masters  /opt/hadoop/conf/core-site.xml /opt/hadoop/conf/hdfs-site.xml
/opt/hadoop/conf/mapred-site.xml
/opt/hadoop/conf/hadoop-env.sh /opt/hadoop/conf/fair-scheduler.xml  root@192.168.1.159:/opt/hadoop/conf



ssh  root@192.168.1.159  'sh
-c "chown -R hadoop:hadoop /opt"'



ssh  hadoop@192.168.1.159  'sh
-c "/opt/hadoop/bin/hadoop-daemon.sh start datanode"'

ssh  hadoop@192.168.1.159  'sh
-c "/opt/hadoop/bin/hadoop-daemon.sh start tasktracker"'

hadoop自动安装脚本的更多相关文章

  1. mysql 自动备份和nginx自动安装脚本

    一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...

  2. Windows ftp脚本和RSCD agent自动安装脚本

    Windows ftp脚本 和bladelogic RSCD Agent自动安装脚本 比较简单的命令是msiexec /I "C:\RSCD85-SP1-WIN64.msi" /Q ...

  3. python第三方库自动安装脚本

    #python第三方库自动安装脚本,需要在cmd中运行此脚本#BatchInstall.pyimport oslibs = {"numpy","matplotlib&qu ...

  4. LAMP自动安装脚本

    #!/bin/bash # 功能描述:LAMP自动安装脚本 # 初始化 if [ "$(cat /etc/system-release | awk '{print $(NF-1)}' | a ...

  5. python3自动安装脚本,python3.x与python2.x共存

    1.前言: python3过程中,通过搜索一些文章参考安装过程发现比较麻烦,而且还出现一些不可预期的报错.python3环境需要升级openssl,所以为了部署到其他环境更方便,写自动安装脚本方式,且 ...

  6. hadoop自动安装的脚本与步骤

    最近要在10几台机器上安装hadoop.对于这种繁复而重复的工作,一步步的打命令行,对于程序员来说是一件不能忍的事情.所以我就琢磨着怎么写一个脚本来自动安装hadoop. 任务: 在10几台机器上中的 ...

  7. Mysql5.7免编译版自动安装脚本

    一:readme: .此脚本仅仅适合于5.7免面编译安装版本. .安装是需自己选择mysql软件安装包:例如mysql--linux-glibc2.-x86_64.-linux-glibc2.-x86 ...

  8. OpenJDK自动安装脚本 InstallOpenJDK.vbs

    Oracle JDK 要收费了,Open JDK没有安装包,只有Zip,写了个安装脚本 InstallOpenJDK.vbs Rem ********************************* ...

  9. 自动安装脚本-------------基于LVMP搭建Nagios 监控

    Mysql初始化参数(mysql-5.6.31) /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local ...

随机推荐

  1. Data Structure Binary Tree: Populate Inorder Successor for all nodes

    http://www.geeksforgeeks.org/populate-inorder-successor-for-all-nodes/ #include <iostream> #in ...

  2. GAN基础

    Generative Adversarial Networks GAN框架     GAN框架是有两个对象(discriminator,generator)的对抗游戏.generator是一个生成器, ...

  3. rail模型

    rail是一种以用户为中心的性能模型,又google提出,其主要目标是让用户满意,主要分为response animation idle load四个部分 response 输入延迟时间小于100毫秒 ...

  4. 对类型化数组(Typed Array)与ArrayBuffer的理解 转囧囧

    类型化数组(Typed Array)也是HTML5中新引入的API.用一句话解释类型化数组就是:它是JS操作二进制数据的接口. 众所周知,直接操作二进制数据可以使程序更为高效, 尽管JS对常规数组做了 ...

  5. Spring Cloud之Zuul网关集群

    Nginx+Zuul 一主一备 或者 轮训多个 在微服务中,所有服务请求都会统一到Zuul网关上. Nginx 配置: #user nobody; worker_processes 1; #error ...

  6. CodeForces 292D Connected Components (并查集+YY)

    很有意思的一道并查集  题意:给你n个点(<=500个),m条边(<=10000),q(<=20000)个询问.对每个询问的两个值xi yi,表示在从m条边内删除[xi,yi]的边后 ...

  7. CDH- 测试mr

    cdh的mr样例算法的jar包在 [zc.lee@ip---- hadoop-0.20-mapreduce]$ pwd /opt/cloudera/parcels/CDH--.cdh5./lib/ha ...

  8. php一维数组的创建

    php一维数组的创建 (1)通过array函数声明数组 使用array 函数定义数组,该函数返回通过所接受接收的参数建立的数组.array 函数使用的格式如下. $arry_name = array( ...

  9. float,double与long long哪个更大?

    float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38: double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+ ...

  10. Mysql存储过程及调用

     存储过程: 存储过程是SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理.存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量.有条件执行以及其它强大的 ...