Hadoop1.0.3 集群配置
2012-09-12 17:32
239 查看
今天做了一下hadoop集群的相关配置,搞了半天才搞定,中间遇到了大概两个问题。先说基本配置吧:
1、下载jdk、hadoop安装文件,最好下载 *.tar.gz文件,这样直接解压就可以了,配置路径主要是在/etc/profile中配置,配置完成后,使用 source /etc/profile使配置生效;
比如我有三个主机,一个master,两个slaves,那么首先我在三台机上都配置好jdk,(输入命令 java -version 有显示版本就ok了)。
2、配置ssh :一般的ubuntu系统的话是有自带的,可以不用下载,或者使用sudo apt-get ssh命令下载
完成后,进入用户目录,一般是:/home/username,使用 ls -al 查看当前文件夹中是否有.ssh文件夹,若没有,则创建一个,接着
使用命令 ssh-keygen -t rsa ,然后点击两次确认,进入 .ssh目录,使用命令:cp id_rsa.pub authorized_keys;
使用 ls 可以看到: authorized_keys id_rsa id_rsa.pub,复制 authorized_keys 到salves节点: scp authorized_keys salve1@ip_address:/home/username/.ssh/authorized_keys id_ ,然后输入用户名和密码就可以了;
输入ssh localhost 、ssh salve1,ssh salve2 ,看是否可以无密码登录,是则ok。
3、配置hadoop ,可以只在master上面配置(在配置这个之前,最好先在每个节点的/etc/hosts里面做些ip和主机名的映射):
配置文件如下:
core-site.html:
mapred-site.html:
scp hadoop-1.*.tar.gz salve2@ip_address:/home/username/ ; 然后在salves上使用命令 tar -zxvf hadoop-1.*.tar.gz解压就可以了。
下面说下我遇到的问题:
这里发生错误的原因是我的salves 的/etc/hosts里面配置的机器名写错了,该过后这个问题没有了
另一个是:
这里的问题还是/etc/hosts里面的问题,由于在这个文件里面一个机器名对应了两个Ip地址,所以有这个错误,注释掉一个就可以了,可以参考http://blog.csdn.net/chjjunking/article/details/6908130
总而言之,配置这个集群虽然说是参考网上的教程来的,但是学到了很多,特别是网上说要自己看logs文件,查看出错原因,这点很好,由于某种原因,我不能直接操作salves,所以,只能用 scp save1@ip_address:/home/username/hadoop-*/logs/ /home/username/tmp 下载到本机才能查看,或者ssh 链接过去使用cat,但是太多logs了,所有个人建议还是下载到本地比较好。
1、下载jdk、hadoop安装文件,最好下载 *.tar.gz文件,这样直接解压就可以了,配置路径主要是在/etc/profile中配置,配置完成后,使用 source /etc/profile使配置生效;
比如我有三个主机,一个master,两个slaves,那么首先我在三台机上都配置好jdk,(输入命令 java -version 有显示版本就ok了)。
2、配置ssh :一般的ubuntu系统的话是有自带的,可以不用下载,或者使用sudo apt-get ssh命令下载
完成后,进入用户目录,一般是:/home/username,使用 ls -al 查看当前文件夹中是否有.ssh文件夹,若没有,则创建一个,接着
使用命令 ssh-keygen -t rsa ,然后点击两次确认,进入 .ssh目录,使用命令:cp id_rsa.pub authorized_keys;
使用 ls 可以看到: authorized_keys id_rsa id_rsa.pub,复制 authorized_keys 到salves节点: scp authorized_keys salve1@ip_address:/home/username/.ssh/authorized_keys id_ ,然后输入用户名和密码就可以了;
输入ssh localhost 、ssh salve1,ssh salve2 ,看是否可以无密码登录,是则ok。
3、配置hadoop ,可以只在master上面配置(在配置这个之前,最好先在每个节点的/etc/hosts里面做些ip和主机名的映射):
配置文件如下:
core-site.html:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>hadoop.tmp.dir</name> <value>/home/username/hadoop/tmp</value> <description>A base for other temporary directories.</description> </property> <property> <name>fs.default.name</name> <value>hdfs://master:9000</value> </property> </configuration>hdfs-site.html:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>dfs.replication</name> <!--设置一个数据块存储的份数--> <value>2</value> </property> <property> <name>dfs.data.dir</name> <value>/home/username/hadoop/hadoopfs/data1,/home/username/hadoop/hadoopfs/date2</value> </property> <property> <name>dfs.name.dir</name> <value>/home/username/hadoop/hadoopfs/name1,/home/username/hadoop/hadoopfs/name2</value> </property> </configuration>
mapred-site.html:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>mapred.job.tracker</name> <value>master:9001</value> </property> </configuration>master:
masterslaves:
slave1 slave2hadoop-env.sh里面只用配置下J***A路径就可以了,然后把 整个hadoop的安装目录打包,拷贝到salves: scp hadoop-1.*.tar.gz salve1@ip_address:/home/username/ ;
scp hadoop-1.*.tar.gz salve2@ip_address:/home/username/ ; 然后在salves上使用命令 tar -zxvf hadoop-1.*.tar.gz解压就可以了。
下面说下我遇到的问题:
2012-09-12 23:13:41,888 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.net.UnknownHostException: unknown host:
这里发生错误的原因是我的salves 的/etc/hosts里面配置的机器名写错了,该过后这个问题没有了
另一个是:
2012-09-12 15:50:54,500 INFO org.apache.hadoop.ipc.Server: IPC Server handler 7 on 9000, call addBlock(/home/username/hadoop/tmp/mapred/system/jobtracker.info, DFSClient_1300323158, null) from 192.168.0.6:34780: error: java.io.IOException: File /home/botwave/hadoop/tmp/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1 java.io.IOException: File /home/username/hadoop/tmp/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1 at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1558) at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:696) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:563) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1388) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1384) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1093) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1382)
这里的问题还是/etc/hosts里面的问题,由于在这个文件里面一个机器名对应了两个Ip地址,所以有这个错误,注释掉一个就可以了,可以参考http://blog.csdn.net/chjjunking/article/details/6908130
总而言之,配置这个集群虽然说是参考网上的教程来的,但是学到了很多,特别是网上说要自己看logs文件,查看出错原因,这点很好,由于某种原因,我不能直接操作salves,所以,只能用 scp save1@ip_address:/home/username/hadoop-*/logs/ /home/username/tmp 下载到本机才能查看,或者ssh 链接过去使用cat,但是太多logs了,所有个人建议还是下载到本地比较好。
相关文章推荐
- Hadoop集群配置详细版1.0.3
- Hadoop集群部署配置文档(第2部分)
- hadoop集群默认配置和常用配置
- 集群节点基于Hadoop集群的HBase集群的配置【2】
- VMware Workstation 9下基于Ubuntu 12.10服务器版本的Hadoop集群的配置
- 部署hadoop2.7.2 集群 基于zookeeper配置HDFS HA+Federation
- 集群配置虚拟主机及部署Hadoop集群碰到的问题
- eclipse 配置连接hadoop集群
- hadoop 2.x之HDFS HA讲解之十二基于已有HDFS集群配置NN HA
- Hadoop集群安装配置教程_Hadoop2.7.3Ubuntu/CentOS
- 一步步教你Hadoop多节点集群安装配置
- Hadoop2.2集群安装配置-Spark集群安装部署
- Hadoop集群配置(最全面总结)
- hadoop-1.2.0集群安装与配置
- Hadoop 集群模式调整配置最小块设置与web访问
- hadoop集群监控工具Apache Ambari安装配置教程
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群-配置Hadoop单机模式并运行Wordcount(2)
- 第117讲:Hadoop集群之安装IP配置、Slaves、namenode和secondarynamenode的配置学习笔记
- Hadoop 单节点集群配置
- Hadoop 2.0集群配置详细教程[虚拟机下配置成功]