本文源自:https://www.cnblogs.com/linxizhifeng/p/7207655.html

1.        系统环境

1.1.   软件版本

下表为本系统环境所安装的软件的版本信息:

软件类别

版本

下载地址

Hadoop

官网

zookeeper

官网

hbase

官网

hive

官网

1.2.   网络配置

总共7台服务器和一个VIP,详细信息如下:(主机名看下是否合法和能ping通,如果未配置dns强烈建议用IP,或者在每台机器hosts文件写上所有IP的主机名)

主机名

IP地址

备注

hadoop001

192.168.63.201

hadoop002

192.168.63.202

hadoop003

192.168.63.203

hadoop004

192.168.63.204

hadoop005

192.168.63.205

hadoop006

192.168.63.206

hadoop007

192.168.63.207

hadoop

192.168.63.200

设置Hadoop的VIP

2.        目的

掌握hadoop的安装和部署HDFS,Hbase,Hive等组件。

3.        Hadoop简介

Hadoopt是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的硬件上。而且它提供高传输率来访问应用程序的数据,适合那些有着超大数据集的应用程序。HDFS放宽了POSIX的要求,这样可以流的形式访问文件系统中的数据。详细介绍请参见:

http://zh.wikipedia.org/wiki/Hadoop

http://baike.baidu.com/view/908354.htm

http://hadoop.apache.org/

http://www.blogjava.net/killme2008/archive/2008/06/05/206043.html

4.        HDFS安装部署。

4.1.   安装准备

4.1.1.            机器准备

本例stage2环境如下:

IP地址

HDFS

Zookeeper

Hbase

Hive

192.168.63.201

Namenode

Hmaster

hive

192.168.63.202

Namenode(second)

Hmaster

hive

192.168.63.203

Datanode1

zookeeper

HRegionServer

hive

192.168.63.204

Datanode2

zookeeper

HRegionServer

hive

192.168.63.205

Datanode3

zookeeper

HRegionServer

hive

192.168.63.206

Datanode4

HRegionServer

hive

192.168.63.207

Datanode5

HRegionServer

hive

NameNode:是Master节点,是大领导。管理数据块映射;处理客户端的读写请求;配置副本策略;管理HDFS的名称空间;

SecondaryNameNode:是一个小弟,分担大哥namenode的工作量;是NameNode的冷备份;合并fsimage和fsedits然后再发给namenode。

DataNode:Slave节点,奴隶,干活的。负责存储client发来的数据块block;执行数据块的读写操作。

热备份:b是a的热备份,如果a坏掉。那么b马上运行代替a的工作。

冷备份:b是a的冷备份,如果a坏掉。那么b不能马上代替a工作。但是b上存储a的一些信息,减少a坏掉之后的损失。

另请根据需要配置hostname或dns。另外,zookeeper最好使用独立server。

4.1.2.            Disable IPV6

cat /proc/sys/net/ipv6/conf/all/disable_ipv6 为0 则启动 IPV6

如果你的环境是启动IPV6的,请走以下3步:

n  在各节点上修改/etc/sysctl.conf

在文件末尾添加:

# add for hadoop

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

net.ipv6.conf.lo.disable_ipv6 = 1

n  修改/etc/modprobe.conf (可略)

确保文件中包括以下两条:

alias net-pf-10 off

alias ipv6 off

n  修改/etc/ sysconfig/network

确保NETWORKING_IPV6=no。

n  修改完后需要重启机器

重启后,通过命令:

# cat /proc/sys/net/ipv6/conf/all/disable_ipv6

查看是否已经disable。如果已经disable,结果是1。

4.1.3.            Jdk安装

4.1.4.            创建用户

Hadoop需要统一用户,这使用的是oracle账号。

4.2.   介质下载

我们需要安装的组件是cloudera hadoop,下载网址:

官网

我们需要的组件是hadoop,zookeeper,hbase和hive。

