当前位置:  编程技术>软件工程/软件设计
本页文章导读:
    ▪Xml读取和写入以及新建      有时候要用到Xml的读取和写入,甚至有时候需要新建一个Xml,但是好长时间不用这东西,都忘了,所以就写了一个类库,想用的时候直接拿过来用就OK了 下面是代码 using System; using System.Collect.........
    ▪linux常用指令      1. finger:查询用户信息,也能查看默认的用户环境。 2. ftp:标准的文件传输协议的用户接口,是在网络上传输文件最简单有效的方法。 3. host:用于DNS查询。 4. hostname:用于显示或设置系统的.........
    ▪solrcloud,tomcat,外部zookeeper配置详解      之前由于在项目中使用的solr3.6,服务器总是莫名其妙的挂掉,各种解决未果,于是尝试换到solr4,想试试solrcloud和zookeeper集群看看效果怎么样,实际效果比3.6稳定很多,下面说一下项目中我们.........

[1]Xml读取和写入以及新建
    来源: 互联网  发布时间: 2013-11-19

有时候要用到Xml的读取和写入,甚至有时候需要新建一个Xml,但是好长时间不用这东西,都忘了,所以就写了一个类库,想用的时候直接拿过来用就OK了

下面是代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;

namespace Xmlleiku
{
    public class Xmllei
    {
        public static string xmlpath = string.Empty;
        /// <summary>
        /// 初始化xml的物理地址
        /// </summary>
        /// <param name="path">物理地址</param>
        public Xmllei(string path)
        {
            xmlpath = path;
        }
        /// <summary>
        /// 读取xml中的内容
        /// </summary>
        /// <param name="element">节点的名字</param>
        public Dictionary<int, string[]> Reader(string element)
        {
            XmlDocument xodc = new XmlDocument();
            xodc.Load(xmlpath);
            XmlNodeList lis = xodc.GetElementsByTagName(element);
            Dictionary<int, string[]> dic = new Dictionary<int, string[]>();
            int j = 0;
            foreach (XmlNode item in lis)
            {
                string[] a = new string[item.ChildNodes.Count];
                for (int i = 0; i < item.ChildNodes.Count; i++)
                {
                    a[i] = item.ChildNodes.Item(i).InnerText;
                }
                dic.Add(j++, a);
            }
            return dic;
        }
        /// <summary>
        /// 写入已有的Xml文档
        /// </summary>
        /// <param name="element">对应的标签组</param>
        /// <param name="meirong">与标签对应的内容</param>
        /// <returns></returns>
        public int Write(string[] element, List<string[]> meirong)
        {
            int j=0;
            try
            {
                XmlDocument xodc = new XmlDocument();
                xodc.Load(xmlpath);
                foreach (string[] item1 in meirong)
                {
                    int i = 1;
                    XmlElement a = xodc.CreateElement(element[0]);
                    foreach (string item2 in item1)
                    {
                        XmlElement b = xodc.CreateElement(element[i++]);
                        b.AppendChild(xodc.CreateTextNode(item2));
                        a.AppendChild(b);
                    }
                    j++;
                    xodc.DocumentElement.AppendChild(a);
                    xodc.Save(xmlpath);
                }
                return j;
            }
            catch
            {
                return 0;
            }
        }
        /// <summary>
        /// 创建一个新的Xml文档
        /// </summary>
        /// <param name="element">包含Xml文档的根目录的标签组</param>
        /// <param name="meirong">内容数组</param>
        /// <returns></returns>
        public int Create(string[] element,List<string[]> meirong)
        {
            int j = 0;
            XmlWriterSettings sttingsw = new XmlWriterSettings();
            sttingsw.Encoding = System.Text.Encoding.UTF8;
            sttingsw.Indent = true;
            using (XmlWriter writer = XmlWriter.Create(xmlpath))
            {
                writer.WriteStartDocument();
                writer.WriteStartElement(element[0]);
                foreach (string[] item1 in meirong)
                {
                    
                    int i = 2;
                    writer.WriteStartElement(element[1]);
                    foreach (string item2 in item1)
                    {
                        writer.WriteStartElement(element[i++]);
                        writer.WriteString(item2);
                        writer.WriteEndElement();
                    }
                    writer.WriteEndElement();
                    j++;
                }
                writer.WriteEndElement();
                writer.WriteEndDocument();
            }
            return j;
        }
    }
}


作者:anxin591025 发表于2013-5-10 9:58:30 原文链接
阅读:67 评论:0 查看评论

    
[2]linux常用指令
    来源: 互联网  发布时间: 2013-11-19

