paulwong

#

HBase、Redis中关于“长事务”(Long Transaction)的一点讨论

首先解释下标题,可能命名不是那么严谨吧,大致的定义如下:

sometimes you are in a situation where you want to read a record, check what is in it, and depending on that update the record. The problem is that between the time you read a row and perform the update, someone else might have updated the row, so your update might be based on outdated information.

摘要一下:进程A读取了某行R,进行时间较长的计算操作,在这个计算过程中B对行R进行了更改。A计算完毕后,若直接写入,会覆盖B的修改结果。此时应令A写入失败。

以下的讨论整理自下述两个页面,表示感谢!

http://www.ngdata.com/hbase-row-locks/

http://redis.io/topics/transactions

一个最简单、直接的思路是:Transaction + Row Lock。类似于传统DBMS的思路:首先开启行锁,新建一个Transaction,随后进行各种操作,最后commit,最最后解除行锁。看似很简单,也没什么Bug,但注意,若计算时间较长,整个DB就挂起了,不能执行任何操作。

BigTable的Paper中,对这类问题进行了讨论。

总体来说解决思路有三:

1、Rowlock,但是对于HBase来说,RegionLock更成熟。因为RowLock会长时间(从Transction开始到更新)占用一个线程。当并发量很大的时候,系统会挂掉。。。

2、ICV即HBase的incrementColumnValue()方法。

3、CAS即HBase的checkAndPut方法:在Put之前,先检查某个cell的值是否和value一样,一样再Put。注意,这里检查条件的Cell和要Put的Cell可以是不同的column,甚至是不同的row。。。

综上在HBASE中,使用上述CAS方法是较好的解决方案。

上面说了HBase,再来看一个轻量级的Redis:

Redis也支持事务,具体见:http://redis.io/topics/transactions

通过MULTI开始一个事务,EXEC执行一个事务。在两者之间可以“执行”多个命令,但并未被实际执行,而是被Queue起来,直到EXEC再一起执行。Redis保证:在一个事务EXEC的过程中,不会处理其他任何Client的请求(会被挂起)。注意这里是EXEC锁,而不是整个MULTI锁。所以并发性能还是有保障的。

为了支持Paper中CAS方案,Redis提供了WATCH命令:

So what is WATCH really about? It is a command that will make the EXEC conditional: we are asking Redis to perform the transaction only if no other client modified any of the WATCHed keys. Otherwise the transaction is not entered at all.

已经很显然了,更多具体的,读上述网页的文档吧。

posted @ 2013-08-24 22:39 paulwong 阅读(398) | 评论 (0)编辑 收藏

zookeeper client使用笔记

Zookeeper数据模型

  1. zk具有像文件系统一样的层状的命名空间。
  2. 命名空间中的每一个节点都可存储数据。
  3. 只有绝对路径,名字都是unicode字符。
  4. 每个节点都是ZNode类型(如同文件系统的stat)。
  5. 每个ZNode上可以设置Watch,znode改变会通知设置的watch的客户端,同时清除Watch
  6. 每次对znode的读写都是原子的,每次读写都是带要操作znode版本号的。
  7. 尽量保证单个znode在1MB一下。通常几K。
  8. 临时节点的概念:只存在于一个Session的有效期内的节点。临时节点不允许有子节点。
  9. 使用zxid来标示zk中的每个事件(导致zk状态改变的事件)。全局唯一。
  10. 对每个znode的改变触发当前znode versions的改变。每个znode维护三个version(version:对应每次znode data改变,cversion:对应每次子节点改变,aversion:对应每次acl改变)

Zookeeper状态转换

  1. session timeout时间至少是ticket time(默认是2000ms)的2倍,同时最大不能超过20倍ticket time
  2. 一旦session 过期,不必手动重新连接。zk client会处理重连。
  3. Session的过期与否是由server端决定的。在timeout时间之内,server没有收到来自
    client的任何信息(心跳)时,则判定client session过期。同时会删掉属于这个session的临时节点(znode),同时通知watch这个节点的client。
  4. 一旦session过期的client重新连接上zk cluster,将会受到“session expired”通知。
  5. 在建立zk连接时,会设置一个默认的watcher,当client状态改变的时候,这个watcher会被调用。一般将这个watcher的初始状态设为disconnect。这样就可以处理后续的session 过期事件。

