hadoop自动安装脚本

时间:2023-03-09 05:21:05
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"'