史上最詳細:在VMware虛擬機器裡搭建DB2 purescale測試
說明
DB2的purescale功能由於牽扯到多款產品,包括GPFS, RSCT,TSA,所以非常複雜,搭建的過程稍有不慎,就會遇到很多的報錯。本文詳細地介紹瞭如何在VMware虛擬機器裡搭建出一個Linux環境下的purescale叢集,叢集有兩個節點node01,node02,每個節點上一個member,一個cf。測試過程中,輸入的命令以藍色表示,前面#表示用root使用者執行,$表示例項使用者執行。需要強調的地方用紅色標出。
測試環境
windows 7FlashFXP
SecureCRT
DB2 10.5FP8
SUSE Linux 11.4
Vmware 10.0.1
測試步驟
1. 安裝兩個SUSE
Vmware裡安裝兩個SUSE,安裝的步驟是一樣的,注意要點:
1.1 選擇自定義安裝
1.2 磁碟和記憶體大小
選擇磁碟和記憶體大小的時候,磁碟建議至少40G,記憶體至少要2560M (我一開始的時候設定記憶體為2000M,最後啟動CF的時候總是報錯)
其他的都採用預設選項就好,注意檢查預設網路採用的是否是NAT方式。
2. 修改主機名和hosts檔案 (兩臺機器都要做)
2.1 檢視IP地址:
安裝完成之後,兩臺虛擬機器會自動開啟,登入之後,在桌面上空白處點選右鍵->Open in Terminal->輸入命令 "ipconfig -a":查到IP地址之後,後面的大部分步驟都可以不用在虛擬機器裡做了,直接使用win7下的secureCRT或者PuTTY連線到虛擬機器即可。
2.2 修改hostname
在/etc/rc.d/boot.localnet開頭新增一行export HOSTNAME=node01
另一臺機器主機名修改為node02,這個重啟之後生效的,所以不必著急現在就看到效果。
2.3 修改 /etc/hosts檔案如下:
其中192.168.187.148,192.168.187.149分別是兩臺機器的IP地址
# cat /etc/hosts
127.0.0.1 localhost192.168.187.148 node01
192.168.187.149 node02
3. 安裝必要的軟體包(兩臺機器都要做)
安裝軟體包前,要先把“光碟”放入光碟機,在虛擬機器名子上右鍵->設定# zypper install pam-32bit
# zypper install glibc-locale-32bit
# zypper install iscsitarget
還要設定一些環境變數和檔案
# echo "export DB2USENONIB=TRUE" >> /etc/profile.local
# cp -v /usr/src/linux-3.0.101-63-obj/x86_64/default/include/generated/autoconf.h /lib/modules/3.0.101-63-default/build/include/linux
4. 新增磁碟 (兩臺機器都要做)
由於purescale是把資料放在共享儲存的,所以我們需要一個共享磁碟,方案是在node01上新增一塊磁碟,然後共享給node02之後按預設選擇就可以,大小我使用了40G。
node02上也要新增一塊硬碟,但用不到,主要目地是使兩邊的碟符保持一致,所以大小設定為0.01G即可。
都新增完成之後,重啟兩個虛擬機器。
5 iscsi實現磁碟共享
在上一步中,添加了磁碟,這一步的目的是讓它變成共享磁碟,node01和node02都能訪問。
5.1 共享之前,檢視磁碟狀態
共享之前,可以分別在兩個節點上檢視磁碟狀態,每個節點上有兩個磁碟,sda和sdb:
node01:~ # fdisk -lDisk /dev/sdb: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a4042
Device Boot Start End Blocks Id System
/dev/sda1 2048 4208639 2103296 82 Linux swap / Solaris
/dev/sda2 * 4208640 83886079 39838720 83 Linux
node02:~ # fdisk -l
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0007a70b
Device Boot Start End Blocks Id System
/dev/sda1 2048 4208639 2103296 82 Linux swap / Solaris
/dev/sda2 * 4208640 83886079 39838720 83 Linux
Disk /dev/sdb: 10 MB, 10485760 bytes
64 heads, 32 sectors/track, 10 cylinders, total 20480 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table
5.2 只在node01上配置iSCSI Target
目地是把node01上新新增的那個磁碟/dev/sdb為作target,需要到虛擬機器裡配置:
5.3 在node01上配置iSCSI Initiator:
填寫node01的IP地址
再次檢視,發現多了一個磁碟/dev/sdc
node01:~ # fdisk -l
Disk /dev/sdb: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a4042
Device Boot Start End Blocks Id System
/dev/sda1 2048 4208639 2103296 82 Linux swap / Solaris
/dev/sda2 * 4208640 83886079 39838720 83 Linux
Disk /dev/sdc: 42.9 GB, 42949672960 bytes
64 heads, 32 sectors/track, 40960 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sdc doesn't contain a valid partition table
5.4 同樣的辦法,在node02上也配置iSCSI Initiator
輸入IP那一步,仍然要寫node01的IP地址,配置完成之後,fdisk -l的輸出如下:
node02:~ # fdisk -lDisk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0007a70b
Device Boot Start End Blocks Id System
/dev/sda1 2048 4208639 2103296 82 Linux swap / Solaris
/dev/sda2 * 4208640 83886079 39838720 83 Linux
Disk /dev/sdb: 10 MB, 10485760 bytes
64 heads, 32 sectors/track, 10 cylinders, total 20480 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table
Disk /dev/sdc: 42.9 GB, 42949672960 bytes
64 heads, 32 sectors/track, 40960 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sdc doesn't contain a valid partition table
node02:~ #
這一步完成之後,兩臺機器上都多了一個磁碟/dev/sdc,實際上他們共享的是node01上的/dev/sdb
6. 建立DB2使用者和組(兩臺機器都要做)
# groupadd -g 999 db2iadm# groupadd -g 998 db2fadm
# groupadd -g 997 dasadm
# useradd -u 1004 -g db2iadm -m -d /home/db2inst1 db2inst1
# useradd -u 1003 -g db2fadm -m -d /home/db2fend db2fend
# useradd -u 1002 -g dasadm -m -d /home/dasusr dasusr
# passwd db2inst1
# passwd db2fend
# passwd dasusr
7. 配置ssh信任(兩臺機器都要做)
這裡root使用者和db2inst1使用者都要配置,配置SSH信任的辦法可以自行參考網路,或者http://blog.csdn.net/qingsong3333/article/details/73695895
在home目錄下,如果不存在,就新建一個目錄".ssh",
root:
# cd $HOME
# mkdir .ssh
# ssh-keygen
# cd .ssh
# touch authorized_keys
# cat id_rsa.pub >> authorized_keys
# chmod 600 authorized_keys
# su - db2inst1
$ mkdir .ssh
$ ssh-keygen
$ cd .ssh
$ touch authorized_keys
$ cat id_rsa.pub >> authorized_keys
$ chmod 600 authorized_keys
然後分別將自己機器上的id_rsa.pub文字內容追加到對方機器裡對應使用者(root對root,db2inst1對db2inst1)上的authorized_keys檔案裡
兩臺機器上,都分別用root和db2inst1使用者測試,如果以下命令都不需要輸入密碼,則成功:
# ssh node01 date
# ssh node02 date
# su - db2inst1
$ ssh node01 date
$ ssh node02 date
8. 安裝DB2(兩臺機器都要做)
可以使用FlashFXP將安裝包上傳到虛擬機器上:# tar -zxvf v10.5fp8_linuxx64_server_t.tar.gz
# ./server_t/db2_install
DBI1324W Support of the db2_install command is deprecated.
Default directory for installation of products - /opt/ibm/db2/V10.5
***********************************************************
Install into default directory (/opt/ibm/db2/V10.5) ? [yes/no]
yes
Specify one of the following keywords to install DB2 products.
SERVER
CONSV
EXP
CLIENT
RTCL
Enter "help" to redisplay product names.
Enter "quit" to exit.
***********************************************************
SERVER
***********************************************************
Do you want to install the DB2 pureScale Feature? [yes/no]
yes
DB2 installation is being initialized.
Total number of tasks to be performed: 53
Total estimated time for all tasks to be performed: 2183 second(s)
Task #1 start
Description: Checking license agreement acceptance
Estimated time 1 second(s)
Task #1 end
.
9. 配置GPFS(只在node01上做)
可以使用db2cluster命令來做,也可以僅使用GPFS的命令。(其實db2cluster命令就是呼叫的GPFS命令)9.1 建立GPFS cluster:
新建一個gpfs.nodes檔案,內容如下#cat /tmp/gpfs.nodes
node01:quorum-manager
node02:quorum-manager
# /usr/lpp/mmfs/bin/mmcrcluster -p node01 -s node02 -n /tmp/gpfs.nodes -r /usr/bin/ssh -R /usr/bin/scp
9.2 新增license:
# /usr/lpp/mmfs/bin/mmchlicense server --accept -N node01,node02
9.3 修改配置引數:
# /usr/lpp/mmfs/bin/mmchconfig maxFilesToCache=20000# /usr/lpp/mmfs/bin/mmchconfig usePersistentReserve=yes
# /usr/lpp/mmfs/bin/mmchconfig verifyGpfsReady=yes
# /usr/lpp/mmfs/bin/mmchconfig totalPingTimeout=75
# /usr/lpp/mmfs/bin/mmlscluster
GPFS cluster information
========================
GPFS cluster name: node01
GPFS cluster id: 2620703579963216106
GPFS UID domain: node01
Remote shell command: /usr/bin/ssh
Remote file copy command: /usr/bin/scp
Repository type: CCR
Node Daemon node name IP address Admin node name Designation
-----------------------------------------------------------------------
1 node01 192.168.187.148 node01 quorum-manager
2 node02 192.168.187.149 node02 quorum-manager
9.4 啟動GPFS daemons
啟動GPFS 並檢視狀態,等一會之後,如果變成active說明沒問題:
# /usr/lpp/mmfs/bin/mmstartup -a# /usr/lpp/mmfs/bin/mmgetstate -a
9.5 建立GPFS檔案系統
新建一個gpfs.disks檔案,內容如下# cat /tmp/gpfs.disks
%nsd:
device=/dev/sdc
nsd=qsmiao
usage=dataAndMetadata
# /usr/lpp/mmfs/bin/mmcrnsd -F /tmp/gpfs.disks -v yes
# /usr/lpp/mmfs/bin/mmlsnsd
File system Disk name NSD servers
---------------------------------------------------------------------------
(free disk) qsmiao (directly attached)
# /usr/lpp/mmfs/bin/mmcrfs /gpfs20170623 gpfsdev qsmiao -B 1024K -m 1 -M 2 -r 1 -R 2
其中gpfs20170623是給目錄起的名子,gpfsdev是給gpfs裝置起的名子
# cat /etc/fstab
# /usr/lpp/mmfs/bin/mmmount all -a
Thu Jun 22 06:50:14 EDT 2017: mmmount: Mounting file systems ...
9.6 在node01和node02都可以看到建立的檔案系統
node01:~ # dfFilesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 39213504 11834268 25387300 32% /
udev 1403056 132 1402924 1% /dev
tmpfs 1403056 808 1402248 1% /dev/shm
/dev/gpfsdev 41943040 478208 41464832 2% /gpfs20170623
node01:~ # echo "I'm writing to shared filesystem" > /gpfs20170623/hello.txt
node02:~ # df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 39213504 11834016 25387552 32% /
udev 1403056 132 1402924 1% /dev
tmpfs 1403056 804 1402252 1% /dev/shm
/dev/gpfsdev 41943040 41943040 0 100% /gpfs20170623
node02:~ # cat /gpfs20170623/hello.txt
I'm writing to shared filesystem
至此,我們可以看到,GPFS共享檔案系統已經建立好,node01和node02可以對其併發訪問
10. 建立例項(只在node01上做)
# /opt/ibm/db2/V10.5/instance/db2icrt -cf node01 -cfnet node01 -m node01 -mnet node01 -instance_shared_dir /gpfs20170623 -tbdev 192.168.187.2 -u db2fend db2inst1
上面的命令在node01上建立了一個member,一個CF。其中-tbdev 為閘道器地址即可, 請參考最後如何檢視閘道器地址。
# su - db2inst1
$ db2set DB2_SD_ALLOW_SLOW_NETWORK=ON
$ db2licm -a db2aese_u.lic
$ db2start
06/23/2017 13:46:38 0 0 SQL1063N DB2START processing was successful.
SQL1063N DB2START processing was successful.
$ db2instance -list
ID TYPE STATE HOME_HOST CURRENT_HOST <..略..>
-- ---- ----- --------- ------------ <..略..>
0 MEMBER STARTED node01 node01 <..略..>
128 CF PRIMARY node01 node01 <..略..>
HOSTNAME STATE INSTANCE_STOPPED ALERT
-------- ----- ---------------- -----
node01 ACTIVE NO NO
$ su - root11. 新增另一個member(只在node01上做)
# /opt/ibm/db2/V10.5/instance/db2iupdt -d -add -m node02 -mnet node02 db2inst112. 新增另一個CF(只在node01上做):
# su - db2inst1$ db2stop
06/23/2017 14:10:27 1 0 SQL1032N No start database manager command was issued.
06/23/2017 14:10:55 0 0 SQL1064N DB2STOP processing was successful.
SQL6033W Stop command processing was attempted on "2" node(s). "1" node(s) were successfully stopped. "1" node(s) were already stopped. "0" node(s) could not be stopped.
$ su - root
# /opt/ibm/db2/V10.5/instance/db2iupdt -d -add -cf node02 -cfnet node02 db2inst1
13. 啟動例項(只在node01上做):
# su - db2inst1$ db2start
06/23/2017 14:31:53 1 0 SQL1063N DB2START processing was successful.
06/23/2017 14:32:04 0 0 SQL1063N DB2START processing was successful.
SQL1063N DB2START processing was successful.
$ db2instance -list
ID TYPE STATE HOME_HOST CURRENT_HOST <..略..>
-- ---- ----- --------- ------------ <..略..>
0 MEMBER STARTED node01 node01 <..略..>
1 MEMBER STARTED node02 node02 <..略..>
128 CF PRIMARY node01 node01 <..略..>
129 CF PEER node02 node02 <..略..>
HOSTNAME STATE INSTANCE_STOPPED ALERT
-------- ----- ---------------- -----
node02 ACTIVE NO NO
node01 ACTIVE NO NO
14. 建立資料庫(只在node01上做)
$ db2 "create db sample"$ db2 "connect to sample"
$ db2 "create table t1(id int, address char(20))"
$ db2 "insert into t1 values(123, 'Beijing')"
15. 驗證(只在node02上做)
# su - db2inst1$ db2 "connect to sample"
$ db2 "list applications global"
Auth Id Application Appl. Application Id DB # of
Name Handle Name Agents
-------- -------------- ---------- ----------------------------- -------- -----
DB2INST1 db2bp 75 *N0.db2inst1.170623184141 SAMPLE 1
DB2INST1 db2bp 65591 *N1.db2inst1.170623184447 SAMPLE 1
$ db2 "insert into t1 values(223,'NanJing')"
$ db2 "select * from t1"
ID ADDRESS
----------- --------------------
123 Beijing
223 NanJing
2 record(s) selected.
$ db2 "force applications all"
$ db2stop
答疑
1.) DPF環境下,例項目錄是共享的。但Purescale例項目錄不是共享的,我只見你在node01上建立了例項,為什麼node02上也有自己的例項和例項目錄?答:在新增node02節點上的member或者CF時,它會自動在node02上建立例項,也就是第10步。
2.) 如何檢視閘道器?
答:檢視閘道器,其中0.0.0.0開頭的,即為預設閘道器,即192.168.187.2
# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.187.2 0.0.0.0 UG 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
192.168.187.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
3.)
為什麼第11步的時候,db2stop說有一個節點SQL1032N,另一個節點SQL1064N?
答:新新增的member是沒有啟動的。
參考資料
相關推薦
史上最詳細:在VMware虛擬機器裡搭建DB2 purescale測試
說明 DB2的purescale功能由於牽扯到多款產品,包括GPFS, RSCT,TSA,所以非常複雜,搭建的過程稍有不慎,就會遇到很多的報錯。本文詳細地介紹瞭如何在VMware虛擬機器裡搭建出一個Linux環境下的purescale叢集,叢集有兩個節點node01,nod
史上最詳細的Vmware安裝教程(一)-建立Linux虛擬機器
本文將演示如何使用Vwmare workstation軟體建立Linux虛擬機器,通過學習,我們將可以按照自己下需求,來建立一個安裝Linux作業系統(Centos)的虛擬機器,虛擬機器的CPU、硬碟、網絡卡、記憶體等硬體都可以根據需要進行定製。 1. 準備Host機器(
黃聰:史上最詳細的kali安裝教程沒有之一
ner 沒有 操作系統 你是 著作權 如圖所示 鏈接 class 區域 首先在vm裏面新建虛擬機,直接選擇典型,然後下一步。 1 2 然後到了這一步,選擇中間的安裝程序光盤鏡像文件,然後去文件裏面
【轉】Hadoop學習--第二篇:史上最詳細的Hadoop環境搭建
GitChat 作者:鳴宇淳 原文: 史上最詳細的Hadoop環境搭建 前言 Hadoop在大資料技術體系中的地位至關重要,Hadoop是大資料技術的基礎,對Hadoop基礎知識的掌握的紮實程度,會決定在大資料技術道路上走多遠。 這是一篇入門文章,Hadoop的學
Linux系統程式設計學習常見問題(一):VMware虛擬機器下Ubuntu18.04突然上不了網的問題解決方案
問題描述:VMware虛擬機器下Ubuntu18.04突然上不了網的問題:如下圖所示: 更改這裡的三種連線方式都是這樣 2. 分析:IP衝突或者配置出了問題,需重新更新設定。 3. 解決: (1)將模式調整為
一步步教你搭建Android開發環境(有圖有真相)--“自吹自擂:史上最詳細、最囉嗦、最新的搭建教程”
宣告:轉摘請註明http://blog.csdn.net/longming_xu/article/details/28241045 前言:為什麼要寫這麼一篇文章?網上介紹Android開發環境搭建的文章一片一片的,我為什麼要自己”重複的去造輪子“呢?原因有三個:第一個
詳細圖文教程:如何使vmware虛擬機器裡的linux系統連線windows
先說些基本概念。 因特網簡單來說,是由網路和主機組成的。所以,就有了網路號和主機號的概念。 網路號標識因特網內唯一的網路,而主機號則標誌同一個網路號內唯一的主機,即不同網路號可以有相同的主機號。 所以,ip地址就是由網路號+主機號組成的。現在ip地址有IPV4和IPV6兩個版本。IPV4的ip地址為
【轉載】史上最全:TensorFlow 好玩的技術、應用和你不知道的黑科技
tube map 高性能 知識 seq 出現 執行時間 mes lex 【導讀】TensorFlow 在 2015 年年底一出現就受到了極大的關註,經過一年多的發展,已經成為了在機器學習、深度學習項目中最受歡迎的框架之一。自發布以來,TensorFlow 不斷在完善並增加新
史上最詳細Windows版本搭建安裝React Native環境配置
gin windows系統 adl 搭建環境 tools 想要 變量 rep home 說在前面的話: 感謝同事金曉冰傾情奉獻本環境搭建教程 之前我們已經講解了React Native的OS X系統的環境搭建以及配置,鑒於各大群裏有很多人反應在Windows環境搭建出現各種
移植QT5.6到嵌入式開發板(史上最詳細的QT移植教程)
文件傳輸 嵌入式環境 ubun 導致 字庫 etc -a led fill 目前網上的大多數 QT 移植教程還都停留在 qt4.8 版本,或者還有更老的 Qtopia ,但是目前 Qt 已經發展到最新的 5.7 版本了,我個人也已經使用了很長一段時間的 qt5.6 for
史上最詳細nodejs版本管理器nvm的安裝與使用(附註意事項和優化方案)
技術 註意 nod core 遇到 target 快速 方式 get 使用場景 在Node版本快速更新叠代的今天,新老項目使用的node版本號可能已經不相同了,node版本更新越來越快,項目越做越多,node切換版本號的需求越來越迫切,傳統卸載一個版本在安裝另一個版本的方
Android Studio獲取開發版SHA1值和發布版SHA1值的史上最詳細方法
nal code tail JD rip 通過 提示 打開 tor 前言:使用百度地圖時需要秘鑰,申請秘鑰時需要SHA1值,所以今天就總結一下怎麽獲取這個值。 正常情況下: 一、獲取開發版SHA1: 在此我直接用AndroidStudio提供的命令控制臺了,畢竟做Andro
XX-NET史上最詳細完整教程
偽造 不用 app 分享圖片 AS 版本 firefox 配置過程 自動切換 前言 XX-NET,系GAE類代理,即通過可用Google ip連接Google App Engine項目,然後把所有tcp請求發送給Google App Engine,最終實現科學式網絡的
利用Python實現導彈自動追蹤!室友面前的裝逼利器!史上最詳細!
技術 取數 跟隨鼠標 構造 制作 思想 室友 相同 精確 不好意思 ,上傳錯了。接著看圖! 由於待會要用pygame演示,他的坐標系是y軸向下,所以這裏我們也用y向下的坐標系。 算法總的思想就是根據上圖,把時間t分割成足夠小的片段(比如1/1000,
史上最詳細Windows下安裝 binwalk
github src cti tro 下載 安裝步驟 clas 文件 命令行 1. https://github.com/ReFirmLabs/binwalk到這裏下載binwalk,下載後解壓。 2. 找到下載後的文件夾, 在這裏要進行安裝步驟,一邊按著shift,一邊
史上最詳細Oracle 12c搭建過程(內附源碼包)
請求 源碼包下載 可用 groupadd set port instr lease 添加 簡介 Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關系數據庫管理系統。它是在數據庫領域一直處於領先地位的產品。可以說Oracle
Kafka史上最詳細原理總結
send shu control 並保存 分布 batch 重傳 應該 還要 Kafka是最初由Linkedin公司開發,是一個分布式、支持分區的(partition)、多副本的(replica),基於zookeeper協調的分布式消息系統,它的最大的特性就是可以實時的處理
史上最詳細的新浪廣告系統技術架構優化歷程
內容來源:2017 年 08 月 10 日,新浪廣告開發技術專家徐挺在“第二屆APMCon中國應用效能管理大會【大規模網路架構優化專場】”上進行的《新浪廣告系統的服務化優化歷程》演講分享。IT 大咖說作為獨家視訊合作方,經主辦方和講者審閱授權釋出。 閱讀字數:
史上最詳細的爬蟲教程,Python採集全網最受歡迎的 500 本書!
想看好書?想知道哪些書比較多人推薦,最好的方式就是看資料,接下來用 Python 爬取噹噹網五星圖書榜 TOP500 的書籍,或許能給我們參考參考! Python爬取目標 爬取噹噹網前500本受歡迎的書籍 解析書籍名稱
[程式碼審計]Emlog 6.0 Beta-史上最詳細程式碼審計分析
*2018-11-02 之前這篇文章發到 Freebuf 上面的由於某些原因刪除了,卻被某些爬蟲網站給抓取了,現在公開,希望大家做一個合理的學習,切勿用於非法用途!官網也更新了6.0正式版,現在作為最後公佈也不存在不妥之處,再次宣告:僅供學習參考,任何由個人行為產生的違法犯罪結果自行承擔!