Zookeeper Watch

  1. 每一次的读操作(getData(), getChildren(), exists())都可以对操作的节点设置watcher。
  2. watch是一次性的。一旦数据改变或是删除,则触发watcher,后续的改变则不会再触发。
  3. 因为watch是异步发送的,所以有可能在节点操作返回码返回之前先返回给client。zk只能保证client收到的watch事件是在他设置watch事件返回成功后收到。
  4. watch的两种类型:data watch(由getData() 和 exists()设置),返回znode data 和 child watch(由getChildren()设置), 返回children list。
  5. 导致watch事件丢失的一种情况:“ a watch for the existance of a znode not yet created will be missed if the znode is created and deleted while disconnected.

posted @ 2013-08-23 10:47 paulwong 阅读(706) | 评论 (0)编辑 收藏

大数据平台架构设计资源

!!!基于Hadoop的大数据平台实施记——整体架构设计
http://blog.csdn.net/jacktan/article/details/9200979







posted @ 2013-08-18 18:27 paulwong 阅读(756) | 评论 (0)编辑 收藏

How to install Hadoop cluster(2 node cluster) and Hbase on Vmware Workstation. It also includes installing Pig and Hive in the appendix

By Tzu-Cheng Chuang 1-28-2011


Requires: Ubuntu10.04, hadoop0.20.2, zookeeper 3.3.2 HBase0.90.0
1. Download Ubuntu 10.04 desktop 32 bit from Ubuntu website.

2. Install Ubuntu 10.04 with username: hadoop, password: password,  disk size: 20GB, memory: 2048MB, 1 processor, 2 cores

3. Install build-essential (for GNU C, C++ compiler)    $ sudo apt-get install build-essential

4. Install sun-jave-6-jdk
    (1) Add the Canonical Partner Repository to your apt repositories
    $ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
     (2) Update the source list
    $ sudo apt-get update
     (3) Install sun-java-6-jdk and make sure Sun’s java is the default jvm
    $ sudo apt-get install sun-java6-jdk
     (4) Set environment variable by modifying ~/.bashrc file, put the following two lines in the end of the file
    export JAVA_HOME=/usr/lib/jvm/java-6-sun
    export PATH=$PATH:$JAVA_HOME/bin 

5. Configure SSH server so that ssh to localhost doesn’t need a passphrase
    (1) Install openssh server
    $ sudo apt-get install openssh-server
     (2) Generate RSA pair key
    $ ssh-keygen –t ras –P ""
     (3) Enable SSH access to local machine
    $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

6. Disable IPv6 by      modifying  /etc/sysctl.conf file, put the following two lines in the end of the file
#disable
ipv6 net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

7. Install hadoop
    (1) Download hadoop-0.20.2.tar.gz(stable release on 1/25/2011)  from Apache hadoop website   
    (2) Extract hadoop archive file to /usr/local/   
    (3) Make symbolic link   
    (4) Modify /usr/local/hadoop/conf/hadoop-env.sh   
Change from # The java implementation to use. Required. # export JAVA_HOME=/usr/lib/j2sdk1.5-sun To # The java implementation to use. Required. export JAVA_HOME=/usr/lib/jvm/java-6-sun
     (5)Create /usr/local/hadoop-datastore folder   
$ sudo mkdir /usr/local/hadoop-datastore
$ sudo chown hadoop:hadoop /usr/local/hadoop-datastore
$ sudo chmod 750 /usr/local/hadoop-datastore
     (6)Put the following code in /usr/local/hadoop/conf/core-site.xml   
hadoop.tmp.dir/usr/local/hadoop/tmp/dir/hadoop-${user.name}A base for other temporary directories.fs.default.namehdfs://master:54310The name of the default file system. A URI whose scheme and authority determine the FileSystem implementation. The uri's scheme determines the config property (fs.SCHEME.impl) naming the FileSystem implementation class. The uri's authority is used to determine the host, port, etc. for a filesystem.
    (7) Put the following code in /usr/local/hadoop/conf/mapred-site.xml   
mapred.job.trackermaster:54311The host and port that the MapReduce job tracker runs at. If "local", then jobs are run in-process as a single map and reduce task.
     (8) Put the following code in /usr/local/hadoop/conf/hdfs-site.xml   
dfs.replication1Default block replication. The actual number of replications can be specified when the file is created. The default is used if replication is not specified in create time.
     (9) Add hadoop to environment variable by modifying ~/.bashrc   
