设为首页 收藏本站
查看: 1630|回复: 0

[经验分享] hadoop伪分布模式配置学习

[复制链接]

尚未签到

发表于 2015-7-11 10:51:46 | 显示全部楼层 |阅读模式
  参考:
http://blog.iyunv.com/inkfish/archive/2010/01/07/5150029.aspx
  http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop1/index.html
  伪分布模式也是在一台单机上运行,但用不同的 Java 进程模仿分布式运行中的各类结点 ( NameNode, DataNode, JobTracker, TaskTracker, Secondary NameNode ),分布式运行中的这几个结点的区别:
从分布式存储的角度来说,集群中的结点由一个 NameNode 和若干个 DataNode 组成, 另有一个 Secondary NameNode 作为 NameNode 的备份。
从分布式应用的角度来说,集群中的结点由一个 JobTracker 和若干个 TaskTracker 组成,JobTracker 负责任务的调度,TaskTracker 负责并行执行任务。
TaskTracker 必须运行在 DataNode 上,这样便于数据的本地计算。JobTracker 和 NameNode 则无须在同一台机器上。

伪分布模式安装步骤:
1.解压到某目录下并设置JAVA_HOME。

2.修改配置文件:
a)修改conf/core-site.xml:
   
   
fs.default.name   
hdfs://localhost:9000   
   
  
b)修改conf/mapred-site.xml:
   
   
mapred.job.tracker   
localhost:9001   
   

c)修改conf/hdfs-site.xml:
   
   
dfs.replication   
1   
   
   
#参数 fs.default.name 指定 NameNode 的 IP 地址和端口号。缺省值是 file:///, 表示使用本地文件系统, 用于单机非分布式模式。此处我们指定使用运行于本机 localhost 上的 NameNode。
#参数 mapred.job.tracker 指定 JobTracker 的 IP 地址和端口号。缺省值是 local, 表示在本地同一 Java 进程内执行 JobTracker 和 TaskTracker, 用于单机非分布式模式。此处我们指定使用运行于本机 localhost 上的 JobTracker ( 用一个单独的 Java 进程做 JobTracker )。
#参数 dfs.replication 指定 HDFS 中每个 Block 被复制的次数,起数据冗余备份的作用。 在典型的生产系统中,这个数常常设置为3。
注意:由于上面配置的过程中用到来localhost,相当于主机名,通过命令
  root@localhost:/usr/hadoop-0.20.2# hostname
查看主机名是否为localhost,如果不是请修改/etc/hostname文件内容为localhost
  hadoop在格式化HDFS的时候,通过hostname命令获取到的主机名是localhost,然后在/etc/hosts文件中进行映射,所以要看看/etc/hosts文件中的内容localhost对应的ip地址所否为本机
  以下的配置操作最好是切换到root目录下操作

  
3.配置ssh,使得本机ssh登录本机无密码。
[iyunv@localhost hadoop]# ssh-keygen -t rsa   一直按enter,就会按默认的选项将生成的密钥对保存在.ssh/id_rsa文件中
Generating public/private dsa key pair.
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
74:79:98:eb:fa:e0:53:aa:e3:1b:e4:a4:16:7a:6b:31 root@localhost
  执行以下命令
[iyunv@localhost hadoop]# cp id_rsa.pub authorized_keys
  然后执行ssh localhost,可以实现用ssh连接并且不需要密码连接
  4.格式化hadoop系统并启动。
[iyunv@localhost hadoop]# bin/hadoop namenode -format    #第一次启动hadoop先要格式化整个hadoop系统        
[iyunv@localhost hadoop]# bin/start-all.sh         #bin下有相关启动,停止命令。
starting namenode, logging to /usr/local/hadoop/bin/../logs/hadoop-sword-namenode-localhost.localdomain.out
localhost: starting datanode, logging to /usr/local/hadoop/bin/../logs/hadoop-root-datanode-localhost.localdomain.out
localhost: starting secondarynamenode, logging to /usr/local/hadoop/bin/../logs/hadoop-root-secondarynamenode-localhost.localdomain.out
starting jobtracker, logging to /usr/local/hadoop/bin/../logs/hadoop-sword-jobtracker-localhost.localdomain.out
localhost: starting tasktracker, logging to /usr/local/hadoop/bin/../logs/hadoop-root-tasktracker-localhost.localdomain.out

故障诊断:
(1) 执行 $ bin/start-all.sh 启动 Hadoop 进程后,会启动5个 java 进程(如上), 同时会在 /tmp 目录下创建五个 pid 文件记录这些进程 ID 号。通过这五个文件,可以得知 namenode, datanode, secondary namenode, jobtracker, tasktracker 分别对应于哪一个 Java 进程。当你觉得 Hadoop 工作不正常时,可以首先查看这5个 java 进程是否在正常运行。
(2) 使用 web 接口。访问 http://localhost:50030 可以查看 JobTracker 的运行状态。访问 http://localhost:50060 可以查看 TaskTracker 的运行状态。访问 http://localhost:50070 可以查看 NameNode 以及整个分布式文件系统的状态,浏览分布式文件系统中的文件以及 log 等。
(3) 查看 ${HADOOP_HOME}/logs 目录下的 log 文件,namenode, datanode, secondary namenode, jobtracker, tasktracker 各有一个对应的 log 文件,每一次运行的计算任务也有对应用 log 文件。分析这些 log 文件有助于找到故障原因。

看看它怎么跑的 :
[iyunv@localhost hadoop]# bin/hadoop dfs -put ./test-in input
#将本地文件系统上的 ./test-in 目录拷到 HDFS 的根目录上,目录名改为 input
#执行 bin/hadoop dfs –help 可以学习各种 HDFS 命令的使用。
[iyunv@localhost hadoop]# bin/hadoop jar hadoop-0.20.2-examples.jar wordcount input output
#下面查看执行结果:
#将文件从 HDFS 拷到本地文件系统中再查看:
[iyunv@localhost hadoop]# bin/hadoop dfs -get output ./output #最后一个参数是本地文件
[iyunv@localhost hadoop]# cat output/*
cat: output/_logs: 是一个目录
bye    1
googbye    1
hadoop    2
hello    2
world    2
#也可以直接查看
[iyunv@localhost hadoop]# bin/hadoop dfs -cat output/*
cat: Source must be a file.
bye    1
googbye    1
hadoop    2
hello    2
world    2

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-85479-1-1.html 上篇帖子: Hadoop+HBase 伪分布式安装配置 下篇帖子: Hadoop实战之二~ hadoop作业调度详解(1)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表