4.3.   安装HDFS Cluster

4.3.1.            复制解压

复制下载好的压缩包到需要安装的所有服务器指定目录,并解压修改目录名。我们的环境下的hadoop及相关组件解析后如下:

[oracle@hadoop001 oracle]$ pwd

/opt/oracle

[oracle@hadoop001 oracle]$ ls

hadoop  hbase  hive  zookeeper

4.3.2.            SSH设置

设置从两台namenode无密码登录到其它5台datanode。

生成密钥

执行生成rsa密钥的命令:

[oracle@hadoop001]$ ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter fi le in which to save the key (/home/oracle/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identifi cation has been saved in /home/oracle/.ssh/id_rsa.

Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.

这样就生成了一对公钥和私钥,私钥保留在NameNode上,公钥需要分发给其他各datanode节点。注意,不要输入密码,否则NameNode启动的时候连接每个节点都需要你输入密码,当DataNode很多时,这是个灾难。

分发公钥

由于两个NameNode节点都需要访问各datanode节点,因此我们这里上传到datanode的认证文件分别命名为authorized_keys和authorized_keys2。

Hadoop001上执行:

scp .ssh/id_rsa.pub hadoop003:/home/oracle/.ssh/authorized_keys

scp .ssh/id_rsa.pub hadoop004:/home/oracle/.ssh/authorized_keys

scp .ssh/id_rsa.pub hadoop005:/home/oracle/.ssh/authorized_keys

scp .ssh/id_rsa.pub hadoop006:/home/oracle/.ssh/authorized_keys

scp .ssh/id_rsa.pub hadoop007:/home/oracle/.ssh/authorized_keys

Hadoop002上执行:

scp .ssh/id_rsa.pub hadoop003:/home/oracle/.ssh/authorized2_keys

scp .ssh/id_rsa.pub hadoop004:/home/oracle/.ssh/authorized2_keys

scp .ssh/id_rsa.pub hadoop005:/home/oracle/.ssh/authorized2_keys

scp .ssh/id_rsa.pub hadoop006:/home/oracle/.ssh/authorized2_keys

scp .ssh/id_rsa.pub hadoop007:/home/oracle/.ssh/authorized2_keys

此时,可以从两台namenode上使用oracle账号无密码登录到各datanode服务器。

4.3.3.            环境变量设置:

修改~/.bashrc增加如下内容:

export HADOOP_HOME=/opt/oracle/hadoop

export PATH=$PATH:$HADOOP_HOME/bin

4.3.4.            HDFS配置

HDFS可以在单机上部署进行模拟,本文不做该配置的介绍

本文仅做cluster的配置介绍。

HDFS的配置文件均放在$hadoop/conf目录下。(新版本可能在$hadoop/etc/hadoop/以下配置7台服务器都相同。

hadoop-env.sh

定义hadoop环境变量增加下面2行

export HADOOP_HEAPSIZE=6000

export JAVA_HOME=/opt/j2sdk1.6.29

export HADOOP_DATANODE_OPTS="-server -XX:+UseParallelGC -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+HeapDumpOnOutOfMemoryError"

 

core-site.xml

定义HDFS的NameNode地址和端口。

<?xml version=”1.0”?>

<?xml-stylesheet type=”text/xsl” href=”confi guration.xsl”?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://hadoop:9000</value>       指定namenode 主机名跟端口

</property>

<property>

<name>io.file.buffer.size</name>

<value>16384</value>

</property>

</configuration>

mapred-site.xml

定义MapReduce的JobTracker的地址和端口。

<?xml version=”1.0”?>

<?xml-stylesheet type=”text/xsl” href=”confi guration.xsl”?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>hadoop:9001</value>

</property>

</configuration>

Map-reduce的参数配置,推荐值为(本部分暂时没有优化,这部分请略过):

mapred.map.tasks = number of datanodes x 2
mapred.reduce.tasks = number of atanodes x 2
mapred.tasktracker.map.tasks.maximum = number of CPU Cores of the datanodes – 2
mapred.tasktracker.reduce.tasks.maximum = number of CPU Cores of the datanodes – 2

hdfs-site.xml

定义文件复制份数。

<?xml version=”1.0”?>

<?xml-stylesheet type=”text/xsl” href=”confi guration.xsl”?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<property>
    <name>dfs.http.address</name>
    <value>192.168.63.200:50000</value>

</property

<property>
    <name>dfs.secondary.http.address</name>
    <value>192.168.63.202:50090</value>         不配此行配了master2都不生效
</property>

<property>

<name>dfs.data.dir</name>

<value>/opt/hadoop/data/dfs</value>

</property>

<property>

<name>dfs.name.dir</name>

<value>/opt/hadoop/name</value>

</property>

<property>

<name>dfs.datanode.handler.count</name>

<value>300</value>

</property>

<property>

<name>dfs.block.size</name>

<value>33554432</value>

</property>

</configuration>

<property>
<name>dfs.http.address</name>
<value>192.168.63.200:50000</value>

</property>     
<property>
<name>dfs.secondary.http.address</name>
<value>192.168.63.202:51000</value>      
</property>

  1. dfs.http.address:web管理监控端口,采用默认端口(namenode:50070,secondary:50090)时可以省略该配置

注意:

1)  在两台namenode上建立以下目录

/opt/hadoop/name

2)  在两台datanode上建立以下目录