export HADOOP_HOME=/usr/local/hadoop export PATH=$HADOOP_HOME/bin:$PATH

8. Restart Ubuntu Linux

9. Copy this virtual machine to another folder. At least we have 2 copies of Ubuntu linux

10. Modify /etc/hosts on both Linux Virtual Image machines, add in the following lines in the file. The IP address depends on each machine. We can use (ifconfig) to find out IP address.
# /etc/hosts (for master AND slave) 192.168.0.1 master 192.168.0.2 slave     Modify the following line, because it might cause Hbase to find out wrong ip.   
192.168.0.1 ubuntu

11. Check hadoop user access on both machines.
The hadoop user on the master (aka hadoop@master) must be able to connect a) to its own user account on the master – i.e. ssh master in this context and not necessarily ssh localhost – and b) to the hadoop user account on the slave (aka hadoop@slave)  via a password-less SSH login. On both machines, make sure each one can connect to master, slave without typing passwords.

12. Cluster configuration
    (1) Modify /usr/local/hadoop/conf/masters
         only on master machine    master
     (2) Modify /usr/local/hadoop/conf/slaves
          only on master machine    master slave
     (3) Change “localhost” to “master” in /usr/local/conf/hadoop/conf/core-site.xml and /usr/local/hadoop/conf/mapred-site.xml
        only on master machine   
    (4) Change dfs.replication to “1” in /usr/local/conf/hadoop/conf/hdfs-site.xml
    only on master machine   

13. Format the namenode only once and only on master machine
$ /usr/local/hadoop/bin/hadoop namenode –format

14. Later on, start the multi-node cluster by typing following code only on master. So far, please don’t start hadoop yet.
$ /usr/local/hadoop/bin/start-dfs.sh $ /usr/local/hadoop/bin/start-mapred.sh

15. Install zookeeper only on master node
    (1) download zookeeper-3.3.2.tar.gz from Apache hadoop website   
    (2) Extract  zookeeper-3.3.2.tar.gz    $ tar –xzf zookeeper-3-3.2.tar.gz
     (3) Move folder zookeeper-3.3.2 to /home/hadoop/ and create a symbloink link
    $ mv zookeeper-3.3.2 /home/hadoop/ ; ln –s /home/hadoop/zookeeper-3.3.2 /home/hadoop/zookeeper
     (4) copy conf/zoo_sample.cfg to conf/zoo.cfg
    $ cp conf/zoo_sample.cfg confg/zoo.cfg
     (5) Modify conf/zoo.cfg    dataDir=/home/hadoop/zookeeper/snapshot

16. Install Hbase on both master and slave nodes, configure it as fully-distributed
    (1) Download hbase-0.90.0.tar.gz from Apache hadoop website   
    (2) Extract  hbase-0.90.0.tar.gz    $ tar –xzf hbase-0.90.0.tar.gz
     (3) Move folder hbase-0.90.0 to /home/hadoop/ and create a symbloink link    $ mv hbase-0.90.0 /home/hadoop/ ; ln –s /home/hadoop/hbase-0.90.0 /home/hadoop/hbase
     (4) Edit /home/hadoop/hbase/conf/hbase-site.xml, put the following in between and hbase.rootdirhdfs://master:54310/hbase The directory shared by region servers. Should be fully-qualified to include the filesystem to use. E.g: hdfs://NAMENODE_SERVER:PORT/HBASE_ROOTDIR hbase.cluster.distributedtrueThe mode the cluster will be in. Possible values are false: standalone and pseudo-distributed setups with managed Zookeeper true: fully-distributed with unmanaged Zookeeper Quorum (see hbase-env.sh) hbase.zookeeper.quorummasterComma separated list of servers in the ZooKeeper Quorum. If HBASE_MANAGES_ZK is set in hbase-env.sh this is the list of servers which we will start/stop ZooKeeper on.
     (5) modify environment variables in /home/hadoop/hbase/conf/hbase-env.sh
    export JAVA_HOME=/usr/lib/jvm/java-6-sun/
export HBASE_IDENT_STRING=$HOSTNAME
export HBASE_MANAGES_ZK=false
     (6)Overwrite /home/hadoop/hbase/conf/regionservers
  on both machines    master slave
     (7)copy /usr/local/hadoop-0.20.2/haoop-0.20.2-core.jar to /home/hadoop/hbase/lib/  on both machines.
      This is very important to fix version difference issue. Pay attention to its ownership and mode(755).   

