首页 文章 精选 留言 我的

精选列表

搜索[linux],共10000篇文章
优秀的个人博客,低调大师

Linux的企业-Hadoop(namenode,yarn 的高可用)Hbase 分布式部署

接上篇后续配置 一.配置环境 redhat6.5 server1 172.25.29(50).1 hadoop master nfs server2 172.25.29(50).2 zookeeper nfs server3 172.25.29(50).3 zookeeper nfs server4 172.25.29(50).4 zookeeper nfs server5 172.25.29(50).5 高可用备机 nfs 使用 nfs 共享同步配置文件,之前配置好java运行环境 二.Hadoop name node节点高可用配置 1.配置Zookeeper 集群,至少三台 2.在各节点启动zookeeper发现服务 3.Hadoop 配置 编辑 hdfs-site.xml 文件: <configuration> <!-- 指定 hdfs 的 nameservices 为 masters,和 core-site.xml 文件中的设置保持一 致 --> <property> <name>dfs.nameservices</name> <value>masters</value> </property> <!-- masters 下面有两个 namenode 节点,分别是 h1 和 h2 (名称可自定义) --> <property> <name>dfs.ha.namenodes.masters</name> <value>h1,h2</value> </property> <!-- 指定 h1 节点的 rpc 通信地址 --> <property> <name>dfs.namenode.rpc-address.masters.h1</name> <value>172.25.29.1:9000</value> </property> <!-- 指定 h1 节点的 http 通信地址 --> <property> <name>dfs.namenode.http-address.masters.h1</name> <value>172.25.29.1:50070</value> </property> <!-- 指定 h2 节点的 rpc 通信地址 --> <property> <name>dfs.namenode.rpc-address.masters.h2</name> <value>172.25.29.5:9000</value> </property> <!-- 指定 h2 节点的 http 通信地址 --> <property> <name>dfs.namenode.http-address.masters.h2</name> <value>172.25.29.5:50070</value> </property> <!-- 指定 NameNode 元数据在 JournalNode 上的存放位置 --> <property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://172.25.29.2:8485;172.25.29.3:8485;172.25.29.4:8485/masters</value> </property> <!-- 指定 JournalNode 在本地磁盘存放数据的位置 --> <property> <name>dfs.journalnode.edits.dir</name> <value>/tmp/journaldata</value></property> <!-- 开启 NameNode 失败自动切换 --> <property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property> <!-- 配置失败自动切换实现方式 --> <property> <name>dfs.client.failover.proxy.provider.masters</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvid er</value> </property> <!-- 配置隔离机制方法,每个机制占用一行--> <property> <name>dfs.ha.fencing.methods</name> <value> sshfence shell(/bin/true) </value> </property> <!-- 使用 sshfence 隔离机制时需要 ssh 免密码 --> <property> <name>dfs.ha.fencing.ssh.private-key-files</name> <value>/home/hadoop/.ssh/id_rsa</value> </property> <!-- 配置 sshfence 隔离机制超时时间 --> <property> <name>dfs.ha.fencing.ssh.connect-timeout</name> <value>30000</value> </property> </configuration> 4.主机之间设置免密 5.格式化之前删除tmp下的数据,以免影响后面的操作 6.在三个 DN 上依次启动 journalnode(第一次启动 hdfs 必须先启动 journalnode) 7.格式化 HDFS 集群 8.启动 hdfs 集群 9.web登陆172.25.29.1:50070 测试:关闭server1的name node进程,master切换到5上 server1 kill -9 3184 server1宕掉,server5接管 三.Hadoop yarn 的高可用 1.在hadoop/etc/hadoop下编辑 mapred-site.xml 文件 2.在hadoop/etc/hadoop下编辑 yarn-site.xml 文件 <configuration> <!-- 配置可以在 nodemanager 上运行 mapreduce 程序 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 激活 RM 高可用 --> <property> <name>yarn.resourcemanager.ha.enabled</name> <value>true</value> </property><!-- 指定 RM 的集群 id --> <property> <name>yarn.resourcemanager.cluster-id</name> <value>RM_CLUSTER</value> </property> <!-- 定义 RM 的节点--> <property> <name>yarn.resourcemanager.ha.rm-ids</name> <value>rm1,rm2</value> </property> <!-- 指定 RM1 的地址 --> <property> <name>yarn.resourcemanager.hostname.rm1</name> <value>172.25.29.1</value> </property> <!-- 指定 RM2 的地址 --> <property> <name>yarn.resourcemanager.hostname.rm2</name> <value>172.25.29.5</value> </property> <!-- 激活 RM 自动恢复 --> <property> <name>yarn.resourcemanager.recovery.enabled</name> <value>true</value> </property> <!-- 配置 RM 状态信息存储方式,有 MemStore 和 ZKStore--> <property> <name>yarn.resourcemanager.store.class</name> <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</ value> </property> <!-- 配置为 zookeeper 存储时,指定 zookeeper 集群的地址 --> <property> <name>yarn.resourcemanager.zk-address</name> <value>172.25.29.2:2181,172.25.29.3:2181,172.25.29.4:2181</value> </property> </configuration> 3.启动 yarn 服务 server5 RM2 上需要手动启动 4.测试 在server1上 kill -9 3593 进程,master切换到server5上 四.Hbase 分布式部署 1.hbase 配置 指定 java 目录 指定 hadoop 目录,否则 hbase无法识别 hdfs 集群配置 2.vim hbase-site.xml <configuration> <!-- 指定 region server 的共享目录,用来持久化 HBase。这里指定的 HDFS 地址 是要跟 core-site.xml 里面的 fs.defaultFS 的 HDFS 的 IP 地址或者域名、端口必须一致。 --> <property> <name>hbase.rootdir</name> <value>hdfs://masters/hbase</value> </property> <!-- 启用 hbase 分布式模式 --> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <!-- Zookeeper 集群的地址列表,用逗号分割。默认是 localhost,是给伪分布式用 的。要修改才能在完全分布式的情况下使用。 --> <property> <name>hbase.zookeeper.quorum</name> <value>172.25.29.2,172.25.29.3,172.25.29启动 hbase.4</value> </property> <!-- 指定数据拷贝 2 份,hdfs 默认是 3 份。 --> <property> <name>dfs.replication</name> <value>2</value> </property> <!-- 指定 hbase 的 master --> <property><name>hbase.master</name> <value>h1</value> </property> </configuration> 3.启动 hbase 4.备节点手动运行 5.查看配置结果 本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1975957,如需转载请自行联系原作者

