您的位置:首页 > 运维架构

hadoop自动安装脚本

2014-06-28 20:17 232 查看
还不能实现完全自动安装,只能算半自动的。

进行交互主要障碍有两点:
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"'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: