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地址, ...
随机推荐
- 013.Python的文件操作
一 文件操作 fp = open("打开的文件",mode="模式选择",encoding="编码集") open 函数 返回一个文件io对 ...
- Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]] 错误(Day_25)
错误: 在maven项目,web启动的时候报这个错误 Failed to start component [StandardEngine[Tomcat].StandardHost[localho ...
- SpringBoot打jar包-下载文件时报错-class path resource xxxxxx cannot be resolved to URL because it does not exist
一.问题由来 新项目的开发中,打包方式由war包改为了jar包的方式,这样在部署的时候更加的方便.测试环境使用pm2这个工具来管理项目的运行,停止,重启等等非常方便. 可是当测试人员在测试项目中的文件 ...
- Celery 架构组成
Celery 是一个强大的 分布式任务队列 的 异步处理框架,它可以让任务的执行完全脱离主程序,甚至可以被分配到其他主机上运行.我们通常使用它来实现异步任务(async task)和定时任务(cron ...
- noip模拟4[随·单·题·大佬]
woc woc woc难斩了人都傻了 害上来先看T1,发现这不就是一个小期望嘛(有啥的)真是!!打算半个小时秒掉 可是吧,读着读着题面,发现这题面有大问题,后来去找老师,还是我nb给题挑错, ...
- React-setState的那些事儿
关于setState,使用过react的人应该再熟悉不过了,在hooks还不那么普及的时候,除了使用函数式组件,我们使用最多的应该就是类创建react的组件了,而在类组件中我们通常会使用state来管 ...
- Dockerfile构建实践
Dockerfile构建实践 本文介绍了用于构建有效图像的推荐最佳实践和方法. Docker通过从一个Dockerfile文本文件中读取指令来自动构建映像,该文本文件按顺序包含构建给定映像所需的所有命 ...
- WEB 页面认证
1:安装htpasswd工具生成加密文件 安装工具 # yum install httpd-tools # htpasswd -cm /etc/httpd/passwd/password useraN ...
- 【渗透实战】记一次艰难的内网漫游第四期_蹭我WIFI?看我如何利用组合拳日进蹭网者内网
/文章作者:Kali_MG1937 CSDN博客ID:ALDYS4 QQ:3496925334/ 内网漫游系列第三期:[渗透实战]记一次艰难的内网漫游第三期_我是如何利用APT攻击拿到内网最高权限的 ...
- 【NX二次开发】批量数字签名的方法,解决自己电脑编译的dll在用户正版NX无法使用的问题
在UG5.0开始,所有开发的DLL都要"签名"后才能被客户端上正版的NX调用. 1. 如果是基于c++开发的dll,使用如下方法可以顺利签名成功(这里借用网上现有的文字和图片) 1 ...