优秀的个人博客,低调大师

Linux的企业-分布式文件系统mfs(moosefs)搭建与配置

一、MFS 特性: 1. Free(GPL) 2. 通用文件系统,不需要修改上层应用就可以使用 3. 可以在线扩容,体系架构可伸缩性极强。 4. 部署简单。 5. 高可用,可设置任意的文件冗余程度(提供比 raid1+0 更高的冗余级别,而绝对不会影响读或写的性能,只会加速) 6. 可回收在指定时间内删除的文件( “ 回收站 ” 提供的是系统级别的服务,不怕误操作了,提供类似 oralce 的闪回等高级 dbms 的即时回滚特性) 7. 提供 netapp,emc,ibm 等商业存储的 snapshot 特性。(可以对整个文件甚至在正在写入的文件创建文件的快照) 8. google filesystem 的一个 c 实现。 9. 提供 web gui 监控接口。 10. 提高随机读或写的效率。 11. 提高海量小文件的读写效率。可能的瓶颈: 1. master 本身的性能瓶颈。mfs 系统 master 存在单点故障如何解决? moosefs+drbd+heartbeat来保证 master 单点问题?不过在使用过程中不可能完全不关机和间歇性的网络中断! 2. 体系架构存储文件总数的可遇见的上限。(mfs 把文件系统的结构缓存到 master 的内存中,文件越多,master 的内存消耗越大,8g 对应 2500w 的文件数,2 亿文件就得 64GB 内存 )。 master 服务器 CPU 负载取决于操作的次数,内存的使用取决于文件和文件夹的个数。 二、MFS 文件系统结构:包含 4 种角色: 管理服务器 managing server (master) 元数据日志服务器 Metalogger server(Metalogger) 数据存储服务器 data servers (chunkservers) 客户机挂载使用 client computers 各种角色作用: 1. 管理服务器:负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复,多节点拷 贝。 2. 元数据日志服务器: 负责备份 master 服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在 master server 出问题的时候接替其进行工作。 3. 数据存储服务器:负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输。 4. 客户端:通过 fuse 内核接口挂接远程管理服务器上所管理的数据存储服务器,看起来共享的文件系统和本地 unix 文件系统使用一样的效果。 原始的读/写速度很明显是主要取决于所使用的硬盘的性能、网络的容量和拓扑结构的,使用的硬 盘和网络的吞吐量越好,整个系统的性能也就会越好。 三.mfs的安装配置 1.配置环境 redhat6.5 servre1:master 172.25.50.1 mfsmaster server2:chunk 172.25.50.2 server2:chunk 172.25.50.3 真机client:172.25.50.250 2.将mfs源码包变为rpm包安装 安装rpm-build软件 创建rpm包时需要的包依赖 3.在server1上安装mfsmaster 4.使用mfs分布式文件系统需要做好解析 master端 设置为mfsmaster 5.mfsmaster端无需配置,直接启动 master端三个端口正常启动,cgi web图形端口已经打开 6.在客户端做好解析,网页访问 四.server2和server3配置chunk 1.server2安装chunk 安装包依赖 2.server2配置解析 3.配置共享点chunk1 权限限制,在启动chunk server前,需确保用户mfs有权限读写将要被挂载的分区 4.启动chunk 查看数据 4.server3上的chunk配置和server2一样,共享点为chunk2 五.客户端连接 1.安装mfs 客户端软件,配置解析 2.创建挂载点并挂载mfsmount 3.在/mnt/mfs创建两个目录,并设置其文件存储份数 将目录dir1的储存份数设置为1 4.测试 拷贝passwd文件,查看信息: dir1一份 在server2上 dir2二份在server2和server3上 浏览器查看server2和server3 注:关闭一个chunkserver2(172.25.50.2)后,dir1无法查看,因为只存了一份在sevrer2上,但dir2没有影响,因为存了2份,chunkserver2重新启动后,恢复正常。 5.恢复垃圾箱文件: 误删: [root@foundtion50 mfs]# rm -fr /mnt/mfs/dir2/passwd [root@foundtion50mfs]# mfsgettrashtime dir2#查看垃圾箱中文件的保留时间 dir2: 86400##86400s=1day [root@foundtion50mfs]# mkdir /mnt/mfsdeta#创建目录 [root@foundtion50~]# ll -d /mnt/mfsdeta/ drwxr-xr-x 2 root root 4096 Sep 19 18:40 /mnt/mfsdeta/ [root@foundtion50~]# mfsmount -m /mnt/mfsdeta/#挂载 mfsmaster accepted connection with parameters: read-write,restricted_ip [root@foundtion50~]# cd /mnt/mfsdeta/ [root@foundtion50mfsdeta]# ls sustained trash [root@foundtion50mfsdeta]# cd trash/ [root@foundtion50trash]# find -type f ./004/00000004|dir2|passwd [root@foundtion50trash]# mv ./004/00000004\|dir2\|fstab undel/#恢复误删文件 [root@foundtion50trash]# ls /mnt/mfs/dir2/ passwd 本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1975415,如需转载请自行联系原作者

