java 配置hdfs集群_Hadoop集群搭建-04安装配置HDFS

HDFS是配合Hadoop使用的分布式文件系统,分为

namenode: nn1.hadoop nn2.hadoop

datanode: s1.hadoop s2.hadoop s3.hadoop

(看不明白这5台虚拟机的请看前面 01前期准备 )

解压配置文件

[hadoop@nn1 hadoop_base_op]$ ./ssh_all.sh mv /usr/local/hadoop/etc/hadoop /usr/local/hadoop/etc/hadoop_back

[hadoop@nn1 hadoop_base_op]$ ./scp_all.sh ../up/hadoop.tar.gz /tmp/

[hadoop@nn1 hadoop_base_op]$ #批量将自定义配置 压缩包解压到/usr/local/hadoop/etc/

#批量检查配置是否正确解压

[hadoop@nn1 hadoop_base_op]$ ./ssh_all.sh head /usr/local/hadoop/etc/hadoop/hadoop-env.sh

[hadoop@nn1 hadoop_base_op]$ ./ssh_root.sh chmown -R hadoop:hadoop /usr/local/hadoop/etc/hadoop

[hadoop@nn1 hadoop_base_op]$ ./ssh_root.sh chmod -R 770 /usr/local/hadoop/etc/hadoop

初始化HDFS

流程:

启动zookeeper

启动journalnode

启动zookeeper客户端,初始化HA的zookeeper信息

对nn1上的namenode进行格式化

启动nn1上的namenode

在nn2上启动同步namenode

启动nn2上的namenode

启动ZKFC

启动dataname

1.查看zookeeper状态

[hadoop@nn1 zk_op]$ ./zk_ssh_all.sh /usr/local/zookeeper/bin/zkServer.sh status

ssh hadoop@"nn1.hadoop" "/usr/local/zookeeper/bin/zkServer.sh status"

ZooKeeper JMX enabled by default

Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg

Mode: follower

OK!

ssh hadoop@"nn2.hadoop" "/usr/local/zookeeper/bin/zkServer.sh status"

ZooKeeper JMX enabled by default

Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg

Mode: leader

OK!

ssh hadoop@"s1.hadoop" "/usr/local/zookeeper/bin/zkServer.sh status"

ZooKeeper JMX enabled by default

Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg

Mode: follower

OK!

看到两个follower和一个leader说明正常运行,如果没有,就用下边的命令启动

[hadoop@nn1 zk_op]$ ./zk_ssh_all.sh /usr/local/zookeeper/bin/zkServer.sh start

2.启动journalnode

这个玩意就是namenode的同步器。

#在nn1上启动journalnode

[hadoop@nn1 zk_op]$ hadoop-daemon.sh start journalnode

#在nn2上启动journalnode

[hadoop@nn1 zk_op]$ hadoop-daemon.sh start journalnode

#可以分别打开log来查看启动状态

[hadoop@nn1 zk_op]$ tail /usr/local/hadoop-2.7.3/logs/hadoop-hadoop-journalnode-nn1.hadoop.log

2019-07-22 17:15:54,164 INFO org.apache.hadoop.ipc.Server: Starting Socket Reader #1 for port 8485

2019-07-22 17:15:54,190 INFO org.apache.hadoop.ipc.Server: IPC Server Responder: starting

2019-07-22 17:15:54,191 INFO org.apache.hadoop.ipc.Server: IPC Server listener on 8485: starting

#发现IPC通信已经建立起来了,journalnode进程在8485

3.初始化HA信息(仅第一次运行,以后不需要)

[hadoop@nn1 zk_op]$ hdfs zkfc -formatZK

[hadoop@nn1 zk_op]$ /usr/local/zookeeper/bin/zkCli.sh

[zk: localhost:2181(CONNECTED) 0] ls /

[zookeeper, hadoop-ha]

[zk: localhost:2181(CONNECTED) 1] quit

Quitting...

4.对nn1上的namenode进行格式化(仅第一次运行,以后不需要)