/opt/hadoop/data/dfs

masters

定义Secondary NameNode的地址

注:masters文件用于指定secondary的主机而不是namenode,slaves用于指定datanode和tasktracker,

namenode由core-site.xml fs.default.name指定,jobtracker由mapred-site.xml mapred.job.tracker指定

hadoop002

slaves

定义DataNode的地址,可以是主机名或者IP。

hadoop003

hadoop004

hadoop005

hadoop006

hadoop007

配置同步

将以上修改过的5个配置文件,复制到其它6台机器。

4.3.5.            启动HDFS

在NameNode的$hadoop安装目录下,执行如下命令:

[oracle@hadoop001 hadoop]$ bin/hadoop namenode -format  格式化

[oracle@hadoop001 hadoop]$ sbin/start-all.sh

可以在各个节点上运行jps命令查看是否启动成功:

[oracle@hadoop003 ~]$ jps

6160 TaskTracker

6039 DataNode

6879 Jps

6357 HRegionServer

同时可访问HDFS监控页面:http://192.168.63.200:50070/dfshealth.jsp查看各节点状况。

5.        安装ZooKeeper

在Hadoop的复制解压部分已经完成安装。这部分介绍zookeeper的配置。

5.1.   配置ZooKeeper

修改zookeepr/conf/zoo.cfg

配置里面的server是zookeeper服务器的主机名。

# The number of milliseconds of each tick

tickTime=2000

maxClientCnxns=0

# The number of ticks that the initial

# synchronization phase can take

initLimit=50

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

# the directory where the snapshot is stored.

dataDir=/opt/hadoop/zookeeperdata

# the port at which the clients will connect

clientPort=2181

server.1=hadoop003:2888:3888

server.2=hadoop004:2888:3888

server.3=hadoop005:2888:3888

将zookeeper目录复制到各个zookeeper节点上

我们的环境共3台zookeeper,复制到这3台即可。

新建目录

在各zookeeper服务器上新建dataDir中配置的目录,并添加myid文件,里面内容是该节点对应的server号,如上例hadoop003对应的myid文件内容就是:

1

echo "1" > /opt/hadoop/zookeeperdata/myid

5.2.   启动zookeeper

在各zookeeper节点上运行zkServer.sh start。

cd /opt/oracle/zookeeper

./bin/zkServer.sh start

tail zookeeper.out

6.        Hbase的安装

6.1.   安装Hbase