优秀的个人博客,低调大师

笔记:Linux下中小型网站常见的高负载高可用架构

先谈负载层: 一、F5等商业方案 F5为负载均衡器,具有链接高可用性,为商业设备。 二、LVS+Keeplived LVS为负载均衡器,Keeplived支持高可用。都为开源软件。 三、Nginx+Keeplived Nginx为负载均衡器,Keeplived支持高可用。都为开湖软件。其中Nginx针对多核CPU做了优化。 四、DNS轮循和视图 相比较前者DNS轮循缺少节点健康检查和自动剔除的功能。 再说说文件服务器层 一、专有存储设备的负载和高可用 商业设备,性价比不高,稳定性好。适合资金充裕的情况下使用。 二、Drbd+Heartbeat/Corosync+NFS 建议使用Corosync替代Heartbeat做心跳检测,使用Pacemaker来自动化管理集群。Drbd为存储层,相当于网络级别的软件Raid 1,Drbd也支持多主,即负载方式。 三、MooseFS分布式文件系统 性能不错。 四、Hadoop项目 更多的是使用它的分布计算功能。 本文转自xiaoyuwang 51CTO博客,原文链接:http://blog.51cto.com/wangxiaoyu/531161,如需转载请自行联系原作者

优秀的个人博客,低调大师