1. finger:查询用户信息,也能查看默认的用户环境。
2. ftp:标准的文件传输协议的用户接口,是在网络上传输文件最简单有效的方法。
3. host:用于DNS查询。
4. hostname:用于显示或设置系统的主机名。
5. ifconfig:用于配置网卡接口。(可以使用down或up参数来禁用或启用某个网卡接口)
6. mail:发送和接收邮件。
7. netstat:显示网络连接、路由表和网络接口信息,用户可以知道目前那些网络连接正在运行。
8. ping:此命令用于测试本计算机和网络上其它的计算机是否相连。
9. rlogin:远程登陆命令,该命令与telnet命令很相似,允许用户启动远程系统的交互会话。
10. rcp:rcp(remote file copy)命令是远程文件复制命令,该命令用于在计算机之间复制文件,有两中格式,一种格式用于文件动文件的复制,另一种用于把文件或目录复制到其他文件目录中。
11. route:此命令用于显示或设置IP路由表。
12. tcpdump:此命令用于测试网络的通信量。
13. talk:此命令可用于事项网络用户的适时交谈,但是必须将双方系统的信息加入各自的/etc/hosts文件中,以相互识别。
14. telnet:此命令用于通过网络登陆远程计算机,如同操作本地计算机一样。
15. wall:wall(write all)命令可以用于发送消息给登陆本机的用户。在发送消息时,可直接输入要发送的消息,也可以把文件当成消息发送。
16. wget:此命令用于Linux环境下从Internet上下载文件,支持http和ftp协议,支持代理服务器和断点连续传功能,能够递归远程主机上的目录,查找合乎要求的的文件并下载到本地硬盘上。Wget命令可以在后台运行,截获并忽略hantfup信号,因此用户退出登陆后,仍可继续运行。
17. &,bg:&,bg命令是后台执行命令,有时候用户执行的程序可能要话很多时间,如果放在前台执行,可能无法继续其他操作,最好将他放在后台执行。
18. fg:fg命令是前台执行命令,如果用户有程序在后台运行,可以通过fg命令将程序从后台移到前台执行。
19. jobs:此命令用于显示正在后台执行的任务清单。Bg,fg,jobs命令都属于bash命令,
20. kill:此命令用于终止一个程序,例如:#[root@rathat9 root]kill 3793
21. ps:此命令用于显示程序的状态。
22. top:此命令用于显示当前CPU进程。
23. at batch atp atrm:这些命令用于排序,检查或删除后台运行的任务。

 

 

待续。。。。

作者:u010064842 发表于2013-5-10 13:43:32 原文链接
阅读:45 评论:0 查看评论

    
[3]solrcloud,tomcat,外部zookeeper配置详解
    来源: 互联网  发布时间: 2013-11-19

之前由于在项目中使用的solr3.6,服务器总是莫名其妙的挂掉,各种解决未果,于是尝试换到solr4,想试试solrcloud和zookeeper集群看看效果怎么样,实际效果比3.6稳定很多,下面说一下项目中我们的具体现在一个测试的配置。 我们配置3台zookper服务器和3台solr服务器,由于没有多台机器测试,zookeeper的集群都在一台服务器上,tomcat部署在3台服务器上。