安装Hbase需要先安装好hadoop和ZooKeeper。

Hadoop的复制解压部分已经完成安装。这部分介绍Hbase的配置。

6.2.   配置Hbase

修改hbase/conf/hbase-site.xml

<configuration>

<property>

<name>hbase.rootdir</name>

<value>hdfs://hadoop:9000/hbase</value>

<description>The directory shared by region servers.</description>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

<property>

<name>hbase.master.port</name>

<value>60000</value>

</property>

<property>

<name>hbase.zookeeper.quorum</name>

<value>hadoop003,hadoop004,hadoop005</value>

</property>

<property>

<name>hbase.regionserver.handler.count</name>

<value>300</value>

</property>

<property>

<name>hbase.hstore.blockingStoreFiles</name>

<value>70</value>

</property>

<property>

<name>zookeeper.session.timeout</name>

<value>60000</value>

</property>

<property>

<name>hbase.regionserver.restart.on.zk.expire</name>

<value>true</value>

<description>

Zookeeper session expired will force regionserver exit.

Enable this will make the regionserver restart.

</description>

</property>

<property>

<name>hbase.replication</name>

<value>false</value>

</property>

<property>

<name>hfile.block.cache.size</name>

<value>0.4</value>

</property>

<property>

<name>hbase.regionserver.global.memstore.upperLimit</name>

<value>0.35</value>

</property>

<property>

<name>hbase.hregion.memstore.block.multiplier</name>

<value>8</value>

</property>

<property>

<name>hbase.server.thread.wakefrequency</name>

<value>100</value>

</property>

<property>

<name>hbase.master.distributed.log.splitting</name>

<value>false</value>

</property>

<property>

<name>hbase.regionserver.hlog.splitlog.writer.threads</name>

<value>3</value>

</property>

<property>

<name>hbase.hstore.blockingStoreFiles</name>

<value>20</value>

</property>

<property>

<name>hbase.hregion.memstore.flush.size</name>

<value>134217728</value>

</property>

<property>

<name>hbase.hregion.memstore.mslab.enabled</name>

<value>true</value>

</property>

</configuration>

红色部分是可能需要修改的,更多配置项请参考:

http://hbase.apache.org/book.html#configuration

修改hbase/conf/hbase-env.sh

添加如下4行内容:

export HBASE_HEAPSIZE=4000

export JAVA_HOME=/opt/j2sdk1.6.29

export HBASE_OPTS="-Xmx8g -Xms8g -Xmn128m -XX:+UseParNewGC  -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 -verbose:gc  -XX:+PrintGCDetails -XX:+PrintGCTimeStamps  -Xloggc:$HBASE_HOME/logs/gc-$(hostname)-hbase.log"

export HBASE_MANAGES_ZK=false

export HBASE_CLASSPATH=/opt/oracle/hadoop/conf   hadoop配置文件位置

n  修改hbase/conf/log4j.properties

修改如下内容

hbase.root.logger=WARN,console

log4j.logger.org.apache.hadoop.hbase=WARN

conf/regionservers中添加所有datanode的节点

添加以下内容:

hadooop003

hadooop004

hadooop005

hadooop006

hadooop007

 

6.3.   启动Hbase

通过Hbase的安装目录执行bin/start-hbase.sh和bin/stop-hbase.sh 脚本启动和停止HBase服务。

启动方法:

[oracle@hadoop003 ~]$ cd /opt/oracle/hbase

[oracle@hadoop003 hbase]$ bin/start-hbase.sh

报错 

如果jdk没问题可能你下载的包不对 需要 -bin-tar.gz 而不是src

7.        Hive的安装

7.1.   安装Hive

Hadoop的复制解压部分已经完成安装。这部分介绍Hive的配置。

7.2.   创建hive的hdfs目录

在namenode的hadoop安装目录下的bin目录下执行创建操作:

[oracle@hadoop001 ~]$ cd /opt/oracle/hadoop/bin/