17. Start zookeeper. It seems the zookeeper bundled with Hbase is not set up correctly.
$ /home/hadoop/zookeeper/bin/zkServer.sh start     (Optional)We can test if zookeeper is running correctly by  typing     $ /home/hadoop/zookeeper/bin/zkCli.sh –server 127.0.0.1:2181

18. Start hadoop cluster
$ /usr/local/hadoop/bin/start-dfs.sh $ /usr/local/hadoop/bin/start-mapred.sh

19. Start Hbase
$ /home/hadoop/hbase/bin/start-hbase.sh

20. Use Hbase shell
$ /home/hadoop/hbase/bin/hbase shell     Check if hbase is running smoothly
    Open your browser, and type in the following.
    http://localhost:60010   


21. Later on, stop the multi-node cluster by typing following code only on master
    (1) Stop Hbase    $ /home/hadoop/hbase/bin/stop-hbase.sh
     (2) Stop hadoop file system (HDFS)       
$ /usr/local/hadoop/bin/stop-mapred.sh
$ /usr/local/hadoop/bin/stop-dfs.sh
     (3) Stop zookeeper    
$ /home/hadoop/zookeeper/bin/zkServer.sh stop

Reference
http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/
http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/
http://wiki.apache.org/hadoop/Hbase/10Minutes
http://hbase.apache.org/book/quickstart.html
http://alans.se/blog/2010/hadoop-hbase-cygwin-windows-7-x64/

Author
Tzu-Cheng Chuang


Appendix- Install Pig and Hive
1. Install Pig 0.8.0 on this cluster
    (1) Download pig-0.8.0.tar.gz from Apache pig project website.  Then extract the file and move it to /home/hadoop/   
$ tar –xzf pig-0.8.0.tar.gz ; mv pig-0.8.0 /home/hadoop/
     (2) Make symbolink link under pig-0.8.0/conf/   
$ ln -s /usr/local/hadoop/conf/core-site.xml /home/hadoop/pig-0.8.0/conf/core-site.xml
$ ln -s /usr/local/hadoop/conf/mapred-site.xml /home/hadoop/pig-0.8.0/conf/mapred-site.xml
$ ln -s /usr/local/hadoop/conf/hdfs-site.xml /home/hadoop/pig-0.8.0/conf/hdfs-site.xml
     3) Start pig in map-reduce mode: $ /home/hadoop/pig-0.8.0/bin/pig
     (4) Exit pig from grunt>    quit

2. Install Hive on this cluster
    (1) Download hive-0.6.0.tar.gz from Apache hive project website, and then extract the file and move it to /home/hadoop/    $ tar –xzf hive-0.6.0.tar.gz ; mv hive-0.6.0 ~/
     (2) Modify java heap size in hive-0.6.0/bin/ext/execHiveCmd.sh  Change 4096 to 1024   
    (3) Create /tmp and /user/hive/warehouse and set them chmod g+w in HDFS before a table can be created in Hive    $ hadoop fs –mkdir /tmp $ hadoop fs –mkdir /user/hive/warehouse $ hadoop fs –chmod g+w /tmp $ hadoop fs –chmod g+w /user/hive/warehouse
     (4) start Hive     $ /home/hadoop/hive-0.6.0/bin/hive

     3. (Optional)Load data by using Hive
    Create a file /home/hadoop/customer.txt    1, Kevin 2, David 3, Brian 4, Jane 5, Alice     After hive shell is started, type in    > CREATE TABLE IF NOT EXISTS customer(id INT, name STRING) > ROW FORMAT delimited fields terminated by ',' > STORED AS TEXTFILE; >LOAD DATA INPATH '/home/hadoop/customer.txt' OVERWRITE INTO TABLE customer; >SELECT customer.id, customer.name from customer;

http://chuangtc.info/ParallelComputing/SetUpHadoopClusterOnVmwareWorkstation.htm

posted @ 2013-08-17 22:23 paulwong 阅读(1744) | 评论 (0)编辑 收藏

ubuntu查看占用某端口的程序