zookeeper是什么
ZooKeeper 顾名思义 动物园管理员,他是拿来管大象(Hadoop) 、 蜜蜂(Hive) 、 小猪(Pig)  的管理员, Apache Hbase和 Apache Solr 以及LinkedIn sensei  等项目中都采用到了 Zookeeper。ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,ZooKeeper是以Fast Paxos算法为基础,实现同步服务,配置维护和命名服务等分布式应用。
zookeeper安装及配置 zookeeper下载
http://www.apache.org/dyn/closer.cgi/zookeeper/
zookeeper配置
(1)解压为zookeeper
tar -xf -C /home/myuser/zookeeper/
复制zookeeper文件夹3份,分别重名名为zookeeperA,zookeeperB,zookeeperC。
并且创建数据快照以及日志存放文件夹,命名为zooA,zooB,zooC。
(2)编辑对应的zookeeper配置文件,复制zookeeperconf下zoo_sample.cfg为zoo.cfg
cd /home/myuser/zookeeperA/conf
cp zoo_sample.cfg zoo.cfg   
(3)修改zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/home/myuser/zooA/data
# the port at which the clients will connect
clientPort=2181
# ZooKeeper server and its port no. # ZooKeeper ensemble should know about every other machine in the ensemble # specify server id by creating 'myid' file in the dataDir # use hostname instead of IP address for convenient maintenance 
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2988:3988 
server.3=127.0.0.1:2088:3088
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
dataLogDir=/home/myuser/zooA/log
tickTime:心跳时间,为了确保连接存在的,以毫秒为单位,最小超时时间为两个心跳时间
initLimit:多少个心跳时间内,允许其他server连接并初始化数据,如果ZooKeeper管理的数据较大,则应相应增大这个值
clientPort:服务的监听端口
dataDir:用于存放内存数据库快照的文件夹,同时用于集群的myid文件也存在这个文件夹里(注意:一个配置文件只能包含一个dataDir字样,即使它被注释掉了。)
dataLogDir:用于单独设置transaction log的目录,transaction log分离可以避免和普通log还有快照的竞争
syncLimit:多少个tickTime内,允许follower同步,如果follower落后太多,则会被丢弃。
(4)创建myid文件
cd /home/myuser/zooA/data
sudo sh -c 'echo "1" >> myid'  
其他文件夹类似创建myid文件,zookeeperB为2,zookeeperC为3
(5)启动zookeeper
cd /home/myuser/zookeeperA/bin
sudo sh  zkServer.sh start
查看zookeeper状态
[root@weibo bin]# sh zkServer.sh status
JMX enabled by default
Using config: /home/weibo/zookeeperA/bin/../conf/zoo.cfg
Mode: follower
启动OK,依次启动另外两台zookeeper,启动第一台zookeeper后,你可以观察bin下的zookeeper.out可以看到报错,connection refused,没有关系,zookeeper需要等待其他另个节点的加入,全部启动之后就正常了。
(6)客户端连接zookeeper
[root@weibo bin]# sh zkCli.sh 
Connecting to localhost:2181
2013-05-10 15:00:25,363 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.5-1392090, built on 09/30/2012 17:52 GMT
2013-05-10 15:00:25,369 [myid:] - INFO  [main:Environment@100] - Client environment:host.name=localhost
2013-05-10 15:00:25,370 [myid:] - INFO  [main:Environment@100] - Client environment:java.version=1.6.0_33
2013-05-10 15:00:25,371 [myid:] - INFO  [main:Environment@100] - Client environment:java.vendor=Sun Microsystems Inc.
2013-05-10 15:00:25,372 [myid:] - INFO  [main:Environment@100] - Client environment:java.home=/home/weibo/jdk1.6.0_33/jre
2013-05-10 15:00:25,373 [myid:] - INFO  [main:Environment@100] - Client environment:java.class.path=/home/weibo/zookeeperA/bin/../build/classes:/home/weibo/zookeeperA/bin/../build/lib/*.jar:/home/weibo/zookeeperA/bin/../lib/slf4j-log4j12-1.6.1.jar:/home/weibo/zookeeperA/bin/../lib/slf4j-api-1.6.1.jar:/home/weibo/zookeeperA/bin/../lib/netty-3.2.2.Final.jar:/home/weibo/zookeeperA/bin/../lib/log4j-1.2.15.jar:/home/weibo/zookeeperA/bin/../lib/jline-0.9.94.jar:/home/weibo/zookeeperA/bin/../zookeeper-3.4.5.jar:/home/weibo/zookeeperA/bin/../src/java/lib/*.jar:/home/weibo/zookeeperA/bin/../conf:/home/weibo/jdk1.6.0_33/lib:.
2013-05-10 15:00:25,373 [myid:] - INFO  [main:Environment@100] - Client environment:java.library.path=/home/weibo/jdk1.6.0_33/jre/lib/amd64/server:/home/weibo/jdk1.6.0_33/jre/lib/amd64:/home/weibo/jdk1.6.0_33/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2013-05-10 15:00:25,374 [myid:] - INFO  [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
2013-05-10 15:00:25,375 [myid:] - INFO  [main:Environment@100] - Client environment:java.compiler=<NA>
2013-05-10 15:00:25,375 [myid:] - INFO  [main:Environment@100] - Client environment:os.name=Linux
2013-05-10 15:00:25,376 [myid:] - INFO  [main:Environment@100] - Client environment:os.arch=amd64
2013-05-10 15:00:25,377 [myid:] - INFO  [main:Environment@100] - Client environment:os.version=2.6.32-279.5.2.el6.x86_64
2013-05-10 15:00:25,377 [myid:] - INFO  [main:Environment@100] - Client environment:user.name=root
2013-05-10 15:00:25,378 [myid:] - INFO  [main:Environment@100] - Client environment:user.home=/root
2013-05-10 15:00:25,379 [myid:] - INFO  [main:Environment@100] - Client environment:user.dir=/home/weibo/zookeeperA/bin
2013-05-10 15:00:25,382 [myid:] - INFO  [main:ZooKeeper@438] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@9d04653
Welcome to ZooKeeper!
2013-05-10 15:00:25,604 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@966] - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (无法定位登录配置)
JLine support is enabled
2013-05-10 15:00:25,649 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@849] - Socket connection established to localhost/127.0.0.1:2181, initiating session
2013-05-10 15:00:25,842 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1207] - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x13e7e067764005d, negotiated timeout = 30000

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0] ls /
[configs, zookeeper, clusterstate.json, aliases.json, live_nodes, overseer, overseer_elect, collections]
[zk: localhost:2181(CONNECTED) 1] 
configs:保存
    
最新技术文章:
▪主-主数据库系统架构    ▪java.lang.UnsupportedClassVersionError: Bad version number i...    ▪eclipse项目出现红色叉叉解决方案
▪Play!framework 项目部署到Tomcat    ▪dedecms如何做中英文网站?    ▪Spring Batch Framework– introduction chapter(上)
▪第三章 AOP 基于@AspectJ的AOP    ▪基于插件的服务集成方式    ▪Online Coding开发模式 (通过在线配置实现一个表...
▪观察者模式(Observer)    ▪工厂模式 - 程序实现(java)    ▪几种web并行化编程实现
▪机器学习理论与实战(二)决策树    ▪Hibernate(四)——全面解析一对多关联映射    ▪我所理解的设计模式(C++实现)——解释器模...
▪利用规则引擎打造轻量级的面向服务编程模式...    ▪google blink的设计计划: Out-of-Progress iframes    ▪FS SIP呼叫的消息线程和状态机线程
▪XML FREESWITCH APPLICATION 实现    ▪Drupal 实战    ▪Blink: Chromium的新渲染引擎
▪(十四)桥接模式详解(都市异能版)    ▪你不知道的Eclipse用法:使用Allocation tracker跟...    ▪Linux内核-进程
▪你不知道的Eclipse用法:使用Metrics 测量复杂度    ▪IT行业为什么没有进度    ▪Exchange Server 2010/2013三种不同的故障转移
▪第二章 IoC Spring自动扫描和管理Bean    ▪CMMI简介    ▪目标检测(Object Detection)原理与实现(六)
▪值班总结(1)——探讨sql语句的执行机制    ▪第二章 IoC Annotation注入    ▪CentOS 6.4下安装Vagrant
▪Java NIO框架Netty1简单发送接受    ▪漫画研发之八:会吃的孩子有奶吃    ▪比较ASP和ASP.NET
▪SPRING中的CONTEXTLOADERLISTENER    ▪在Nginx下对网站进行密码保护    ▪Hibernate从入门到精通(五)一对一单向关联映...
▪OSGi:生命周期层    ▪Javascript/Jquery——简单定时器    ▪java代码 发送GET、POST请求 iis7站长之家
▪工作流--JBPM简介及开发环境搭建    ▪工作流--JBPM核心服务及表结构    ▪Eclipse:使用JDepend 进行依赖项检查
▪windows下用putty上传文件到远程Linux方法    ▪iBatis和Hibernate的5点区别    ▪基于学习的Indexing算法
▪设计模式11---设计模式之中介者模式(Mediator...    ▪带你走进EJB--JMS编程模型    ▪从抽象谈起(二):观察者模式与回调
▪设计模式09---设计模式之生成器模式(Builder)也...    ▪svn_resin_持续优化中    ▪Bitmap recycle方法与制作Bitmap的内存缓存
▪Hibernate从入门到精通(四)基本映射    ▪设计模式10---设计模式之原型模式(Prototype)    ▪Dreamer 3.0 支持json、xml、文件上传
▪Eclipse:使用PMD预先检测错误    ▪Jspx.net Framework 5.1 发布    ▪从抽象谈起(一):工厂模式与策略模式
▪Eclipse:使用CheckStyle实施编码标准    ▪【论文阅读】《Chain Replication for Supporting High T...    ▪Struts2 Path_路径问题
▪spring 配置文件详解    ▪Struts2第一个工程helloStruts极其基本配置    ▪Python学习入门基础教程(learning Python)--2 Python简...
▪maven springmvc环境配置    ▪基于SCRUM的金融软件开发项目    ▪software quality assurance 常见问题收录
▪Redis集群明细文档    ▪Dreamer 框架 比Struts2 更加灵活    ▪Maven POM入门
▪git 分支篇-----不断更新中    ▪Oracle非主键自增长    ▪php设计模式——UML类图
▪Matlab,Visio等生成的图片的字体嵌入问题解决...    ▪用Darwin和live555实现的直播框架    ▪学习ORM框架—hibernate(二):由hibernate接口谈...
▪(十)装饰器模式详解(与IO不解的情缘)    ▪无锁编程:最简单例子    ▪【虚拟化实战】网络设计之四Teaming
▪OSGi:生命周期层    ▪Javascript/Jquery——简单定时器    ▪java代码 发送GET、POST请求
▪Entity Framework底层操作封装(3)    ▪HttpClient 发送GET、POST请求    ▪使用spring框架,应用启动时,加载数据
▪Linux下Apache网站目录读写权限的设置    ▪单键模式的C++描述    ▪学习ORM框架—hibernate(一):初识hibernate
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3