[oracle@hadoop001 ~]$ ./hadoop fs -mkdir -p /user/hive/warehouse

7.3.   配置conf下的hive-default.xml

找到hive.zookeeper.quorum,配置为如下所示:

# modify|以下修改红色部分

<property>

<name>hive.zookeeper.quorum</name>

<value> hadoop003,hadoop004,hadoop005</value>

<description></description>

</property>

# add|以下添加红色部分

<property>

<name>hbase.zookeeper.quorum</name>

<value>hadoop003,hadoop004,hadoop005</value>

<description>

</description>

</property>

# default|以下默认即可

<property>

<name>hive.zookeeper.client.port</name>

<value>2181</value>

<description></description>

</property>

7.4.   复制jar包到Hadoop的lib下

第一台服务器都要执行:

cd /opt/oracle/hive/lib

cp -a hbase-0.90.1-cdh3u0.jar zookeeper-3.3.1.jar hive-hbase-handler-0.7.0-cdh3u0.jar /opt/oracle/hadoop/lib

创建hive表:

cd /opt/oracle/hive/bin

hive -auxpath ../lib/hive-hbase-handler-0.7.0-cdh3u0.jar,../lib/hbase-0.90.1-cdh3u0.jar,../lib/zookeeper-3.3.1.jar -hiveconf hbase.zookeeper.quorum=hadoop003

在hive提示符下输入:

CREATE TABLE app_log_rule(id STRING,app_code STRING,merchant_id STRING,order_type STRING,log_level STRING,log_location STRING,disabled STRING,param_map STRING)

STORED BY

'org.apache.hadoop.hive.hbase.HBaseStorageHandler'

WITH SERDEPROPERTIES (

"hbase.columns.mapping" =

":key,cf1:app_code,cf1:merchant_id,cf1:order_type,cf1:log_level,cf1:log_location,cf1:disabled,cf1:param_map")

TBLPROPERTIES (

"hbase.table.name" = "hbase_app_log_rule"

);

CREATE TABLE app_log_queue(id STRING,queue_name STRING,biz_line STRING,app_code STRING)

STORED BY

'org.apache.hadoop.hive.hbase.HBaseStorageHandler'

WITH SERDEPROPERTIES (

"hbase.columns.mapping" = ":key,cf1:queue_name,cf1:biz_line,cf1:app_code")

TBLPROPERTIES (

"hbase.table.name" = "hbase_app_log_queue"

);

7.5.   启动Hive JDBC server

到Hive的安装目录,启动Hive服务。

cd /opt/oracle/hive/

bin/hive --service hiveserver &

8.        Hadoop环境启动顺序

8.1.   启动HDFS

在NameNode的$hadoop安装目录下,执行如下命令:

[oracle@hadoop001 hadoop]$ bin/hadoop namenode -format

[oracle@hadoop001 hadoop]$ bin/start-all.sh

可以在各个节点上运行jps命令查看是否启动成功:

[oracle@hadoop003 ~]$ jps

6160 TaskTracker

6039 DataNode

6879 Jps

同时可访问HDFS监控页面:http://hadoop001:50070/dfshealth.jsp查看各节点状况。

8.2.   启动zookeeper

在各zookeeper节点上运行zkServer.sh start。

cd /opt/oracle/zookeeper

./bin/zkServer.sh start

tail zookeeper.out

8.3.   启动Hbase

通过Hbase的安装目录执行bin/start-hbase.sh和bin/stop-hbase.sh 脚本启动和停止HBase服务。

启动方法:

[oracle@hadoop003 ~]$ cd /opt/oracle/hbase

[oracle@hadoop003 hbase]$ bin/start-hbase.sh

可以在各个节点上运行jps命令查看是否启动成功,hadoop003~hadoop007上是否有HRegionServer,hadoop001上是否有HMaster:

