英文词,程序查错的意思。bug原意是小虫,例如跳蚤,虱子,苍蝇等,Debug就是找小虫,消灭它。
Debug有很多方法。
自己手工查错,例如加入许多打印语句,进行执行线路跟踪,找到出错地点,假设输入变量值的范围变化,看哪里溢出。也叫Debug。
VC++里有VC++的Debug,执行线路跟踪,变量变化跟踪,内存变化跟踪。在Visual
Studio控制下,Build->Start
Debug下有各种查错方法可用。
DOS里有Debug,
在DOS窗打命令Debug启动Debug,拍入问号,你可以得到详细的Debug用法:
Runs
Debug,
a
program
testing
and
editing
tool.
DEBUG
[[drive:][path]filename
[testfile-parameters]]
[drive:][path]filename
Specifies
the
file
you
want
to
test.
testfile-parameters
Specifies
command-line
information
required
by
the
file
you
want
to
test.
assemble
A
[address]
compare
C
range
address
dump
D
[range]
enter
E
address
[list]
fill
F
range
list
go
G
[=address]
[addresses]
hex
H
value1
value2
input
I
port
load
L
[address]
[drive]
[firstsector]
[number]
move
M
range
address
name
N
[pathname]
[arglist]
output
O
port
byte
proceed
P
[=address]
[number]
quit
Q
register
R
[register]
search
S
range
list
trace
T
[=address]
[value]
unassemble
U
[range]
write
W
[address]
[drive]
[firstsector]
[number]
allocate
expanded
memory
XA
[#pages]
deallocate
expanded
memory
XD
[handle]
map
expanded
memory
pages
XM
[Lpage]
[Ppage]
[handle]
display
expanded
memory
status
XS
不同机种有不同的debug.
“详细的解释”要看是那个Debug软件,自己查书或Debug自带的帮助文件或说明。
这题在那见过 。。考试题?PNP技术介绍
PNP是由Microsoft提出的,英文Plug and play的缩写,中译即插即用意思是系统自动侦测周边设备和板卡并自动安装设备驱动程序,作到插上就能用,无须人工干预,是Windows自带的一项技术.早在两年前就已应用到我们的系统中,大大提高了我们系统的兼容性、易用性和易维护性,现在已成为无盘技术的基本要求。
PNP无盘介绍
做过无盘95网络的网友都知道,原来的rpl 95安装过程是非常麻烦的,稍有不注意,安装就会失败,如果在你的网络中三种以上的配置,如果是两年前我一定会建议你这样的网络最好不要做无盘网络,因为rpl 95对于不同配置的工作站,要求每种工作站配置都要安装和设置一遍,原来的安装技术真让人受不了, 连微软都放弃了这种技术,后来针对做无盘中存在的问题,国外Intel、3com等公司开发出的新的pxe 技术来支持安装无盘9x 系统,国内比较出名的张裕飞开发的rpl98x 和启明星公司的pxe 和rpl 无盘98、华教的PXE及RPL技术。客观来说pxe 技术要比rpl 技术好用一些,但pxe 存在对硬件兼性差的缺点,即有些主板和网卡不能使用pxe 技术,自从win98出来以后,除了pxe可以支持98外,rpl基本上不支持无盘98了,于是有了假98(也就是启动画面是98的界面,这只是替换了一个logo.sys文件而已)我们的无盘技术就是吸引pxe 和rpl 技术的优点开发出点的,做出的无盘98是真正的无盘98,使得这套无盘具备了pxe 技术的稳定、高效,同时又具有rpl 的良好兼容性。现在越来越多的网吧选用了我们的无盘系统。
PNP无盘特点
追月网络广大网吧老板提供全套网络解决方案,追月网络技术工程师为你设身处地的着想,在网吧管理,节约初装成本,节约运行成本方面做了大量的工作,现在本司全面提供一套适合于所有网吧的无盘解决方案,这套方案具有以下五个优点可以用“多、快、好、省、易”来概括。
多;我们为您提供一套专业级别的80G的网络在线游戏+80G的硬盘游戏+80G的影视节目。我们还时刻升级系统使您的玩家永远感受最新的游戏刺激和影视享受。
快; CS游戏(反恐精英)建网只要20秒,加入游戏只要18秒,CS达到专业高手要求的每秒90帧。我们修改程序使系统更稳定,调整参数使游戏更快速,您的玩家更舒心。单台服务器带60台无盘站运行速度可与有盘站媲美。如使用千兆换机及千兆网卡(本站提供以百兆的价格享受千兆的速度,一台24口千兆交换机(带两个千兆口及两个千兆插槽)加一块网卡仅卖2200元)带80台机与有盘站比在速度上没有什么差别。
好; 有盘站让你每天都在手忙脚乱的克隆硬盘,安装程序,设置系统。我们系统内含自动还原功能,可10秒自动修复系统,不怕随意开关机、误操作、甚至破坏,有优异的系统稳定性和安全性。游戏的安装和升级仅需一次。采用最新的网吧管理记费软件,网吧收支一目了然。最重要的如果有硬盘经常不正常开关机使硬盘很快损坏。
省; 我们构造专业网吧,倡导高档配置,豪华服务。根据我们建网吧的经验和实践,深感网吧只有专业才有市场,高档才有竞争力,豪华才有效益。追月网络可以让您省下硬盘投入去提升你的机器档次,装修您的网吧环境。而我们则使您的网吧系统更专业,让脏乱黑差的业余网吧无生存之地。整体提升广大网吧形象,使网吧行业进入良性循环的轨道。
易;追月无盘网络可以做到零维护,只要服务器上安装好后,不需要专业人员维护,不怕破坏,在安装新软件及游戏时更加方便,只要在一台机上安装好之后,重启其他机子按住设定的一个键,5分钟就可以全部安装好,在有盘机上要一台一台机的安装,费时费力。
PNP无盘98攻略
Windows与BIOS 如何使用pnp
什么是pnp
即插即用(PNP)的由来
对于许多PC用户而言,如果需要为你的PC增加一些新的功能,比如欣赏CD唱盘、看VCD影碟、收发传真等等,那么就得为你的PC机增加一些新的设备,如声卡、CD-ROM、MPEG硬件解压卡、FAX/MODEM传真卡等一系列新设备,通常而言,安装新设备的过程为:
(1) 按照所购买设备的说明来设置开关和跳线。
(2) 正确地将新设备按规定的要求插入主板扩展槽中。
(3) 安装随新设备所配的驱动程序。
(4) 重新引导系统。
然后,你很有可能得花费大量 的时间和精力来处理安装过程中所出现的种种问题。比如手工改变设备的开关或跳线,跟踪CONFIG。SYS文件以解决内部驻留程序的冲突等等。原因在于一台PC机至少有一个或者多个总线设备(BUS DEVICE),而多个总线设备则有可能共享相同的系统总线(SYSTEM BUS),于是这就不可避免地产生硬件资源上的冲突。轻者是新安装的设备无法使用或系统无法启动,严重的话就会导致系统的崩溃。怎样去解决这个问题?人们希望系统应该能提供对底层硬件资源包括IRQ(中断请求)、I/O(输入/输出)端口、DMA(直接内存存取)通道以及内容等的智能管理能力,免除用户因安装新的硬件设备而带来的烦恼。
随着微软推出WINDOWS 95/98,它也宣传了WINDOWS95/98为用户提供的底层硬件资源的智能管理能力,即WINDOWS95/98具有即插即用(PNP:Plug and Play)的功能,由此即插即用才为人们广泛重视。
即插即用这个概念很久以前就已被提出,它的标准则始于几种洞庭湖的解决PC硬件配置问题的方案,其中包括IBM的微通道总线以及COMPAQ公司在EISA(扩展标准工业系统总线)上的不懈努力。MICROSOFT制订即插即用的规范的时间从1991年才开始,促使MICROSOFT发展即插即用是APPLE公司在其广告中宣称MICROSOFT WINDOWS系统列在易于配置和使用方面远远比不上APPLE公司的MAC OS操作系统,APPLE公司的MACINTOSH微机上修改系统的设置简单到你只需插入或拔出扩展卡,机器就可以在其SYSTEM系列操作系统下很好地工作,从而省去了再设置开关、跳线或分配系统资源的烦恼,可以说是现阶段下完全的即插即用。传说固然归于传说,然而归根结底的原因还是因为技术的进步使得MICROSFT欲垄断个人PC机的操作系统。而欲使系统在易于使用上有一个飞跃,那么它就必须解决多个总线设备共享系统总线时所带来的系统底层资源的分配和再分配问题。MICROSFOT 同INTEL和COMPAQ的结盟促使其在1993年以后相继颂了即插即用的规范,包括其他总线类型如ISA、EISA、PCMCIA、PCI、VESA以及SCSI等,但是就现阶段而言,完全意义上的即插即用恐怕还需要一段时间才能够进一步完善。
MICROSFOT在WINDOWS FOR WORKGROUPS和WINDOWS NT上就已开始尝试一些设备检测和配置方面的试验。在WINDOWS FOR WORKGROUPS中,操作系统可自动检测出视频适配卡、鼠标、键盘及网络适配卡等的类型。WINDOWS NT则更进一步,它可以检测出SCSI设备及其他一些硬件,到了WINDOWS95/98,则几乎可以实现全自动的安装和系统的动态重配置。尽管WINDOWS95不可能对所有旧设备都能正确地识别,甚至有时也会求助于用户,但就即插即用本身而言,这已经是一个真正的飞跃了。现在的WIDNOWS98/2000在PNP方面又得到进一步的发展。
第二节 以非PNP方式驱动网卡
1.查看系统是否已经侦测到网卡
进入系统属性,点选设备管理器,查看其中的未知设备表中是否有"PCI Ethernet Controler",若没有则说WIN98未检测到你的网卡,网卡可能未正确安装,或已经损坏,如图5-02,其中的未知设备为正常情况下显未的尚未驱动的网卡。
2.保存现有的网卡的注册表项
单击“开始”,选取“运行”,输入“regedit”,进入注册表编辑器,找到如下主键
[HKEY_LOCAL_MACHINE\Enum\PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10]
将其导出,存为文件PCI8139.REG
3.替换网卡驱动程序
找到以前的版本的WIN95A的RTL8139网卡的驱动,将其中的RTL8139.SYS复制到网卡盘上的WIN98目录,覆盖现有NDIS5的RTL8139的网卡驱动程序。
4.安装替换后的网卡驱动程序
按正常的方式安装已经替换的网卡驱动程序,仍使用网卡盘上的WIN98目录,安装好再添加其它的网络协议如IPX,但建议不要安装那些根本用不的上的网络协议,如NETBETUI,MS DLC,因为如非必要这些协议是用不上,装了反而会影响网的速度,装好后新启动计算机。
5.修改注册表项
运行Regedit进入注册表编辑器,找到如下方键
[HKEY_LOCAL_MACHINE\Enum\PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10]
将其导出,存为PNP8139.REG,编缉PNP8139.REG文件,将其中主键中的PCI、VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10和BUS_00&DEV_08&FUNC_00分别以ROOT、NET和0000替换并将PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\BUS_00&DEV_08&FUNC_00\LogConfig]
下的键值删除,并保存,以下为修改前后的范例文件的内容
修改前的PNP8139.REG
REGEDIT4
[HKEY_LOCAL_MACHINE\Enum\PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10]
[HKEY_LOCAL_MACHINE\Enum\PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\BUS_00&DEV_08&FUNC_00]
"Capabilities"=hex:14,00,00,00
"HardwareID"="PCI\\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10,PCI\\VEN_10EC&DEV_8139&SUBSYS_813910EC,PCI\\VEN_10EC&DEV_8139&REV_10&CC_0200,PCI\\VEN_10EC&DEV_8139&CC_020000,PCI\\VEN_10EC&DEV_8139&CC_0200"
"CompatibleIDs"="PCI\\VEN_10EC&DEV_8139&REV_10,PCI\\VEN_10EC&DEV_8139,PCI\\VEN_10EC&CC_020000,PCI\\VEN_10EC&CC_0200,PCI\\VEN_10EC,PCI\\CC_020000,PCI\\CC_0200,PCI\\VEN_10EC&DEV_8139&SUBSYS_813910EC"
"DeviceDesc"="Realtek RTL8139(A/B/C/8130) PCI Fast Ethernet NIC"
"HWRevision"="016"
"Class"="Net"
"ConfigFlags"=hex:10,00,00,00
"ClassGUID"="{4d36e972-e325-11ce-bfc1-08002be10318}"
"Driver"="Net\\0000"
"Mfg"="Realtek"
[HKEY_LOCAL_MACHINE\Enum\PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\BUS_00&DEV_08&FUNC_00\LogConfig]
"0000"=hex:00,04,00,00,00,30,00,00,10,00,00,00,04,00,00,00,03,00,00,00,ff,ff,\
00,00,30,00,00,00,01,00,00,00,01,00,14,00,00,00,80,d4,ff,00,80,d4,01,00,00,\
00,00,ff,ff,ff,00,01,00,00,00,00,00,00,ff,ff,ff,ff,01,00,00,00,14,00,00,00,\
24,00,00,00,02,00,00,00,01,00,0c,00,00,e8,ff,e8,00,00,ff,00,00,ff,00,01,00,\
00,ff,ff,00,00,ff,00,10,00,00,00,30,00,00,00,01,00,00,00,01,00,14,00,00,c0,\
0c,00,ff,5f,0d,00,00,00,00,00,ff,ff,ff,ff,00,a0,00,00,00,c0,0c,00,ff,5f,0d,\
00,00,00,00,00,ff,00,00,00,00,00,00,00
[HKEY_LOCAL_MACHINE\Enum\PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\BUS_00&DEV_08&FUNC_00\Bindings]
"NWLINK\\0000"=""
"MSTCP\\0000"=""
修改后的PNP8139.REG
REGEDIT4
[HKEY_LOCAL_MACHINE\Enum\ROOT\NET]
[HKEY_LOCAL_MACHINE\Enum\ROOT\NET\0000]
"Capabilities"=hex:14,00,00,00
"HardwareID"="PCI\\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10,PCI\\VEN_10EC&DEV_8139&SUBSYS_813910EC,PCI\\VEN_10EC&DEV_8139&REV_10&CC_0200,PCI\\VEN_10EC&DEV_8139&CC_020000,PCI\\VEN_10EC&DEV_8139&CC_0200"
"CompatibleIDs"="PCI\\VEN_10EC&DEV_8139&REV_10,PCI\\VEN_10EC&DEV_8139,PCI\\VEN_10EC&CC_020000,PCI\\VEN_10EC&CC_0200,PCI\\VEN_10EC,PCI\\CC_020000,PCI\\CC_0200,PCI\\VEN_10EC&DEV_8139&SUBSYS_813910EC"
"DeviceDesc"="Realtek RTL8139(A/B/C/8130) PCI Fast Ethernet NIC"
"HWRevision"="016"
"Class"="Net"
"ConfigFlags"=hex:10,00,00,00
"ClassGUID"="{4d36e972-e325-11ce-bfc1-08002be10318}"
"Driver"="Net\\0000"
"Mfg"="Realtek"
[HKEY_LOCAL_MACHINE\Enum\ROOT\NET\0000\Bindings]
"NWLINK\\0000"=""
"MSTCP\\0000"=""
6.导入网卡注册项
导入PNP8139.REG文件,删除注册表中原有的网卡注册项即
[HKEY_LOCAL_MACHINE\Enum\PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10]
同时导入PCI8139.REG文件,导入这个文件是为了让WINDOWS启动时不再把网卡作为一个新的PNP的设备来看待,而作为一个已有的未知设备,就不会再去寻找该设备的驱动程序,这样,在无盘启动时就不会因更新驱动程序而发生网络中断;而前面导入的PNP8139.REG文件是没有中断信息的,我们的目的也就是让WINDOWS把网卡当作一种非PNP设备来驱动,下次WINDOWS再次找到相同的硬件设备,但中断信息却不同时,就可以将该设备作为一个非PNP设备,调用现有的驱动程序,来强行驱动该设备,在找不到新的驱动程序时,就不会更新现有的驱动程序,这样在任何主板上的任何可用插槽上,WINDOWS都可以强行驱动这种网卡,这样就实现了无盘WIN98对这种网卡的即插即用,在换主板或者是换插槽时就不会出现"Can't Find Krnl386.exe"之类的错误,而不能进入WINDOWS的GUI界面了。
7.清除现有的网卡的驱动信息
将注册表中,WIN98系统目录中所有关于RTL8139的驱动信息,并将能找到网卡驱动信息的搜索路径清除掉重启系统。
至此此硬盘系统已经对任何主板的任何可用的PCI插槽中的网卡进行强行驱动,并正常 连接网络
第三节 上传本地文件
上一节已经装好可驱动基于本地硬盘的PNP系统下面就是要借助于Litenet的上传 工作,将本地文件上传至文件服务器
1.修改AUTOEXEC.BAT文件,其内容如下
@EHCO OFF
SET WINDIR=C:\WINDOWS ;设置WINDOWS所在目录
SET DRIVE=C: ;设置WINDOWS所在驱动器
SET NETCARD=RTSND.DOS ;设置实模下的网卡驱动程序
SET SERVER=LEITHER ;设置文件服务器的NETBIOS名称
SET SHARE=PNP98 ;设置上传的目标目录,即其享的WINDOWS目录
2.建立、导入SNAPSOT.REG文件,并复制SNASHOT,VXD文件
以下为SNAPSHOT.REG内容
REGEDIT4
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\SNAPSHOT]
"NetClean"=hex:01
"Start"=hex:00
"StaticVxD"="SNAPSHOT.VXD"
建立SNAPSOT.REG文件后即可导入注册表中,随后将SNAPSHOT.VXD文件复制C:\WINDOWS\SYSTEM目录下。
3.建立Litenet.reg文件如下
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Qualystem\LiteNET PC]
"Step"="2"
"Version"="1.15"
导入Litenet.reg文件,这一步主要是为了正常使用Litenet的上传 工具,因为QSYNCH.EXE在运行是要判断系统的中的是否已经安装Litenet,导入这个文件便可以骗过QSYNCH.EXE,使它不闹别扭。
4.复制Litenet的所用文件到WINDOWS目录下,重新启动系统,运行Qsynch.exe将本地文件上传 。
5.用WIN95A的驱动程序RTL8139.SYS替换用Litenet制作的软件中的RTL8139.SYS.
如果你到这里一直很顺利,那么恭喜你,你的客启端的WIN98已经安装完成,用现有的启动包已经可以启动真正的PNP的无盘WIN98了,你可以在无盘下安装显卡和声卡的驱动程序了!
第四节 PNP无盘系统的优化
在前面几个章中介绍了使用Litenet安装无盘WIN98的方法,Litenet自动为用户生一个启动软盘,用这个软盘,生成启动映象,才能以PXE方式启动无盘WIN98,因为该启动包在每次启动过程中,都要复制系统注册表,并且会进行二次登录,这样就降低了启动速度,在本节中将向读者详细介绍如何在不使 用任何Litenet的前提下,快速启动无盘WIN98,.如何使之能自动识别并安装各种PNP硬件,以及常见问题的解决方法.
一.修改已有启动包
1.删除不必要的文件
在Litenet生成的启动过程中,会要求插入E文的WIN98第二版的光盘,此时将会向软盘中写入一文件,在启动包中,这些文件,只有Litenet的一些程序才能用到,现在不使用Litenet的情况下,这些文件也相应可去掉,这些文件为:
KEYB.COM,KEYBOARD.SYS,KEYBRD2.SYS,SETVARS.BAT,TUNING.BAT
另处一些Litenet的可执行文件亦可去掉,这些文件为:
QAUTOLOG.EXE,QUALCNX.EXE,QUALREG.EXE
2.增加和替换部分文件
前面去掉了一些Litenet的文件,相应地也增加一些我们需要的文件,只有一个:SETMDIR.EXE,这个文件可以无盘WIN95的启动包中找到,再就是用WIN95A的驱动程序替换掉启动包中现有的RTL8139.SYS文件,因为用这个文件是不能实现网卡的PNP功能的,而网卡的PNP则PNP无盘WIN98中至关重要的一环.
3.修改Autoexec.bat文件将其内容修改如下
@echo off
CTTY NUL 屏蔽所有的启动信息
cd \winboot
SET WINDIR=C:\WINDOWS
SET SERVER=Leither 设置文件服务器名
SET SHARE=Pnp98 设置共享的C:所在目录
@md %WINDIR% >NUL
@md %WINDIR%\SYSTEM >NUL
COPY A:\WINBOOT\RTL8139.SYS %WINDIR%\SYSTEM >NUL
@CALL STARTNET.BAT 转到启动网络部分
再新建STARTNET.BAT文件如下
@echo off
set comspec=a:\command.com
set temp=a:\winboot
SNAPSHOT /S /B:A /M:124
NET START IPX
NET LOGON ADMIN ADMIN PASS /YES /SAVEPW:NO 以Admin份身登录,其口令为PASS
NET USE C: \\%SERVER%\%SHARE% /Y 强行映射C:为共享目录,隐掉RAM盘
C:
set path=
path=%windir%%windir%\command%path%
set comspec=%windir%\command.com
setmdir /m /r:c:\Windows
set temp=%windir%\temp
set tmp=%windir%\temp
cd %windir%
Win.bat
4.编辑修改Win.bat文件
QSetBD C:
Net use D: \\%Server%\SYS /y 映射SYS共享目录为D:,在此目录存放WIN98 的源文件, 和各种PNP硬件的驱动程序,以 方便 WIN98在启动时能 自动识别各种PNP硬件,并为之安装驱动程序
Net use E: \\%Server%\MicroNet /y 映射MICRONET共享目录为E:,该目录下含有所有的用户 目录,以方便管理登录时进行用户文件的管理
Net use F: \\%Server%\APPL /y 常 用的应用程序的安装目录
NET USE G: \\%Server%\GAME /Y 游戏
NET USE H: \\%Server%\CAI /Y 计算机辅助教学
Net use I: \\%Server%\Film /Y 电影库
Freemem
CTTY CON
%Windir%\Win.com
至此启动包部分已经完成可以放到文件服务器的PXE的启动包所在目录,但现在已经可以启动你的无盘WIN98了,你可以安装显卡声卡的的驱动程序了,但如果你这是在做模板系统(装好后可随处克隆),建议不要安装主板的驱程序,否则克隆不同芯片组的主板可能会出现一些意想不不到的问题.
5修改最小注册表,和批文件的优化
上步做好的无盘WIN98虽然可以做一些象有盘系统一样的事情,但只能限于一个用户使用,但你一启动进入后,会发现刚才射映的那些盘符全都不见了,也就是刚才在WIN.BAT中映射的网络盘在WINDOWS下全部失效,这是最小注册表的静态系统盘符不够而导致的,将下列段导入最小注册表,即可解决问题
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Network\Real Mode Net]
"transport"="*nwlink,ndishlp.sys"
"netcard"="rtsnd.dos"
"LoadRMDrivers"=hex:00,00,00,00
"preferredredir"="NWREDIR"
"Transition"=hex:01
"SetupN"=hex:01
"SetupNPath"="C:\\WINDOWS\\"
"StaticDrive"="C,D,E,F,G,H,I" 此处可调整系统的静态盘符,可从C调到Z
通过上述调整后系统的盘符便可你自己要多少就有多少了,但这还不能解决多用户共用WINDOWS目录的问题,要圆满解决此问题,这里有两种方法:一是使用Litenet的QUALCNX.EXE文件,使用其能够自动对不同网卡号的计算机进行编号,在此基础上修改相应的批处理文件,便可实现二是手动编程序,读出网卡的MAC地址,再根据现有的网卡数据库来确定机器编号,从而实现多用户登录,用这种方法,可真正实现不同用户登录,不用进行二次登录,方便管理,加快了启动的速度下面将分别介绍这两种方法:
6.使用Litenet的的部分文件的方法
使用这种方法要重新编制现有的STARTNET.BAT和WIN.BAT文件,改写后的文件如下
STARTNET.BAT
@echo off
set comspec=a:\command.com
SET NETBUFF=124
set temp=a:\winboot
CTTY CON 开启屏幕显示,以便调试
lh qualcnx ADMIN PASS >nul 以用户名ADMIN,密码PASS进行登录,并生成USERNAME.BAT, 此处可手工编程实现
CTTY NUL 关闭屏幕显示,屏启动信息
call %TEMP%\username.bat USERNAME.BAT能将变量CHN设 置为用户名
QAUTOLOG 此处为二次登录手工编程可去掉
NET USE E: \\%SERVER%\%CHN% 连接用户目录到E:
SET UserName=%CHN% 设置用户名变量
SET Inited=NO 设置初始化标志为NO
@if exist E:\WINDOWS\SYSTEM.DAT goto SKIPINIT 判断用户目录下是否有SYSTEM.DAT文件,若 有则忽略初始化直接执行系统启动部分
CTTY CON 开启屏幕显示,以便调试
@ECHO Starting Initialize Workstation %CHN%....... 显示初始化信息
CTTY NUL
SET PATH=
SET PATH=%windir%%windir%\COMMAND
MD E:\WINDOWS 在E:建立WINDOWS目录用于存放系统注册
MD E:\WINDOWS\TEMP 在E:\WINDOWS下建立TEMP目录
set temp=E:\WINDOWS\TEMP 将系统临时目录定向为E:\WINDOWS\TEMP
set tmp=E:\WINDOWS\TEMP
E:
*lh %windir%\qualreg E:\WINDOWS /R /A 用QUALREG复制并修改系统注册表到用户目录,此命 令可用COPY命代替,但后面WIN.BAT中带*的部分就 不能去掉此处可手工编程实现
set winbootdir=%windir%
SET Inited=YES 设置已经完成初始化标志Inited为YES
CTTY CON 开启屏幕显示功能
@Echo Workstation %CHN% Has Been Initiliazed! 显示完成初始信息
:SKIPINIT 忽略初始化跳转标号
C:
CTTY NUL
@%Windir%\Win.bat 转到执行C:\WINDOWS\下的WIN.BAT文件
WIN.BAT文件内容如下:
set path=
path=%windir%%windir%\command%windir%\system
setmdir /m /r:E:\Windows 注册表重定向到E:\WINDOWS下
set comspec=%windir%\command.com 命令解释器重定向为C:\WINDOWS\COMMAND.COM
IF %Inited%==NO GOTO SKIPINIT 根据初始化标志,判断是否跳转
MD E:\我的文档 在E:\建站"我的文档"目录,用于存放文档
*QPATCH %Windir%\Client.reg E:\Windows\%CHN%.REG 若在前面的STARTNET.BAT文件中用 了带*的部分则此部分便可不要,后面带*也可以不要此处可手 工编程实,亦可模仿华教的笨方法,用ECHO命令
*Regedit E:\Windows\%CHN%.REG 导入客户端配置注册表文件
*regedit %Windir%\Policies.POL 导入系统策略文件
:SKIPINIT 忽略初始化跳转标号
QSetBD %DRIVE% 设置启动盘符为C:,此处暂无程序代替
Net use D: \\%SERVER%\SYS /y 映射SYS共享目录为D:,在此目录存放WIN98 的源文件, 和各种PNP硬件的驱动程序,以 方便 WIN98在启动时能
自动识别各种PNP硬件,并为之安装驱动程序
Net use F: \\%Server%\APPL /y 常 用的应用程序的安装目录
NET USE G: \\%Server%\GAME /Y 游戏
NET USE H: \\%Server%\CAI /Y 计算机辅助教学
Net use I: \\%Server%\Film /Y 电影库
NET USE H: \\%Server%\Music /Y 音乐库
Freemem 消除内存中的A:可用QRESTALL代替
CTTY CON 开启屏幕显示功能准备进入WINDOWS
%Windir%\Win.com 运行WIN.COM,进行入WINDOWS
至此,使用Litenet部分文件来达到不同用户登录共享WINDOWS目录无盘启动的方法,已经介绍完毕,在使用之前还必须将那些在STARTNET.BAT和WIN.BAT中使用过的文件复制到相应的目录中,否则系统将出现问题,或者不能启动,或者启动不正常..
7.自己手编程序
要手工编程序实现Litenet能实现的上述功能,就必须写出和Litenet功能相同或相似的程序出来,要用到手工编程的地方,笔者已经在上述方法已经有了注解,本书附录中将有,要用到的各种程序的源代码,用的是Tuobo Pascal v6.0,至于实现方法和上面大同小异,这里就不缀述了,下面将分别列出上面要用到的一些注册表文件的内容,这些文件在手工编程方法中是必不可少的.
以下为Client.reg文件的内容:
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Mpsoft]
[HKEY_LOCAL_MACHINE\Software\Mpsoft\Smenu]
"computernum"="{%CHN%}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Winlogon]
"AutoAdminLogon"="{%CHN%}"
"DefaultUserName"="{%CHN%}"
"DefaultPassword"="{%CHN%}"
[HKEY_LOCAL_MACHINE\Network\Logon]
"DontShowLastUser"=dword:00000000
"UserName"="{%CHN%}"
"password"="{%CHN%}"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Winlogon]
"DefaultUserName"="{%USERNAME%}"
"AutoAdminLogon"="1"
"DefaultPassword"="{%USERNAME%}"
"DefaultDomainName"="{%SERVER%}"
[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
"AppData"="E:\\Application Data"
"Recent"="E:\\Recent"
"Cache"="E:\\Temporary Internet Files"
"Cookies"="E:\\Cookies"
"History"="E:\\History"
"Personal"="E:\\我的文档"
[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
"AppData"="E:\\Application Data"
"Recent"="E:\\Recent"
"Cache"="E:\\Temporary Internet Files"
"Cookies"="E:\\Cook
两台服务器手动部署大数据平台
##### 初始服务器数量
- 2台centos7
##### 建议配置
- 32G(RAM)
- 24cpu
- 10t(SATA)
### 1.环境
- 系统centos7
- jdk:1.8.0_171(64位)
- zookeeper:3.4.8
- spark-2.1.0-bin-hadoop2.6
- kafka_2.10-0.10.2.1
- hadoop-2.7.0
- hbase-1.2.6
- elasticsearch-6.3.0
### 2.系统准备
对应的安装包文件:
elasticsearch-6.3.0.tar.gz
hadoop-2.7.0.tar.gz
hbase-1.2.6-bin.tar.gz
jdk-8u171-linux-x64.tar.gz
kafka_2.10-0.10.2.1.tgz
mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar
spark2.1.0hadoop2.6.tgz.gz
zookeeper-3.4.8.tar.gz
一、 配置好hosts
```
两台设备的host
ip1 hello1
ip2 hello2
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
二、机器之间做好免密
1. 在hello1服务器中,cd /root/
2. ssh-keygen -trsa (全部按回车,走默认配置)
3. cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
4. chmod 600 ~/.ssh/authorized_keys
5. scp ~/.ssh/authorized_keys root@hello2:~/.ssh/
到此处时可以实现hello1机器上通过root账户登录到hello2中,但从hello2中无法通过免密码登录到hello1服务器。
6. 在hello2服务器中,cd /root/
7. ssh-keygen -trsa (全部按回车,走默认配置)
8. cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
9. scp ~/.ssh/authorized_keys root@hello1:~/.ssh/
到此处时可以实现hello1机器与hello2机器之间免密码互通
三、建立一个用户操作elasticsearch用户,后期所有安装软件放在该目录下(当前使用root账户安装)
1.添加用户:
useradd -m -s /bin/bash es
2.为该用户设置密码:
password es
四、安装JDK
如果系统自带openjdk,先将其卸载掉!
1.创建jdk安装路径(hello1、hello2都执行)
执行: mkdir /usr/java
2.解压缩jdk到安装目录
执行: tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/java/
3.添加环境变量
vi /etc/profile,添加以下语句
export JAVA_HOME=/usr/java/jdk1.8.0_171
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
执行:source /etc/profile
4.复制安装包和数据目录到hello2
scp -r /usr/java/jdk1.8.0_171 hello2:/usr/java/
scp /etc/profile hello2:/etc/
登录到hello2上,进入/home/es目录
执行: source /etc/profile
5、验证:
两台服务器上分别执行: java -version,查看输出的版本是否与安装的版本一致。
五、安装mysql
1.如果centos系统中自带mariadb,先卸载mariadb。
2.解压mysql安装包程序
执行:tar -xvf mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar
3.依次安装里面rpm包组建
rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.23-1.el7.x86_64.rpm
4.启动MySQL
执行: systemctl start mysqld
5.登录mysql服务器
这种方式安装好后,会再my.cnf文件中自动生成一个密码,
执行:cat /var/log/mysqld.log | grep password, 出现如下记录:
2017-09-15T01:58:11.863301Z 1 [Note] A temporary password is generated for root@localhost: m-NdrSG4ipuO
其中“m-NdrSG4ipuO”为mysql root账户的初始密码。
登录:
执行: mysql -uroot -p
输入密码: m-NdrSG4ipuO,即可进入mysql服务器。
后续可自行修改root密码,创建新账户等操作。
六、安装zookeeper
1.解压zookeeper安装包到指定目录(/home/es)
tar -zxvf zookeeper-3.4.8.tar.gz -C /home/es
2.创建程序软连接
cd /home/es/
ln -s zookeeper-3.4.8 zookeeper
3.添加执行路径环境
vi /etc/profile
添加
export ZOOKEEPER_HOME=/home/es/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
执行
source /etc/profile
4.修改配置文件
cd /home/es/zookeeper
cp conf/zoo_sample.cfg conf/zoo.cfg
在/home/data下创建对应的zookeeper数据存储目录
mkdir /home/data/zookeeper
mkdir /home/data/zookeeper/data
mkdir /home/data/zookeeper/log
修改配置文件:conf/zoo.cfg,添加以下语句
dataDir=/home/data/zookeeper/data
dataLogDir=/home/data/zookeeper/log
server.1=hello1:2888:3888
server.2=hello2:2888:3888
5.创建server表示符文件
touch /home/data/zookeeper/data/myid
echo echo 1>/home/data/zookeeper/data/myid
6.复制安装包和数据目录到hello2
scp -r /home/es/zookeeper-3.4.8 es@hello2:/home/es
scp -r /home/data/zookeeper es@hello2:/home/data
scp /etc/profile es@hello2:/etc
登录到hello2上
cd /home/es
ln -s zookeeper-3.4.8 zookeeper
echo echo 2>/home/data/zookeeper/data/myid
执行
source /etc/profile
7.两台机器上分别执行
zkServer.sh start
8.验证
jps | grep QuorumPeerMain,查看是否有该进程
zkServer.sh status,查看服务状态
六、安装kafka
1.解压kafka安装包到指定目录(/home/es)
tar -zxvf kafka_2.10-0.10.2.1.tgz -C /home/es
2.创建程序软连接
cd /home/es/
ln -s kafka_2.10-0.10.2.1 kafka
3.修改配置文件
备份:
cp config/server.properties config/server.properties.bak
创建kafka日志目录:
mkdir /home/data/kafka
mkdir /home/data/kafka/kafka-logs
修改:config/server.properties,具体对应字段如下:
broker.id=0
delete.topic.enable=true
num.network.threads=10
num.io.threads=32
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/home/data/kafka/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=hello1:2181,hello2:2181
zookeeper.connection.timeout.ms=6000
6.复制安装包和数据目录到hello2
scp -r /home/es/kafka_2.10-0.10.2.1 es@hello2:/home/es
scp -r /home/data/kafka es@hello2:/home/data
修改hello2中的配置
登录到hello2上,cd /home/es/kafka,修改config/server.properties中broker.id值为2.
7.启动kafka
在两台机器的/home/es/kafka中,创建一个日志存放目录:mkdir start_log,执行以下命令:
nohup bin/kafka-server-start.sh config/server.properties >start_log/kafka_start_log 2>&1 &
8.验证运行情况
jps | grep Kafka,查看进程
通过kafka命令查看topic。
七、安装hadoop
1.解压hadoop安装包到指定目录(/home/es)
tar -zxvf hadoop-2.7.0.tar.gz -C /home/es
2.创建程序软连接
cd /home/es/
ln -s hadoop-2.7.0 hadoop
3.创建数据存放目录
mkdir /home/data/hadoop
mkdir /home/data/hadoop/tmp
mkdir /home/data/hadoop/dfs
mkdir /home/data/hadoop/dfs/data
mkdir /home/data/hadoop/dfs/name
4.修改配置文件
修改/home/es/hadoop/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hello1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/data/hadoop/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131702</value>
</property>
</configuration>
修改/home/es/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/data/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/data/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hello1:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
修改/home/es/hadoop/etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hello1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hello1:19888</value>
</property>
</configuration>
修改/home/es/hadoop/etc/hadoop/yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>hello1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hello1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hello1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hello1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hello1:8088</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>768</value>
</property>
</configuration>
配置/home/es/hadoop/etc/hadoop目录下hadoop-env.sh、yarn-env.sh的JAVA_HOME(不设置的话,启动不了)
export JAVA_HOME=/usr/java/jdk1.8.0_171
配置/home/es/hadoop/etc/hadoop目录下的slaves,删除默认的localhost,增加2个从节点,
hello1
hello2
5、将配置好的Hadoop复制到各个节点对应位置上,通过scp传送
scp -r /home/es/hadoop-2.7.0 hello2:/home/es/
scp -r /home/data/hadoop hello2:/home/data/
登录到hello2上,进入/home/es目录
执行: ln -s hadoop-2.7.0 hadoop
6、格式化nameNode及启动hadoop
在主服务器启动hadoop,从节点会自动启动,进入/home/es/hadoop目录
初始化,输入命令,bin/hdfs namenode -format
全部启动sbin/start-all.sh,也可以分开sbin/start-dfs.sh、sbin/start-yarn.sh
输入命令,jps,可以看到相关信息
7、验证hadoop运行情况
浏览器打开http://hello1:8088/
浏览器打开http://hello1:50070/
8、添加hadoop环境变量到/etc/profile
export HADOOP_HOME=/home/es/hadoop export PATH=$PATH:$HADOOP_HOME/sbin
export PATH=$PATH:$HADOOP_HOME/bin
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
执行: source /etc/profile
八、安装Hbase
1.解压hbase安装包到指定目录(/home/es)
tar -zxvf hbase-1.2.6-bin.tar.gz -C /home/es
2.创建程序软连接
cd /home/es/
ln -s hbase-1.2.6 hbase
3.添加hbase环境变量到/etc/profile
export HBASE_HOME=/home/es/hbase
export PATH=$HBASE_HOME/bin:$PATH
执行:source /etc/profile
4.修改HBASE配置文件
vi /home/es/hbase/conf/hbase-env.sh
增加: export JAVA_HOME=/usr/java/jdk1.8.0_171
修改: export HBASE_MANAGES_ZK=false
vi /home/es/hbase/conf/hbase-site.xml
修改类容:
<configuration>
<property>
<name>hbase.rootdir</name><!-- hbase存放数据目录 -->
<value>hdfs://hello1:9000/hbase/hbase_db</value>
<!-- 端口要和Hadoop的fs.defaultFS端口一致-->
</property>
<property>
<name>hbase.cluster.distributed</name><!-- 是否分布式部署 -->
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name><!-- list of zookooper -->
<value>hello1,hello2</value>
</property>
<property><!--zookooper配置、日志等的存储位置 -->
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/es/hbase/zookeeper</value>
</property>
</configuration>
配置regionservers,vi /home/es/hbase/conf/regionservers
去掉默认的localhost,加入hello1、hello2
5、将配置好的hbase复制到各个节点对应位置上,通过scp传送
scp -r /home/es/hbase-1.2.6 hello2:/home/es/
scp /etc/profile hello2:/etc/
登录到hello2上,进入/home/es目录
执行: ln -s hbase-1.2.6 hbase
source /etc/profile
6、hbase的启动
hello1中执行: start-hbase.sh
7、验证hbase运行情况
输入jps命令查看进程是否启动成功,若 hello1上出现HMaster、HRegionServer、HQuormPeer,hello2上出现HRegionServer、HQuorumPeer,就是启动成功了。
输入hbase shell 命令 进入hbase命令模式,输入status命令,查看运行状态。
在浏览器中输入http://hello1:16010就可以在界面上看到hbase的配置
注意事项:
正常安装后,创建普通不带压缩表可以正常读写,当使用snappy进行压缩创建表时,该表无法再regionServer中启动!
解决方法:
1.在hbase-site.xml文件中添加一下属性
<property>
<name>hbase.regionserver.codecs</name>
<value>snappy</value>
</property>
2.每台机器中将hadoop_native.zip解压缩到hbase安装目录的lib下,执行 unzip hadoop_native.zip $HBASE_HOME/lib/
3.在$HBASE_HOME/conf/hbase-env.sh 中添加:export HBASE_LIBRARY_PATH=/home/es/hbase/lib/native
4.重启Hbase服务即可
九、Spark安装
1.解压hbase安装包到指定目录(/home/es)
tar -zxvf spark2.1.0hadoop2.6.tgz.gz -C /home/es
2.创建程序软连接
cd /home/es/
ln -s spark2.1.0hadoop2.6 spark
3.修改配置文件
mv /home/es/spark/conf/spark-env.sh.template /home/es/spark/conf/spark-env.sh
vi /home/es/spark/conf/spark-env.sh
修改对应配置:
export JAVA_HOME=/usr/java/jdk1.8.0_171
export SPARK_MASTER_IP=hello1
export SPARK_MASTER_PORT=7077
export SPARK_LOCAL_IP=hello1
修改slaves文件
mv /home/es/spark/conf/slaves.template /home/es/spark/conf/slaves
vi /home/es/spark/conf/slaves
将localhost修改成:
hello1
hello2
5、将配置好的hbase复制到各个节点对应位置上,通过scp传送
scp -r /home/es/spark2.1.0hadoop2.6 hello2:/home/es/
登录到hello2上,进入/home/es目录
执行: ln -s spark2.1.0hadoop2.6 spark
在hello2中修改/home/es/spark/conf/spark-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_171
export SPARK_MASTER_IP=hello1
export SPARK_MASTER_PORT=7077
export SPARK_LOCAL_IP=hello2
6、启动spark
cd /home/es/spark
执行: sbin/start-all.sh
7、检测执行结果
jps | grep Worker,看是否有相应的进程。
十、安装elasticsearch
由于elasticsearch,用root账户无法启动,故该组件用es账户安装
1、切换到es账户: su es
2、解压hbase安装包到指定目录(/home/es)
tar -zxvf elasticsearch-6.3.0.tar.gz -C /home/es/
创建程序软连接
cd /home/es/
ln -s elasticsearch-6.3.0 elasticsearch
3、修改配置文件
vi /home/es/elasticsearch/config/elasticsearch.yml
# 集群的名字
cluster.name: crrc-health
# 节点名字
node.name: node-1
# 数据存储目录(多个路径用逗号分隔)
path.data: /home/data1/elasticsearch/data
# 日志目录
path.logs: /home/data1/elasticsearch/logs
#本机的ip地址
network.host: hello1
#设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
discovery.zen.ping.unicast.hosts: ["hello1", "hello2"]
# 设置节点间交互的tcp端口(集群),(默认9300)
transport.tcp.port: 9300
# 监听端口(默认)
http.port: 9200
# 增加参数,使head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"
4、创建elasticsearch数据和存储目录
mkdir /home/data1/elasticsearch
mkdir /home/data1/elasticsearch/data
mkdir /home/data1/elasticsearch/logs
5、修改linux系统的默认硬限制参数
切换至root用户: su root
vim /etc/security/limits.conf
添加:
es soft nofile 65536
es hard nofile 65536
退出es登录,重新用es账户登录,使用命令:ulimit -Hn查看硬限制参数。
vi /etc/sysctl.conf
添加:
vm.max_map_count=655360
执行:
sysctl -p
6、将配置好的elasticsearch复制到各个节点对应位置上,通过scp传送
scp -r /home/es/elasticsearch-6.3.0 hello2:/home/es/
scp -r /home/data1/elasticsearch hello2:/home/data1/
登录到hello2上,进入/home/es目录
执行: ln -s elasticsearch-6.3.0 elasticsearch-6.3.0
在hello2中修改/home/es/elasticsearch/config/elasticsearch.yml
修改: network.host: hello2
7、启动elasticsearch
使用es账户
执行:
/home/es/elasticsearch/bin/elasticsearch -d
8、验证
控制台中输入:curl http://hello1:9200