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地址, ...
随机推荐
- Linux服务之DHCP服务篇(scp)
一.概念 名称:DHCP----Dynamic Host Configuration Protocol 动态主机配置协议 功能:DHCP是一个局域网的网络协议,使用UDP协议工作 主要用途:给内部网络 ...
- C# 技术体系简介
C# 语言 .Net Framwork .NET Core winform界面编程 WPF开发经验,熟悉C/S架构产品开发及架构和设计 DevExpress界面框架(其实就是基于微软的 Winform ...
- VMware vCenter Server 7.0 U2b/6.7 U3n/6.5 U3p,修复 vSphere Client 高危安全漏洞
vSphere Client(HTML5)中的多个漏洞已秘密报告给 VMware.这里提供了更新和解决方法来解决受影响的 VMware 产品中的这些漏洞. 详见:VMSA-2021-0010 威胁描述 ...
- Linux(CentOS7)下二进制安装MySQL5.7.26
记录一下自己在 CentOS7 下二进制安装 MySQL5.7.26 的过程,之前使用 Linux(CentOS7)下rpm安装MySQL8.0.16 之后发现 rpm 方式安装不利于维护,也不利于单 ...
- 关于一类docker容器闪退问题定位
背景:正在学习docker期间,接到一个任务,通过docker部署一个应用A.该应用A类似于之前部署的应用B,结果很自然地犯了形而上学的错误. 思路:基于dockerfile+docker-compo ...
- Go语言web开发---Beego路由
参考链接(查看更多):https://beego.me/docs/mvc/controller/router.md 基础路由 从 beego 1.2 版本开始支持了基本的 RESTful 函数式路由, ...
- 07.ElementUI 2.X 源码学习:源码剖析之工程化(二)
0x.00 前言 项目工程化系列文章链接如下,推荐按照顺序阅读文章 . 1️⃣ 源码剖析之工程化(一):项目概览.package.json.npm script 2️⃣ 源码剖析之工程化(二):项目构 ...
- Sqlserver语句获取本周、上一周、本月数据
sql语句获取本周.上一周.本月数据 获取周数据 1 本周 2 select * from table1 where datediff(week,时间字段,getdate()) = 0 3 上周 4 ...
- vulhub-struct2-s2-005
0x00 漏洞原理 s2-005漏洞的起源源于S2-003(受影响版本: 低于Struts 2.0.12),struts2会将http的每个参数名解析为OGNL语句执行(可理解为java代码).O ...
- 提高GUI自动化测试稳定性解决方案
针对"GUI自动化测试稳定性问题"这个问题,最典型的情景就是:同样的测试用例,在同样的测试执行环境下,测试的结果有时是Success,有时是Fail,这严重降低了GUI测试的可信度 ...