hadoop自动安装脚本


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


进行交互主要障碍有两点:
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"'
posted @ 2014-06-28 20:17  JamesFan  阅读(321)  评论(0编辑  收藏  举报