linux中生成考核用的NTFS文件系统结构样例(一)

实验NTFS-1说明:NTFS-1.img是一个包含NTFS文件系统的磁盘镜像,请使用winhex手工方式读出这个文件系统内的指定文件,并回答其md5 HASH值。 要求: 1、利用WINHEX手工方式读取。 2、不得使用WINHEX模板功能。 3、不得使用WINHEX文件系统解析功能。 4、填写的MD5 HASH值全部为大写,不包括0x头标或H尾标,中间不得有任何间隔符号(包括空格、制表符、’-’等符号),以WINHEX软件运算出的HASH值为准。 实验目的: 1、实现手工方式跟踪一个NTFS文件系统,并读出指定的某个文件。 2、理解目录缓冲区的结构原理。 3、理解文件有多个碎片的处理方式(runlist的结构)。 4、理解DBR、$MFT、FileRecord等文件系统组件。 5、熟练使用WINHEX 题库: 实验NTFS-1中,文件系统中对"/mnt/NTFS-1-58/12.txt",人工读取内容后计算得到的文件MD5HASH值为0x___。////927C94BBFC5B2A545C8526F8272F65F8//容易。。 实验NTFS-1中,文件系统中对"/mnt/NTFS-1-58/7.txt",人工读取内容后计算得到的文件MD5HASH值为0x___。////685A3C1600211F75362F2B9D0541A2DA//容易。。 实验NTFS-1中,文件系统中对"/mnt/NTFS-1-58/4.txt",人工读取内容后计算得到的文件MD5HASH值为0x___。////0C72D420DD8902BBAE41A8C4E6676BCA//容易。。 ...... 附:生成考题的python脚本: #!/usr/bin/python3 importos importrandom importhashlib importstruct r=os.system rc=random.choice ri=random.randint md5=hashlib.md5 items=list(range(1,21)) r("cd~/NTFS-1") fkaoti=open("NTFS-1-kaoti.txt",'w+') r("qemu-imgcreate-frawNTFS-1.img500M") r("losetup/dev/loop0NTFS-1.img") r("mkfs.ntfs-f/dev/loop0") r("mount.ntfs-3g/dev/loop0/mnt") foriinrange(1,60): r("mkdir/mnt/NTFS-1-%d"%i) random.shuffle(items) foriiinitems: f=open("/mnt/NTFS-1-%d/%d.txt"%(i,ii),'w+') foriiiinrange(1,ri(500,550)): ifri(1,32)==1: f.write("*****COPYRIGHT:") else: f.write("www.frombyte.com") f.close() foriinrange(1,60): random.shuffle(items) foriiinitems: f=open("/mnt/NTFS-1-%d/%d.txt"%(i,ii),'a') foriiiinrange(1,ri(1000,1100)): ifri(1,32)==1: f.write("*****COPYRIGHT:") else: f.write("www.frombyte.com") f.close() #//对40以后的目录生成MD5HASH,40之后即不可能存在于第一个目录块 foriinrange(40,60): foriiinitems: fn="/mnt/NTFS-1-%d/%d.txt"%(i,ii) ff=open(fn,'r') data=ff.read() ff.close() fkaoti.write("实验NTFS-1中,文件系统中对\"%s\",人工读取内容后计算得到的文件MD5HASH值为0x___。//%s//容易。。\n"\ %(fn,md5(data.encode("utf8")).hexdigest().upper())) fkaoti.flush() fkaoti.close() r("cd") r("umount/dev/loop0") r("losetup-d/dev/loop0") 部署流程: 1、在liunx下执行上述脚本,生成NTFS-1.img和NTFS-1-kaoti.txt(可以生成两份,一份用于练习,一份用于考试)。 2、针对每一份考题,把NTFS-1-kaoti.txt导入考试系统。 3、针对每一份考题,把NTFS-1.img放入考试系统指定目录。 4、不得将用于考试的直接涉及答案的文件放入考试系统磁盘中。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册