查看端口使用情况,使用netstat命令。
查看已经连接的服务端口(ESTABLISHED
 
netstat -a
 
查看所有的服务端口(LISTEN,ESTABLISHED)
 
netstat -ap



查看8080端口,则可以结合grep命令:

netstat -ap | grep 8080



如查看8888端口,则在终端中输入:

lsof -i:8888



若要停止使用这个端口的程序,使用kill +对应的pid即可

posted @ 2013-08-16 09:29 paulwong 阅读(1497) | 评论 (0)编辑 收藏

小议JPA

以前和数据库打交道的标准INTERFACE是JDBC,放SQL语句,执行,就可以有结果。随着近年ORM的兴起,以对象的方式存取数据库大行其道。于是产生了JPA。

也是一套INTERFACE,以ORM的方式提供,由厂商实现,如ECLIPSE LINK,HIBERNATE,OPENEJB等。

ENTITYMANAGERFACTORY:根据配置文件制造ENTITYMANAGER
ENTITYMANAGER:以ORM的方式提供操作数据库的功能
TRANSACTION:事务保证
PERSISTENCE.XML:链接数据库信息,事务类型,重定义JPA的实现厂商等的配置信息

在容器环境下使用:

如果事务是RESOURCE_LOCAL的方式,则合用端需干所有的事情,如构造ENTITYMANAGER,打开事务,关闭事务等。类似于BMT。
以下是在服务器环境中合用RESOURCE_LOCAL型的JPA

事先要在容器中添加数据源。

 persistence.xml
<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">

  <!-- Tutorial "unit" -->
  <persistence-unit name="Tutorial" transaction-type="RESOURCE_LOCAL">
    <non-jta-data-source>myNonJtaDataSource</non-jta-data-source>
    <class>org.superbiz.jpa.Account</class>
  </persistence-unit>

</persistence>


import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.PersistenceUnit;

public class MyEjbOrServlet  {

    @PersistenceUnit(unitName="Tutorial")
    private EntityManagerFactory factory;

    // Proper exception handling left out for simplicity
    public void ejbMethodOrServletServiceMethod() throws Exception {
        EntityManager entityManager = factory.createEntityManager();

        EntityTransaction entityTransaction = entityManager.getTransaction();

        entityTransaction.begin();

        Account account = entityManager.find(Account.class, 12345);

        account.setBalance(5000);

        entityTransaction.commit();
    }

    
}


以下是JTA方式的JPA,容器+EJB+JPA+JTA,容器会在EJB的方法调用前打开一个事务,在方法退出后,提交事务,并且如果是多个数据源的,即有多个ENTITYMANAGER的
可以保证一致性,即全局事务。相当于之前的先调用USERTRANSACTION,BEGIN,COMMIT。

事先要在容器中添加数据源。

 persistence.xml
<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">

  <!-- Tutorial "unit" -->
  <persistence-unit name="Tutorial" transaction-type="JTA">
    <jta-data-source>myJtaDataSource</jta-data-source>
    <non-jta-data-source>myNonJtaDataSource</non-jta-data-source>
    <class>org.superbiz.jpa.Account</class>
  </persistence-unit>

</persistence>


EJB
import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

@Stateless
public class MyEjb implements MyEjbInterface {

    @PersistenceContext(unitName = "Tutorial")
    private EntityManager entityManager;

    // Proper exception handling left out for simplicity
    @TransactionAttribute(TransactionAttributeType.REQUIRED)
    public void ejbMethod() throws Exception {

    Account account = entityManager.find(Account.class, 12345);

    account.setBalance(5000);

    }
}


如果是J2SE环境下使用JPA,则又是不一样的。


persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
    <persistence-unit name="SimplePU" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <class>com.someone.jmail.valueobject.CallActivity</class>
        <class>com.someone.jmail.valueobject.Email</class>
        <properties>
            <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
            <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/test" />
            <property name="hibernate.connection.username" value="root" />
            <property name="hibernate.connection.password" value="12345" />
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />
            <property name="hibernate.show_sql" value="false"/>
            <property name="hibernate.format_sql" value="true"/>
            <property name="hibernate.use_sql_comments" value="false"/>
            <property name="hibernate.hbm2ddl.auto" value="none"/>
        </properties>
    </persistence-unit>
    
</persistence>


Dao:

public class UserDaoImpl implements UserDao { 
 public AccountInfo save(AccountInfo accountInfo) { 
 EntityManagerFactory emf = 
 Persistence.createEntityManagerFactory("SimplePU"); 
 EntityManager em = emf.createEntityManager(); 
 em.getTransaction().begin(); 
 em.persist(accountInfo); 
 em.getTransaction().commit(); 
 emf.close(); 
 return accountInfo; 
    } 
 } 


posted @ 2013-08-14 18:17 paulwong 阅读(603) | 评论 (0)编辑 收藏

HBASE界面工具

hbaseexplorer
下载此0.6的WAR包时,要将lib下的jasper-runtime-5.5.23.jar和jasper-compiler-5.5.23.jar删掉,否则会报错
http://sourceforge.net/projects/hbaseexplorer/?source=dlp

HBaseXplorer
https://github.com/bit-ware/HBaseXplorer/downloads

HBase Manager
http://sourceforge.net/projects/hbasemanagergui/

posted @ 2013-08-14 09:51 paulwong 阅读(1143) | 评论 (0)编辑 收藏

在 Ubuntu 安裝 java Jdk

在 Ubuntu 安裝 java Jdk 很容易

Install-Oracle-Java-7-in-Ubuntu-via-PPA-Repository

安裝 java 很容易 ! (支援 Ubuntu 12.04, 11.10, 11.04 and 10.04)

說在前頭 :
0. 安裝 oracle java jdk (目前是 7u5 版)
0-1. 包含 jdk jre 及 瀏覽器插件 (不能只安裝 jre 或 瀏覽器插件)
0-2. 自動 辨識 64 bits 或 32 bits
0-2. 安裝後 會自動從 ppa:webupd8team/java 套件庫 更新 已安裝套件
0-3. 以後有新版本 這個方法 自動會直接安裝新版本(例如如果有 7u6 版)

1. 安裝指令
   apt-get install software-properties-common
1-1. sudo add-apt-repository ppa:webupd8team/java
 
1-2. sudo apt-get update
 
1-3. sudo apt-get install oracle-java7-installer(6就用这个:oracle-java6-installer)


2. 看看是否安裝成功
java -version

目前最新版本
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)