[hadoop@nn1 zk_op]$ hadoop namenode -format

#出现下边的说明初始化成功

#19/07/22 17:23:09 INFO common.Storage: Storage directory /data/dfsname has been successfully formatted.

5.启动nn1的namenode

[hadoop@nn1 zk_op]$ hadoop-daemon.sh start namenode

[hadoop@nn1 zk_op]$ tail /usr/local/hadoop/logs/hadoop-hadoop-namenode-nn1.hadoop.log

#

#2019-07-22 17:24:57,321 INFO org.apache.hadoop.ipc.Server: IPC Server Responder: starting

#2019-07-22 17:24:57,322 INFO org.apache.hadoop.ipc.Server: IPC Server listener on 9000: starting

#2019-07-22 17:24:57,385 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: NameNode RPC up at: nn1.hadoop/192.168.10.6:9000

#2019-07-22 17:24:57,385 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Starting services required for standby state

#2019-07-22 17:24:57,388 INFO org.apache.hadoop.hdfs.server.namenode.ha.EditLogTailer: Will roll logs on active node at nn2.hadoop/192.168.10.7:9000 every 120 seconds.

#2019-07-22 17:24:57,394 INFO org.apache.hadoop.hdfs.server.namenode.ha.StandbyCheckpointer: Starting standby checkpoint thread...

#Checkpointing active NN at http://nn2.hadoop:50070

#Serving checkpoints at http://nn1.hadoop:50070

6.在nn2机器上同步nn1的namenode状态(仅第一次运行,以后不需要)

我们来到nn2的控制台!

###########一定要在nn2机器上运行这个!!!!############

[hadoop@nn2 ~]$ hadoop namenode -bootstrapStandby

=====================================================

About to bootstrap Standby ID nn2 from:

Nameservice ID: ns1

Other Namenode ID: nn1

Other NN's HTTP address: http://nn1.hadoop:50070

Other NN's IPC address: nn1.hadoop/192.168.10.6:9000

Namespace ID: 1728347664

Block pool ID: BP-581543280-192.168.10.6-1563787389190

Cluster ID: CID-42d2124d-9f54-4902-aa31-948fb0233943

Layout version: -63

isUpgradeFinalized: true

=====================================================

19/07/22 17:30:24 INFO common.Storage: Storage directory /data/dfsname has been successfully formatted.

7.启动nn2的namenode

还是在nn2控制台运行!!

[hadoop@nn2 ~]$ hadoop-daemon.sh start namenode

#查看log来看看有没有启动成功

[hadoop@nn2 ~]$ tail /usr/local/hadoop-2.7.3/logs/hadoop-hadoop-namenode-nn2.hadoop.log

8.启动ZKFC

这时候在nn1和nn2分别启动ZKFC,这时候两台机器的namenode,一个变成active一个变成standby!!ZKFC实现了HA高可用的自动切换!!

#############在nn1运行#################

[hadoop@nn1 zk_op]$ hadoop-daemon.sh start zkfc

#############在nn2运行####################

[hadoop@nn2 zk_op]$ hadoop-daemon.sh start zkfc

这时候在浏览器输入地址访问两台机器的hadoop界面

这两个有一个active有一个是standby状态。

9.启动dataname就是启动后三台机器

########首先确定slaves文件里存放了需要配置谁为datanode

[hadoop@nn1 hadoop]$ cat slaves

s1.hadoop

s2.hadoop

s3.hadoop

###########在显示为active的机器上运行##############

[hadoop@nn1 zk_op]$ hadoop-daemons.sh start datanode

10.查看硬盘容量

打开刚才hadoop网页,查看hdfs的硬盘格式化好了没有。

这里是HDFS系统为每台实体机器的硬盘默认预留了2G(可以在配置文件hdfs-site.xml里更改),然后实际用来做hdfs的是每台机器15G,所以三台一共45G。

2d2b6a4d007ee6be6a81a0bb02f1de7a.png