同时可访问HDFS监控页面:http://hadoop001:60010/ 查看是否所有的datanode和zookeeper都活着。

8.4.   启动Hive JDBC server

到Hive的安装目录,启动Hive服务。

cd /opt/oracle/hive/

bin/hive --service hiveserver &

9.        Hadoop环境关闭顺序

9.1.   关闭Hive JDBC Server

用jps命令找到RunJar进程kill掉

9.2.   关闭Hbase

通过Hbase的安装目录执行bin/stop-hbase.sh停止HBase服务,会出现等待的提示符,等待结束才可以执行下一步

9.3.   关闭zookeeper

在各zookeeper节点上运行zkServer.sh stop

cd /opt/oracle/zookeeper

./bin/zkServer.sh stop

tail zookeeper.out

9.4.   关闭HDFS

在NameNode的$hadoop安装目录下,执行如下命令:

[oracle@hadoop001 hadoop]$ bin/stop-all.sh

可以在各个节点上运行jps命令查看是否关闭成功

10.    常见问题

10.1.             Namenode非正常关闭

在所有的hadoop环境机器上用jps命令,把所有的进程列出,然后kill掉,再按照启动顺序启动

10.2.             Datanode非正常关闭

l  在namenode上启动HDFS

运行hadoop/bin/start-all.sh

l  如果Datanode同时是zookeeper,还需要启动zookeeper

在该datanode上运行zookeeper/bin/zkServer.sh start。

l  在namenode上启动Hbase

运行hbase/bin/start-hbase.sh

10.3.             停止一台非master的服务器

l  在该台服务器上运行:

hadoop/bin/hadoop-daemon.sh stop datanode

hadoop/bin/hadoop-daemon.sh stop tasktracker

hbase/bin/hbase-daemon.sh stop regionserver

l  在http://hadoop001:50070/dfshealth.jsp 查看该节点是否已经变成dead nodes,变成dead nodes之后,就可以停止该台服务器

在刚停止服务的时候,看到的截图如下:

当停止服务成功,看到的截图如下:

l  重启服务器以后,在hadoop001上运行,启动服务:

hadoop/bin/start-all.sh

hbase/bin/start-hbase.sh

11.    监控端口

11.1.             Namenode监控端口(hadoop001):

60010,60000,50070,50030,9000,9001,10000

11.2.             zookeeper监控端口(hadoop003,hadoop004,hadoop005)

2181

11.3.             Datanode监控端口(hadoop003,hadoop004,hadoop005,hadoop006,hadoop007)

60030,50075

坚持到无能为力,拼搏到感动自己

