hadoop学习(二)hadoop集群的启动
一、完全分布式集群环境的搭建
1、配置hosts文件:将三台集群服务器的主机名与IP的对应关系互相配置到对方的hosts文件中,以便对方服务器能通过主机名寻找IP,hosts文件在/etc目录下。
2、建立hadoop运行账号,这个就不说了。
3、配置ssh免密码连入,配置这个地方可能会出现问题,具体细节看上一篇博客。
4、下载并解压hadoop安装包,需要说明的是最好是先chmod更改一下权限,使用tar xzvf 包名 来解压。
5、在namenode节点上配置hadoop:
(1)修改~/hadoop-0.20.2/conf目录下的core-size.xml文件内容,用来配置namenode节点IP和断口,如下:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://namenode服务器ip地址:9000</value>
</property>
</configuration>
(2)修改~/hadoop-0.20.2/conf目录下的hdfs-site.xml文件内如,用来配置备份数据的份数,如下:
<configuration>
<property>
<name>dfs.replication</name>
<value>2(数据备份两台服务器)</value>
</property>
</configuration>
(3)修改~/hadoop-0.20.2/conf目录下的mapred-site.xml文件内容,用来配置jobtracker服务器的IP和断口,如下:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>jobtracker服务器的IP地址:9001</value>
</property>
</configuration>
(4)修改~/hadoop-0.20.2/conf目录下的masters和slaves文件,masters文件中写namenode节点和jobtracker节点的主机名,slaves文件中写datanode和tasktracker的主机名。
(5)修改~/hadoop-0.20.2/conf目录下的hadoop-env.sh文件,修改hadoop的jkd环境变量,找到export JAVA_HOME这一行,取消注释,更改jdk安装路径。
(6)将修改完成后的hadoop-0.20.2目录复制到另外两台datanode节点上,我是复制安装包过去解压,namenode上配置好了之后,将其conf目录复制过去覆盖即可。
(7)格式化分布式文件系统:
A、cd ~/hadoop-0.20.2/
B、bin/hadoop namenode -format
C、当有“successfully formatted”等字符出现时,表面格式化成功。
(8)在namenode节点的hadoop解压目录下执行命令:bin/start-all.sh,即可启动namenode进程、jobtracker进程、secondarynamenode进程、datanode进程、tasktracker进程。在namenode节点下使用:~/jdk1.6.0_45/bin/jps命令,可以看到启动了NameNode进程、JobTracker进程、econdaryNameNode进程和Jps进程。在datanode节点下使用该命令,可以看到启动了DataNode进程、TaskTracker进程和Jps进程。
二、完成分布式搭建后出现的问题。
按照上面的步骤,是搭建成功了的,使用JPS命令,也看到对应的守护进程启动了的。可以第二天过来再次用start-all.sh脚本启动进程的时候发现悲剧了,namenode进程和jobtracker进程没有起来,SecondaryNamenode进程倒是跑起来了。在看datanode节点,发现DataNode进程和TaskTracker进程倒是起来了。然后就是逐步解决问题,步骤如下:
1、NameNode节点没有启动,用hadoop namenode -format命令格式化namenode节点,之后再次启动,发现NameNode进程启动了,但是JobTracker进程没有启动。
2、继续,删除/tmp目录下的文件,因为进程启动后会生成一些文件默认存放在/tmp目录下,然后删除~/hadoop-0.20.2/data目录下的所有内容,使用stop-all.sh脚本关闭所有进程后再次启动所有进程,发现NameNode进程和JobTracker进程起来了,再到datanode节点下看看,发现DataNode节点没有起来,悲剧!!
3、继续排错,发现好像是因为格式化namenode次数过多,datanode节点上存放的还是之前的namenodeID,所以删除datanode节点下~/hadoop-0.20.2/data目录下所有内容,再次重启namenode节点上的守护进程,namenode没问题,datanode也没问题,ok终于搞定。
三、注意事项:
1、可以不用配置hosts文件,在master、slave文件中给出具体IP就行。
2、在真实集群环境中,使用以下几步替换上面的几个步骤:
(1)使用DNS服务器的域名解析功能来替代修改hosts文件。
(2)使用NFS实现密钥共享,替换ssh免密码登录。
(3)使用awk工具编写脚本,批量复制hadoop。
hadoop学习(二)hadoop集群的启动的更多相关文章
- Hadoop的多节点集群详细启动步骤(3或5节点)
版本1 利用自己写的脚本来启动,见如下博客 hadoop-2.6.0-cdh5.4.5.tar.gz(CDH)的3节点集群搭建 hadoop-2.6.0.tar.gz的集群搭建(3节点) hadoop ...
- kafka学习(二)-zookeeper集群搭建
zookeeper概念 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名 服务等.Zookeeper是h ...
- Hadoop学习12-配置集群环境
由于之前虚拟机都是用的桥接方式,有时候没有网络可用,想学习的时候,就狠不方便. 于是研究了一下,希望搭建一个多台虚机组成一个局域网的集群,即host-only方式 1.安装VM,网络选择“host-o ...
- hadoop 3.x 单机集群配置/启动时的问题处理
一.修改配置文件(hadoop目录/etc/hadoop/配置文件) 1.修改hadoop-env.sh,指定JAVA_HOME 修改完毕后 2.修改core-site.xml <configu ...
- Hadoop的单节点集群详细启动步骤
见,如下博客 hadoop-2.2.0.tar.gz的伪分布集群环境搭建(单节点) 很简单,不多赘述.
- Dubbo学习(二) Dubbo 集群容错模式-负载均衡模式
Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配 ...
- rocketmq学习(二) rocketmq集群部署与图形化控制台安装
1.rocketmq图形化控制台安装 虽然rocketmq为用户提供了使用命令行管理主题.消费组以及broker配置的功能,但对于不够熟练的非运维人员来说,命令行的管理界面还是较难使用的.为此,我们可 ...
- hadoop 2.2.0集群安装
相关阅读: hbase 0.98.1集群安装 本文将基于hadoop 2.2.0解说其在linux集群上的安装方法,并对一些重要的设置项进行解释,本文原文链接:http://blog.csdn.net ...
- hadoop学习之hadoop完全分布式集群安装
注:本文的主要目的是为了记录自己的学习过程,也方便与大家做交流.转载请注明来自: http://blog.csdn.net/ab198604/article/details/8250461 要想深入的 ...
- Hadoop学习之Hadoop集群搭建
1.检查网络状况 Dos命令:ping ip地址,同时,在Linux下通过命令:ifconfig可以查看ip信息2.修改虚拟机的ip地址 打开linux网络连接,在桌面右上角,然后编辑ip地址, ...
随机推荐
- git cherry-pick(不同分支的提交合并)
git cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作.例如,假设我们有个稳定版本的分支,叫v2.0,另外还有个开发版本的分支v3.0,我们不能直接把两个分支合并, ...
- s9 Linux 进程管理命令
9.1 ps:查看进程 9.2-3 pstree & pgrep 9.4-6 kill & killall & pkill 9.7 top:实时显示系统中各个进程的资源占用状况 ...
- Java并发之AQS原理剖析
概述: AbstractQueuedSynchronizer,可以称为抽象队列同步器. AQS有独占模式和共享模式两种: 独占模式: 公平锁: 非公平锁: 共享模式: 数据结构: 基本属性: /** ...
- 在 Visual Studio 里一秒打开 ILSpy,并反编译当前项目
下载 ILSpy(如果已有 ILSpy,忽略此步骤) 1.打开官方git 仓库 - https://github.com/icsharpcode/ILSpy 2.点击右侧的 Releases 最新版, ...
- DDD中实体与值对象是干什么的
实体值对象的含义 我们前面已经讲过领域的概念, 今天来讲讲实体, 实体是我们进行设计领域模型时的基础单元, 与之有关的是值对象, 接下来先梳理一下实体以及值对象的含义,然后讲讲他们俩的关系, 希望通过 ...
- 插件 ExcelWrite 导出Excel格式数据/获取图层
使用ExcelWrite 插件可以导出Excel格式的数据: ExcelFile端口接 文件数据路径 最后面的是文件名,不用写格式 如果存储树形数据,需要 勾选 List To Row 选项: 附: ...
- TensorFlow Frontend前端
TensorFlow Frontend前端 TensorFlow前端有助于将TensorFlow模型导入TVM. Supported versions: 1.12 and below Tested m ...
- 深度树匹配模型(TDM)
深度树匹配模型(TDM) 算法介绍 Tree-based Deep Match(TDM)是由阿里妈妈精准定向广告算法团队自主研发,基于深度学习上的大规模(千万级+)推荐系统算法框架.在大规模推荐系统的 ...
- Springboot中以配置类方式自定义Mybatis的配置规则(如开启驼峰映射等)
什么是自定义Mybatis的配置规则? 答:即原来在mybatis配置文件中中我们配置到<settings>标签中的内容,如下第6-10行内容: 1 <?xml version=&q ...
- QT Dialog模态与非模态
模态 // 创建对话框窗口 TestDialog* dlg = new TestDialog(this); // 阻塞程序的运行 dlg->exec(); 这样的话,当运行对话窗口的时候,会阻塞 ...