如图成功配置好HDFS。

之前写的文章在这里:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563041.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用双异步后,从 191s 优化到 2s

目录 一、一般我会这样做:操作起来,如果文件比较多,数据量都很大的时候,会非常慢。 二、谁写的?拖出去,斩了!优化1:先查询全部数据,缓存到map中,插入前再进行…

java xxe漏洞利用_【技术分享】XXE漏洞攻防之我见

作者:激越王预估稿费:400RMB投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿你是否听说过xml注入攻击呢,或者对它只知其一不知其二呢?现在让我们从xml相关基础知识开始,一步步了解xml攻…

java ios压缩图片,Java、ios图片上传

IOS客服端代码interface ViewController (){NSString *boundary;NSString *fileParam;NSString *baseUrl;NSString *fileName;}endimplementation ViewController- (void)viewDidLoad{[super viewDidLoad];boundary "----------V2ymHFg03ehbqgZCaKO6jy";fileParam …

线谱法 时钟分量的提取 matlab,LMD局域均值分解的matlab程序及示例

说明:研究LMD局域均值分解有3个月左右,能找到的相关文章也基本上看了一遍,觉得是个很好的方法,号称是EMD经验模态分解的改进版。但是网络上一直没有找到该算法的matlab程序,只见文章说的天花乱坠。后来自己写了一个&am…

matlab 多项式表达,MATLAB自学笔记(十七):多项式及其函数

终于结束了关于MATLAB的基础知识学习部分,开始了对数据的分析1.多项式的表达与创建MATLAB中用一维行向量来表示多项式,将多项式的系数按照降幂次序存放在向量中。请注意上面一句话,这将是MATLAB中对多项式操作的关键MATLAB中对多项式中缺少的…

matlab绘制8条曲线,科学网—【Matlab】如何用plotyy对应坐标绘制多条曲线 - 叶瑞杰的博文...

例子:设x1:0.01:100;y10.2*sin(x);y20.3*sin(x);y30.4*sin(x);y40.5*sin(x);y50.6*sin(x);以左边坐标轴为参考画一条曲线,以右边坐标轴画四条曲线:figure;[AX,h1,h2]plotyy(x,y1,x,[y2;y3;y4;y5]); %用分号还是逗号视y矩阵而定&#xff0c…

matlab数字通信,基于matlab时分复用数字通信系统的设计与实现.pdf

一、系统的功能及原理描述时分多路复用(TDM,time division multiplex ):在实际的通信系统中,为了提高通信系统的利用率,往往用多路通信的方式来传输信号。所谓多路通信,就是指把多个不同信源所发出的信号组合成一个群信…

matlab建立的发动机的模型,奇瑞使用基于模型的设计实现发动机管理系统软件的自主开发...

奇瑞采用了基于模型的设计,并请 MathWorks 工程师来协助其工程团队掌握 MATLAB 和 Simulink 的运用。奇瑞团队使用 Microsoft Word 定义系统需求。他们基于这些需求使用 Simulink 和 Stateflow 开发了一个 EMS 控制模型。使用 Simulink Check™ 和 Simulink Require…

matlab melbankm,Matlab v_melbankm函数参数详解(英文附例)

Matlab v_melbankm函数参数详解(英文附例)笔者使用的是R2019的matlab,下载了voicebox安装至matlab路径下即可使用。下载voicebox请参看此博客需要注意的是,melbankm改成了v_melbankm,今天自己使用此函数时后面几个参数不知道含义,…

php csrf攻击 xss区别,XSS与CSRF攻击及防御方法

前言web安全这词可能对于服务端工程师来说更加“眼熟”,部分前端工程师并不是十分了解,今天就来讲讲XSS攻击与CSRF攻击及防御方法XSSXSS (Cross Site Scripting),即跨站脚本攻击,是一种常见于 Web 应用中的计算机安全漏洞。大部分…

java 文件名空格,java关于文件名带有空格的个人见解

好久没写文章了,为什么会有这个标题呢最近上篇文章不是写pdf生成吗,其中要加一个印章的图标,这个图标要跟pdf连体,就是不能单独被保存,基本上有几种保存图标的方法:1.数据库2.本地文件我选择了本地的文件&a…

命php令删除文件夹,window_win7系统通过cmd命令提示符的del命令删除文件的详细教程,怎么利用cmd命令提示符的del命 - phpStudy...

win7系统通过cmd命令提示符的del命令删除文件的详细教程怎么利用cmd命令提示符的del命令删除文件?cmd命令提示符的功能十分强大,它可以通过一些简单的命令来完成指定的查询、修改、删除等任务。接下来,小编主要分享cmd中del命令的常用方法。1…

matlab各个指令的含义,[MATLAB基础] 求解这段指令的意思,越详细越好,谢谢啦

求解这段指令的意思,越详细越好,谢谢啦 function [Kp,T2]KPCA(ax,ay)[Nx]size(ax);mean_X mean(ax);axbax;std_Xstd(ax);axax-mean_X(ones(Nx,1),:);std_X(find(std_X0))1;%数据预处理axax./std_X(ones(Nx,1),:);c10000;% gama0.05;% ni1;% F1ax(1,:);% …

php+js实现弹幕,jquery.barrager.js-专业的网页弹幕插件

jquery.barrager.js是一款专业的网页弹幕插件。它支持显示图片,文字以及超链接。支持自定义弹幕的速度、高度、颜色、数量等。能轻松集成到论坛,博客等网站中。由于IE9以下的IE浏览器不兼容CSS圆角,采用兼容样式,可单独设置弹幕的颜色,属性为old_ie_color,建议不要与网页主背景…

python list index方法,Python List.index()方法

Python List index()方法Python index()方法返回传递的元素的索引。此方法接受一个参数并返回其索引。如果该元素不存在,则会引发ValueError。如果list包含重复元素,则返回第一个出现的元素的索引。此方法还使用了两个可选参数start和end,用于…

zend studio php 5.5,Zend Studio使用教程:在Zend Studio中调试PHP(5/5)

本教程将教会您如何调试文件和应用程序以便从您的PHP代码中获取最大的效率和准确性。Zend Studio的调试功能可以检查并诊断PHP代码在本地或远程服务器上的错误。调试器允许您通过设置断点、暂停启动的程序、单步调试代码和检查变量的内容来控制程序的执行。调试应该在您的脚本和…

memcached和php关系,php – memcacheD这没关系?

Is this code vulnerable to the expired cache race condition? How would you improve it?是.如果两个(或多个)并发客户端尝试从缓存中获取相同的密钥并最终从数据库中提取它.您将在数据库上出现峰值,并且数据库将在一段时间内处于高负载状态.这称为缓存标记.有几种方法可以…

php 如何单独刷新模板,反馈一个x-admin模板的问题,点击左侧栏不会刷新右侧栏当前页面的问题,并提供解决方案。...

在xadmin.js或者x-admin.js里面找到左侧菜单效果的函数,2.0版本的如下://左侧菜单效果// $(#content).bind("click",function(event){$(.left-nav #nav li).click(function (event) {if($(this).children(.sub-menu).length){if($(this).hasCl…

oracle 安装乱码,linux安装Oracle中文乱码问题汇总

解决oracle中文显示乱码有三层地方需要调整或者修改第一层:操作系统层1.首先查看linux是否有安装中文字符集,locale -a2.设置用户的中文字符集查看到linux安装了中文字符集,那么oracle用户下面要设置中文字符集vi /etc/locale.conf # centos7…

php 解析yaml,php yaml 解析 报错问题

今天用php写了一个简单的博客引擎,其中要用php yaml解析器,但是在使用的过程中遇到了这样的报错[09-Dec-2017 14:54:25 PRC] PHP Warning: yaml_parse(): end of stream reached without finding document 0 in /home/twikoizo/public_html/dev/core/mod…