Hadoop部署经验
2012-04-20
超简易心得,以免自己忘记
1. 安装JVM
2. 打开ssh
ps -ef | grep sshd 查看是否启用ssh
3. 解压hadoop
4.配置以下文件:
hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml,
1)masters记录运行第二名称节点的机器名(在namenode进行)
2)slaves列出数据节点或tasktracker的机器(在namenode进行)
3)hadoop-env.sh java_home和hadoop_opt
4)core-site.xml 主要指定hadoop.tmp.dir和fs.default.name (默认配置为{hadoopInstaller}/src/core/core-default.xml)
5)hdfs-site.xml 主要指定dfs.replication (默认配置为{hadoopInstaller}/src/hdfs/hdfs-default.xml)
6)mapred-site.xml 主要指定mapred.job.tracker (默认配置为{hadoopInstaller}/src/mapred/mapred-default.xml)
需要执行
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa (生成密钥)
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys(本地无需密码)
将authorized_keys的内容复制到各个节点上,或者将id_dsa.pub 的内容追加到各节点的authorized_keys中
5. 测试各个节点间ssh是否通
6. 复制整个hadoop到各个节点中。因为配置是一样的
7. 在name node的bin目录下执行格式化命令:
hadoop namenode -format
8. 完成所有配置
以后在name node上用start-all.sh和stop-all.sh来开启和关闭
默认name node的50030端口开放给jobtracker信息的web显示,50070给hdfs的信息web展示
【注意】
关于ssh有一点要说明。如果一台服务器已经允许其他机器以公共密钥形式ssh至本地的root权限,那么无论怎样都没办法无需密码进入非root的账户了。把密钥放到/root/.ssh/authorized_keys里,类似用法:ssh