hadoop+HBase+ZooKeeper+Hive完全分布式集群部署安装相关推荐

  1. Redis分布式集群部署安装及细节(多主机搭建集群开启多个服务)

    注意: redis的安装步骤与同机器下一致,这里只讲解个别不同配置的修改 每台主机都有固定的IP 10.25.84.105SZD-L0073672   此台机器部署了多个服务 10.25.84.106 ...

  2. HBase完全分布式集群部署

    1.简介 HBase是一个分布式的.面向列的开源数据库,它不同于一般的关系数据库,是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式.HBase使用和 BigTa ...

  3. Hadoop伪分布式集群的安装部署

    Hadoop伪分布式集群的安装部署Hadoop伪分布式集群的安装部署 首先可以为Linux虚拟机搭建起来的最初状态做一个快照,方便后期搭建分布式集群时多台Linux虚拟机的准备. 一.如何为虚拟机做快 ...

  4. Hadoop分布式集群的安装与部署实训总结报告

    目录 前言 一.Hadoop平台框介绍 1.Hadoop的架构 2.HDFS:遵循主从架构,它具有以下元素. 2.1 名称节点 -Namenode 2.2 数据节点 - Datanode 2.3 块 ...

  5. 17_clickhouse分布式集群部署

    23.ClickHouse分布式集群部署 23.1.集群部署 23.1.1.准备工作 节点规划: 主机名 IP地址 分片 副本 clickhouse1 192.168.106.103 shard1 副 ...

  6. 百度开源联邦学习框架 PaddleFL:简化大规模分布式集群部署

    百度开源联邦学习框架 PaddleFL:简化大规模分布式集群部署 作者 | 钰莹近两年,联邦学习技术发展迅速.作为分布式的机器学习范式,联邦学习能够有效解决数据孤岛问题,让参与方在不共享数据的基础上联 ...

  7. redis 槽点重新分配 集群_5000+字硬核干货!Redis 分布式集群部署实战

    原理: Redis集群采用一致性哈希槽的方式将集群中每个主节点都分配一定的哈希槽,对写入的数据进行哈希后分配到某个主节点进行存储. 集群使用公式(CRC16 key)& 16384计算键key ...

  8. quartz分布式集群部署并且可视化配置job定时任务

    2019独角兽企业重金招聘Python工程师标准>>> 项目使用quartz框架完成了定时任务集群部署调度,并且对quartz进一步封装完成在web界面可动态配置定时任务.定时任务如 ...

  9. 技术干货实战(4)- 分布式集群部署模式下Nginx如何实现用户登录Session共享(含详细配置与代码实战)

    原文链接:技术干货实战(4)- 分布式集群部署模式下Nginx如何实现用户登录Session共享(含详细配置与代码实战) 最近有小伙伴催更,让debug多写点技术干货,以便多学习.巩固一些技能:没办法 ...

最新文章

  1. windows系统下Python环境的搭建
  2. 【新星计划】MATLAB-微积分
  3. 单向链表的C语言实现与基本操作
  4. 为什么网格布局不显示java_java – 在GridLayout中不显示组件的FlowLayout?
  5. XML Schema语法规则
  6. transformer中attention计算方式_Reformer: 局部敏感哈希、可逆残差和分块计算带来的高效...
  7. [HTML/HTML5]3 页面结构
  8. fontawesome-webfont.woff2 404
  9. 工程经济—利润和所得税费用
  10. Hot Sale Ray Ban Predator 2 Sunglasses, Cheap Ray Ban Jackie OhhⅡ
  11. 饥荒lisp_创建饥荒(Don't starve)专用服务器(Dedicated Server)遇到的问题
  12. 计算机主机sn号怎么查看,笔记本序列号怎么看_笔记本电脑SN序列号的查看方法-win7之家...
  13. 获取各种屏幕大小(包括电脑屏幕)
  14. 支付系统就该这么设计(万能通用),稳的一批!
  15. 无法识别的USB设备:跟这台计算机连接的一个USB设备运行不正常,WINDOWS无法识别...
  16. 薪酬激励的中国困境 穆穆-movno1
  17. 国科大图数据管理与分析课程项目gStore实验报告
  18. JVM--查看堆栈信息
  19. dz邮箱验证怎么设置_详细步骤!Discuz如何设置通过 SOCKET 连接 SMTP 服务器发送(支持 ESMTP 验证)实现论坛邮箱验证功能...
  20. 跨源通信--postMessage用法

热门文章

  1. LoadRunner中think time详解
  2. 目录遍历(Directory traversal)
  3. html没有注册类,电脑中ie浏览器提示没有注册类别的三种解决方法
  4. 抖音四面被拒,再战头条终获offer,在线面试指南
  5. 【计算机视觉】不来试试图片轮廓提取?
  6. 机器学习:Experiment 5: Regularization
  7. zynq--实现udp发送helloworld 到上位机---续集,调试时候容易出现有时候系统不响应
  8. arcpy投影(三)——定义投影、地理变换关系自定义和投影变换Project_managemen(含基准面/椭球体转换参数使用方法,arcpro/arcmap)
  9. “道可道,非常道”——千年孤独话老子
  10. 教你如何写出完美的论文——5. 做笔记