Hadoop 分布式环境搭建

安装环境

CentOS 7.3.1611
JDK 1.8.0_131
Hadoop 2.8.0

三台设备:master,slave1,slave2

系统环境配置

  1. /etc/profile.d/ 目录下新建一个文件,如 custom-env.sh
export JAVA_HOME=/usr/lib/jvm/jre
export PATH=$PATH:/opt/hadoop/bin:/opt/hadoop/sbin
  1. /etc/hosts 配置三台设备 IP 与主机名的映射
  2. 配置 master 到 slave1,slave2 的 SSH 免密码登录
Read more   2016/11/18 posted in  软件配置

Docker 的简单使用记录

编写 Dockerfile

在 CentOS 6 的基础上制作一个 MySQL 的容器,在 Dockerfile 中写入如下内容:

# Docker MySQL image

# Use centos:6 as base image
FROM centos:6

# Maintainer
MAINTAINER Tang Jiujun <jiujun.tang@gmail.com>

# Commands to update the images
RUN yum install -y mysql mysql-server;

# Copy my.cnf config
COPY etc/my.cnf /etc/my.cnf

RUN service mysqld start; \
    /usr/bin/mysqladmin -u root password 'root'; \
    mysql -uroot -proot -e "grant all privileges on *.* to 'root'@'%' identified by 'root';FLUSH PRIVILEGES;"

# Commands when start a new container
CMD ["/usr/bin/mysqld_safe"]

# Expose ports
EXPOSE 3306
Read more   2016/8/5 posted in  软件配置

MySQL、SQL Server 和 Oracle 触发器的创建

场景:当 users 表在 insert,update,delete 时,在 users_log 表中记录变更的 id

MySQL

触发时机:BEFORE,AFTER
触发事件:INSERT,UPDATE,DELETE
NEW 和 OLD 关键字:

| action | NEW | OLD |
|--------|----------------|----------------|
| insert | 插入的新数据 | 无 |
| update | 修改为的新数据 | 被修改的原数据 |
| delete | 无 | 被删除的原数据 |

DELIMITER $
CREATE TRIGGER insert_user AFTER INSERT
ON users FOR EACH ROW 
BEGIN
    INSERT INTO users_log(user_id, action) VALUES(NEW.id, 'insert');
END$
DELIMITER ;
Read more   2016/6/11 posted in  理论概念

Java 动态代理

前提条件

public interface Animal {
    void say();

    void run(String addr);
}

public class Dog implements Animal {
    @Override
    public void say() {
        System.out.println("汪汪汪");
    }

    @Override
    public void run(String addr) {
        say();
        System.out.println("狗在" + addr + "跑");
    }
}
Read more   2016/4/23 posted in  Java学习

关于 MySQL 中 InnoDB 的 MVCC 的一些理解

Read more   2016/4/17 posted in  理论概念