2-1. 如果上面的指令 得到的版本 不是剛剛安裝的版本
sudo update-java-alternatives -s java-7-oracle

再試一次
java -version

3. 移除 Oracle Java 7
sudo apt-get remove oracle-java7-installer

posted @ 2013-08-10 13:33 paulwong 阅读(890) | 评论 (0)编辑 收藏

CHUKWA资源

CHUKWA
日志分析大数据系统

!!!这个写得挺详细,值得一看
https://github.com/matrix-lisp/DataAnalysis-DataMining-With-Hadoop/blob/master/source/Hadoop-Chukwa.rst


Chukwa配置及运行实例
http://my.oschina.net/xiangchen/blog/100424


Chukwa 0.4.0 详细安装流程,有提到0.4版的一个BUG
http://blog.csdn.net/jostey/article/details/7068322


http://chfpdxx.blog.163.com/blog/static/29542296201241494118753/


chukwa 0.5.0 + hbase 0.94.8 + hadoop 1.1.4 + pig 0.11.1单机伪分布配置
http://f.dataguru.cn/thread-158864-1-1.html


将Chukwa 0.5部署在基于Cloudera CDH4的Hadoop集群上
http://savagegarden.iteye.com/blog/1496786


hadoop1.01+ hbase 0.92+chukwa0.5 安装配置 +问题
http://blog.csdn.net/yinlei212/article/details/7452955


chukwa安装
http://blog.csdn.net/zhumin726/article/details/8290784


Chukwa 0.5的安装
http://hi.baidu.com/zhangxinandala/item/db5d8adc22bab0d5241f4017

posted @ 2013-08-09 17:43 paulwong 阅读(386) | 评论 (0)编辑 收藏

LINUX 网络安全资源

IPTABLES配置,如何开放、关闭端口等
http://wiki.ubuntu.org.cn/IptablesHowTo
http://www.cnblogs.com/wangkangluo1/archive/2012/04/19/2457072.html


如果执行这个命令时,
tail -/var/log/auth.log -200

会发现经常有人试图SSH过来猜root的密码,那就要安装fail2ban了。
apt-get install fail2ban

http://forum.ubuntu.org.cn/viewtopic.php?f=124&t=305533

https://github.com/fail2ban/fail2ban

或者设置一下IPTABLES:
http://www.debian-administration.org/articles/187



posted @ 2013-08-03 11:08 paulwong 阅读(345) | 评论 (0)编辑 收藏

仅列出标题
共115页: First 上一页 62 63 64 65 66 67 68 69 70 下一页 Last