搜档网
当前位置:搜档网 › lammps中文命令

lammps中文命令

lammps中文命令
lammps中文命令

【讨论】lammps模拟时输入文件命令中文详解

1.1 LAMMPS input script

我们用lammps做分子动力学模拟, 需要一个输入文件. lammps在执行计算的时候, 从这个文本文件中逐行读入命令. 大多数情况, lammps输入文件中各个命令的顺序并不是很重要. 但是你要注意以下几点:

(1) lammps并不是将你的输入文件全部读入之后才开始进行计算的, 或者说, 每条命令在它被读入之后就会起作用了. 注意, 下面两组命令的执行效果是不相同的.

timestep 0.5

run 100

run 100

run 100

timestep 0.5

run 100

(2) 有些命令只有在另一些命令已经被定义的情况下才有效. 例如如果你要设定一组原子的温度, 那么用group命令定义哪些原子属于这个组才行.

(3) 还有一种情况就是: 命令B要用到命A设置的一些数值, 这样你也不能颠倒这两个命令的顺序.

每个命令的详细介绍中的Restrictions部分会说明要使用该命令定义的时候哪些命令必须要被预先定义.

如果你的输入文件书写的格式有问题, lammps在执行的时候会提示ERROR或者WARNING , 出现类似信息时, 你可以到手册的第九章中查询原因.

1.2 Parsing rules

输入文件中的每一非空行都被认为是一条命令. lammps中命令的书写是对大小写敏感的, 不过一般的命令和参数都是小写的, 大写字母用于极少数的情况.

(1) 命令行后的& 表示这一行跟下一行是同一条命令. 这一点跟FORTRAN很像.

(2) 命令行最开始的# 表示这一行在执行过程中被忽略, 你可以用它来写注释.

(3) $ 是跟声明变量有关系的, 我暂时还没用到过, 具体请参阅variable命令的

详细介绍.

(4) 命令行被tabs, spaces间隔成各个“words”, 注意这里的“words”可以包含字母、数字、下划线、或标点符号.

(5) 一行中第一个词是命令名, 后续的词是相关的参数.

(6) 双引号内的文字空格被整体地当作一个参数, 其中的# 或$ 就没有前面说的作用了.

1.3 Input script structure

lammps的输入文件一般分为4个部分Initialization, Atom definition, Settings, Run a simulation

后面的两个部分可以按照需要多次重复. Remember that almost all the commands need only be used if a non-default value is desired.

(1) Initialization

在你的模拟体系定义之前, 一些参数必须要被设置. 相关的命令有:units, dimension, newton, processors, boundary, atom_style, atom_modify.

units: 选择单位系统, lammps提供了lj、real、metal三种单位系统

dimension: 2d模拟还是3d模拟, 默认是3d

boundary: 边界条件:周期性边界or自由边界

atom_style: 定义你的模拟体系中的原子属性, 注意这个style要区分后面设置力场参数时命令里提到的atom type

还有, 这些命令告诉lammps在你的模拟中使用何种力场: pair_style, bond_style, angle_style, dihedral_style, improper_style.

(2) Atom definition

lammps提供3种方式定义原子:

①通过read_data或read_restart命令从data或restart文件读入, 这些文件可以包含分子拓扑结构信息.

②按照晶格的方式创建原子(不包含分子拓扑信息), 你会用到这几个命令: lattice, region, create_box, create_atoms.

③已经设置好的原子可以用replicate命令复制以生成一个更大规模的模拟体系.

(3)Settings

原子和分子的拓扑信息定义好后, 你要制定一系列的设置: 力场系数、模拟参数、输出选项等等.

力场系数可以通过这些命令定义: pair_coeff, bond_coeff, angle_coeff, dihedral_coeff, improper_coeff, kspace_style, dielectric, special_bonds. 注意, 其实力场系数也可以在data文件中制定, 详见read_data命令介绍.

各种模拟参数由这些命令设置: neighbor, neigh_modify, group, timestep, reset_timestep, run_style, min_style, min_modify.

我觉得fix命令是lammps中很重要的一个命令, 它包括很多子命令, 可以施加一系列的边界条件、时间积分、诊断选项等等.

模拟过程中通过下面的命令制定lammps进行各种计算: compute, compute_modify, variable.

输出选项由thermo, dump, restart命令设置.

(4)Run a simulation

使用run命令开始一个分子动力学模拟, 用minimize命令来实施能量最小化(molecular statics), 使用temper命令来进行parallel tempering(replica-exchange) simulation.

1.4 Commands listed by category

这一节分门别类地列出了lammps的所有命令. 注意有些命令的有些选项是特定的lammps package的一部分, 也就是说只有在编译lammps的时候包括了这些packages, 这些命令才能被使用. 默认情况下编译lammps并不包括所有的packages. 这些依赖关系在相关命令的详细介绍中Restrictions部分中列出了.

Initialization: atom_modify, atom_style, boundary, dimension, newton, processors, units

Atom definition: create_atoms, create_box, lattice, read_data, read_restart, region, replicate

Force fields: angle_coeff, angle_style, bond_coeff, bond_style, dielectric, dihedral_coeff, dihedral_style, improper_coeff, improper_style, kspace_modify, kspace_style, pair_coeff, pair_modify, pair_style, pair_write, special_bonds

Settings: communicate, dipole, group, mass, min_modify, min_style, neigh_modify, neighbor, reset_timestep, run_style, set, shape, timestep, velocity

Fixes: fix, fix_modify, unfix

Computes: compute, compute_modify, uncompute

Output: dump, dump_modify, restart, thermo, thermo_modify, thermo_style, undump, write_restart

Actions: delete_atoms, delete_bonds, displace_atoms, displace_box, minimize, run, temper

Miscellaneous: clear, echo, if, include, jump, label, log, next, print, shell, variable

一、各种文件的介绍:

1 in file:建立该文件以便程序的写入

2 log file:写入状态信息(if the switch is used?)

3 screen file 决定结果的是否进行屏幕输出

4 var name file 定义一个变量,name指变量名,可为字母也可为字符串,形式$x / $ {abc}

二、屏幕输出:

结果显示在屏幕上,同时在log file 中。开始前LAMMPS计算出所需的存储空间,运行中每隔几个时步显示一次热力学状态,直至输出最终状态。

Loop time of 49.002 on 2 procs for 2004 atoms 该部分显示了几个大类的计算时间

Pair time (%) = 35.0495 (71.5267)

Bond time (%) = 0.092046 (0.187841)

Kspce time (%) = 6.42073 (13.103)

Neigh time (%) = 2.73485 (5.5811)

Comm time (%) = 1.50291 (3.06703)

Outpt time (%) = 0.013799 (0.0281601)

Other time (%) = 2.13669 (4.36041)

Nlocal: 1002 ave, 1015 max, 989 min 每个处理器中特定原子的数目

Histogram: 1 0 0 0 0 0 0 0 0 1

Nghost: 8720 ave, 8724 max, 8716 min

Histogram: 1 0 0 0 0 0 0 0 0 1

Neighs: 354141 ave, 361422 max, 346860 min

Histogram: 1 0 0 0 0 0 0 0 0 1

Total # of neighbors = 708282

A ve neighs/atom = 353.434

A ve special neighs/atom = 2.34032

Number of reneighborings = 42

Dangerous reneighborings = 2

当运用了能量最小化命令进行能量最小化时,还将出现如下所示语句:

Minimization stats:

E initial, next?to?last, final = ?0.895962 ?2.94193 ?2.94342 (显示初终能量以及next-to-last 循环的能量)

Gradient 2?norm init/final= 1920.78 20.9992 (给出能量梯度,即所有原子的受力)

Gradient inf?norm init/final= 304.283 9.61216 2-form是力向量的长度,inf-form是最大构成?

Iterations = 36 循环次数

Force evaluations = 177 对力进行评定的次数

当程序中有kspace_style long?range Coulombics solve,将会显示以下语句:

FFT time (% of Kspce) = 0.200313 (8.34477) 完成3d FFT计算的时间及在总时间中占的百分比

FFT Gflps 3d 1d?only = 2.31074 9.19989

每秒执行的浮点指令次数(flops)为5N*log(2N),N为3维晶体中的节点数

The 3d rate is with communication; the 1d rate iswithout (just the 1d FFTs).

在GPU(图形处理单元)上的运行

三、指令系统介绍(*)

一般来说指令的顺序并不重要,胆在以下几种情况中必须注意:

1 LAMMPS并不是全部读完所有指令才执行,而是读一行执行一次,因此下面的两组语句是不同的:

timestep 0.5 以下的两个模拟其步长均为0.5 fmsec

run 100

run 100

run 100 第一个模拟采用缺省值步长为1 fmsec

timestep 0.5

run 100 第二个采用步长为0.5 fmsec

2 某些指令只在其他指令之后才生效,如要得到系统温度必须先进行各种定义

3 若A指令在B之前,B可以引用A定义的变量

四、语法规则

在LAMMPS中要区分大小写,一般指令名称用小写字母,文件及用户定义ID

Strings 用大写。

LAMMPS对每行语句的语法要求如下:

1 当语句太长一行放不下时,在语句一行结束的时候输入字符“”表示下一行的语句接着上一行继续。

2 在#之后输入的字符认为是评论语句,是无用的,但有例外

3 紧跟在$后定义变量(之前讲过)

4 单词间用空格隔开

5 第一个词为指令名,接下来的字母全都为自变量(arguments)

6 If you want text with spaces to be treated as a single argument, it can be enclosed in double quotes

五、输入的语句结构

一个普通的LAMMPS程序通常由以下四部分组成:

1 初始化

2 原子定义

3 设定

4 进行模拟

初始化阶段:设定所需参数,相关各项命令,引入所需的力场参数

相关命令介绍:

1 units command

语句形式:

units style

·style = lj or real or metal or si or cgs or electron

Examples:

units metal

units lj

该语句定义了单元类型,除了LJ类型,其他物理常量来自于某网,定义实际单元的热能=4.184J。

而在LJ类型中,所有变量都是无单位的(参考陈义龙的论文)实际量换算成简化单位量有系列公式。

以下列出了换算关系及其它各种类型中所使用的标准单位。

This command cannot be used after the simulation box is defined by a read_data or create_box command.

缺省状态默认为LJ类型

2 语句形式:

dimension N

·N = 2 or 3 例如:dimension 2

一般缺省为3d模拟,2d模拟的话要在建立simulation box之前进行设定(其余省略)

COMMANDS LISTED BY CA TEGORY

以下列出的LAMMPS命令以按类分好,其分类情况如下:

初始化指令:atom_modify, atom_style, boundary, dimension, newton, processors, units

原子定义指令:create_atoms, create_box, lattice, read_data, read_restart, region, replicate

力场指令:angle_coeff, angle_style, bond_coeff, bond_style, dielectric, dihedral_coeff, dihedral_style, improper_coeff, improper_style, kspace_modify, kspace_style, pair_coeff, pair_modify, pair_style, pair_write, special_bonds

设定指令:communicate, dipole, group, mass, min_modify, min_style, neigh_modify, neighbor, reset_timestep, run_style, set, shape, timestep, velocity

FIXES fix, fix_modify, unfix

Computes: compute, compute_modify, uncompute

Output:

dump, dump_modify, restart, thermo, thermo_modify, thermo_style, undump, write_restart Actions:

delete_atoms, delete_bonds, displace_atoms, displace_box, minimize, prd, run, temper Miscellaneous:

clear, echo, if, include, jump, label, log, next, print, shell, variable

六how to discussions()

重启一个模拟。有3种方法继续长的LAMMPS程序。在同一个程序中可多次使用运行命令。每次运行都会接着上一条运行指令(run command)进行。Binary file 使用restart command 将binary files存入硬盘中,之后用read-restart命令可将binary file读出。或者可转为text data files,经read-data命令读出。restart2data

涉及到的命令:

1 run command

syntax

run N keyword values……(N= # of timesteps; zero or more keyword/value pairs may be appended; keyword= upto or start or stop or pre or post or every)

Examples:

run 10000 # 运行10000步;N=0意味着直接把现系统的热力学值输出

run 1000000 upto # 从当前开始一直运行至upto所指定的数值(该语句意为运行至10000000步止)

run 100 start 0 stop 1000

run 1000 pre no post yes

run 100000 start 0 stop 1000000 every 1000 "print Protein Rg = $r"

run 100000 every 1000 NULL

(补充说明fix 指令:

Syntax:

fix ID group?ID style args

·ID = user?assigned name for the fix ID是用户自己定义的名字,便于通过fix定义·group?ID = ID of the group of atoms to apply the fix to

·style = one of a long list of possible style names (see below)

·args = arguments used by a particular style

Examples:

fix 1 all nve

fix 3 all nvt temp 300.0 300.0 0.01

fix mine top setforce 0.0 NULL 0.0

fix指令的用途是对一组原子进行定义,可以用于更新原子的位置、速度、控制温度、加常力、施加边界条件等。当两个或更多fix在同一过程中作用时,根据程序中的先后顺序执行fix指令。Fix指令可通过unfix指令来消除,形式为unfix fix-ID)

对于run 100 start 0 stop 1000 这个语句来说,主要与fix语句配合使用。

fix 1 all nvt 200.0 300.0 1.0 这两个指令的功能是在接下来的1000步运行中,每

run 1000 步的温度都要从200度升到300度

fix 1 all nvt 200.0 300.0 1.0 对于左侧的一组指令,温度随着从0到10000步的执行run 1000 start 0 stop 10000 逐渐升至300.0度,是一个发生在整个过程的渐变行为run 1000 start 0 stop 10000

...

run 1000 start 0 stop 10000(共10个)

至于pre and post大概是这样的,pre no 的意思是跳过初始设定阶段,如果以下的计算是承接之前运行命令的话(意思是采用之前的参数)但是如果该run指令是第一个指令是,该设定会被忽略。

注意:当两次运行指令之间使用了修改设定值的命令时(比如fix等),pre no是不允许的,必须重新设定,否则报错

若是post no,则跳过full timing summary, 输出one-line summary timing

Every 的作用是将一个run分成一系列较短的runs

variable q equal x

run 6000 every 2000 "print Coord = $q"

每运行2000步输出一次某原子的x坐标值

Default:

The option defaults are start = the current timestep, stop = current timestep + N, pre = yes, and post = yes. 在run语句中的缺省值

2 restart command (将binary files存入硬盘) restart文件是lammps的一种输出文件形式Syntax:

restart 0 N = write a restart file every this many timesteps

restart N root root = filename to which timestep # is appended

restart N file1 file file1,file2 = two full filenames, toggle between them when writing file

Examples:

restart 0

restart 1000 poly.restart

restart 1000 restart.*.equil

restart 10000 poly.%.1 poly.%.2

restart 0 意味着不输出restart files。与dump文件一样,restart不能包含两个wild card characters(即通配符)。若filename中含有*号,则它会被目前的值所代替(该情况只在仅有一个filename的情况下成立)

hadoop基本命令_建表-删除-导数据

HADOOP表操作 1、hadoop简单说明 hadoop 数据库中的数据是以文件方式存存储。一个数据表即是一个数据文件。hadoop目前仅在LINUX 的环境下面运行。使用hadoop数据库的语法即hive语法。(可百度hive语法学习) 通过s_crt连接到主机。 使用SCRT连接到主机,输入hive命令,进行hadoop数据库操作。 2、使用hive 进行HADOOP数据库操作

3、hadoop数据库几个基本命令 show datebases; 查看数据库内容; 注意:hadoop用的hive语法用“;”结束,代表一个命令输入完成。 usezb_dim; show tables;

4、在hadoop数据库上面建表; a1: 了解hadoop的数据类型 int 整型; bigint 整型,与int 的区别是长度在于int; int,bigint 相当于oralce的number型,但是不带小数点。 doubble 相当于oracle的numbe型,可带小数点; string 相当于oralce的varchar2(),但是不用带长度; a2: 建表,由于hadoop的数据是以文件有形式存放,所以需要指定分隔符。 create table zb_dim.dim_bi_test_yu3(id bigint,test1 string,test2 string)

row format delimited fields terminated by '\t' stored as textfile; --这里指定'\t'为分隔符 a2.1 查看建表结构: describe A2.2 往表里面插入数据。 由于hadoop的数据是以文件存在,所以插入数据要先生成一个数据文件,然后使用SFTP将数据文件导入表中。

Hadoop 集群基本操作命令-王建雄-2016-08-22

Hadoop 集群基本操作命令 列出所有Hadoop Shell支持的命令 $ bin/hadoop fs -help (注:一般手动安装hadoop大数据平台,只需要创建一个用户即可,所有的操作命令就可以在这个用户下执行;现在是使用ambari安装的dadoop大数据平台,安装过程中会自动创建hadoop生态系统组件的用户,那么就可以到相应的用户下操作了,当然也可以在root用户下执行。下面的图就是执行的结果,只是hadoop shell 支持的所有命令,详细命令解说在下面,因为太多,我没有粘贴。) 显示关于某个命令的详细信息 $ bin/hadoop fs -help command-name (注:可能有些命令,不知道什么意思,那么可以通过上面的命令查看该命令的详细使用信息。例子: 这里我用的是hdfs用户。) 注:上面的两个命令就可以帮助查找所有的haodoop命令和该命令的详细使用资料。

创建一个名为 /daxiong 的目录 $ bin/hadoop dfs -mkdir /daxiong 查看名为 /daxiong/myfile.txt 的文件内容$ bin/hadoop dfs -cat /hadoop dfs -cat /user/haha/part-m-00000 上图看到的是我上传上去的一张表,我只截了一部分图。 注:hadoop fs <..> 命令等同于hadoop dfs <..> 命令(hdfs fs/dfs)显示Datanode列表 $ bin/hadoop dfsadmin -report

$ bin/hadoop dfsadmin -help 命令能列出所有当前支持的命令。比如: -report:报告HDFS的基本统计信息。 注:有些信息也可以在NameNode Web服务首页看到 运行HDFS文件系统检查工具(fsck tools) 用法:hadoop fsck [GENERIC_OPTIONS] [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]] 命令选项描述 检查的起始目录。 -move 移动受损文件到/lost+found -delete 删除受损文件。 -openforwrite 打印出写打开的文件。 -files 打印出正被检查的文件。 -blocks 打印出块信息报告。 -locations 打印出每个块的位置信息。 -racks 打印出data-node的网络拓扑结构。 打印版本信息 用法:hadoop version 运行集群平衡工具。管理员可以简单的按Ctrl-C来停止平衡过程(balancer)

Hadoop命令大全

Hadoop命令大全 Hadoop配置: Hadoop配置文件core-site.xml应增加如下配置,否则可能重启后发生Hadoop 命名节点文件丢失问题: hadoop.tmp.dir /home/limingguang/hadoopdata 环境变量设置: 为了便于使用各种命令,可以在.bashrc文件中添加如下内容: export JAVA_HOME=/home/limingguang/jdk1.7.0_07 export HADOOP_HOME=/home/limingguang/hadoop-1.0.3 export HIVE_HOME=/home/limingguang/hive-0.9.0 export MAHOUT_HOME=/home/limingguang/mahout-distribution-0.7 export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin:$MAHOUT_HOME/bin: $PATH export HADOOP_HOME_WARN_SUPPRESS=1 具体目录请更改为安装目录,HADOOP_HOME_WARN_SUPPRESS变量为抑制HADOOP_HOME变量重复时的告警。 常用命令:

1、列出所有Hadoop Shell支持的命令 $ bin/hadoop fs -help 2、显示关于某个命令的详细信息 $ bin/hadoop fs -help command-name 3、用户可使用以下命令在指定路径下查看历史日志汇总 $ bin/hadoop job -history output-dir 这条命令会显示作业的细节信息,失败和终止的任务细节。 4、关于作业的更多细节,比如成功的任务,以及对每个任务的所做的尝试次数等可以用下面的命令查看 $ bin/hadoop job -history all output-dir 5、格式化一个新的分布式文件系统: $ bin/hadoop namenode -format 6、在分配的NameNode上,运行下面的命令启动HDFS: $ bin/start-dfs.sh bin/start-dfs.sh脚本会参照NameNode上${HADOOP_CONF_DIR}/slaves文件的内容,在所有列出的slave上启动DataNode守护进程。 7、在分配的JobTracker上,运行下面的命令启动Map/Reduce: $ bin/start-mapred.sh bin/start-mapred.sh脚本会参照JobTracker上${HADOOP_CONF_DIR}/slaves 文件的内容,在所有列出的slave上启动TaskTracker守护进程。 8、在分配的NameNode上,执行下面的命令停止HDFS: $ bin/stop-dfs.sh bin/stop-dfs.sh脚本会参照NameNode上${HADOOP_CONF_DIR}/slaves文件的内容,在所有列出的slave上停止DataNode守护进程。 9、在分配的JobTracker上,运行下面的命令停止Map/Reduce: $ bin/stop-mapred.sh bin/stop-mapred.sh脚本会参照JobTracker上${HADOOP_CONF_DIR}/slaves文件的内容,在所有列出的slave上停止TaskTracker守护进程。 10、启动所有 $ bin/start-all.sh 11、关闭所有 $ bin/stop-all.sh DFSShell 10、创建一个名为 /foodir 的目录 $ bin/hadoop dfs -mkdir /foodir 11、创建一个名为 /foodir 的目录 $ bin/hadoop dfs -mkdir /foodir 12、查看名为 /foodir/myfile.txt 的文件内容 $ bin/hadoop dfs -cat /foodir/myfile.txt

(完整版)hadoop常见笔试题答案

Hadoop测试题 一.填空题,1分(41空),2分(42空)共125分 1.(每空1分) datanode 负责HDFS数据存储。 2.(每空1分)HDFS中的block默认保存 3 份。 3.(每空1分)ResourceManager 程序通常与NameNode 在一个节点启动。 4.(每空1分)hadoop运行的模式有:单机模式、伪分布模式、完全分布式。 5.(每空1分)Hadoop集群搭建中常用的4个配置文件为:core-site.xml 、hdfs-site.xml 、mapred-site.xml 、yarn-site.xml 。 6.(每空2分)HDFS将要存储的大文件进行分割,分割后存放在既定的存储块 中,并通过预先设定的优化处理,模式对存储的数据进行预处理,从而解决了大文件储存与计算的需求。 7.(每空2分)一个HDFS集群包括两大部分,即namenode 与datanode 。一般来说,一 个集群中会有一个namenode 和多个datanode 共同工作。 8.(每空2分) namenode 是集群的主服务器,主要是用于对HDFS中所有的文件及内容 数据进行维护,并不断读取记录集群中datanode 主机情况与工作状态,并通过读取与写入镜像日志文件的方式进行存储。 9.(每空2分) datanode 在HDFS集群中担任任务具体执行角色,是集群的工作节点。文 件被分成若干个相同大小的数据块,分别存储在若干个datanode 上,datanode 会定期向集群内namenode 发送自己的运行状态与存储内容,并根据namnode 发送的指令进行工作。 10.(每空2分) namenode 负责接受客户端发送过来的信息,然后将文件存储位置信息发 送给client ,由client 直接与datanode 进行联系,从而进行部分文件的运算与操作。 11.(每空1分) block 是HDFS的基本存储单元,默认大小是128M 。 12.(每空1分)HDFS还可以对已经存储的Block进行多副本备份,将每个Block至少复制到 3 个相互独立的硬件上,这样可以快速恢复损坏的数据。 13.(每空2分)当客户端的读取操作发生错误的时候,客户端会向namenode 报告错误,并 请求namenode 排除错误的datanode 后,重新根据距离排序,从而获得一个新的的读取路径。如果所有的datanode 都报告读取失败,那么整个任务就读取失败。14.(每空2分)对于写出操作过程中出现的问题,FSDataOutputStream 并不会立即关闭。 客户端向Namenode报告错误信息,并直接向提供备份的datanode 中写入数据。备份datanode 被升级为首选datanode ,并在其余2个datanode 中备份复制数据。 NameNode对错误的DataNode进行标记以便后续对其进行处理。 15.(每空1分)格式化HDFS系统的命令为:hdfs namenode –format 。 16.(每空1分)启动hdfs的shell脚本为:start-dfs.sh 。 17.(每空1分)启动yarn的shell脚本为:start-yarn.sh 。 18.(每空1分)停止hdfs的shell脚本为:stop-dfs.sh 。 19.(每空1分)hadoop创建多级目录(如:/a/b/c)的命令为:hadoop fs –mkdir –p /a/b/c 。 20.(每空1分)hadoop显示根目录命令为:hadoop fs –lsr 。 21.(每空1分)hadoop包含的四大模块分别是:Hadoop common 、HDFS 、

Hadoop最全面试题整理(附目录)

Hadoop面试题目及答案(附目录) 选择题 1.下面哪个程序负责HDFS 数据存储。 a)NameNode b)Jobtracker c)Datanode d)secondaryNameNode e)tasktracker 答案C datanode 2. HDfS 中的block 默认保存几份? a)3 份b)2 份c)1 份d)不确定 答案A 默认3 份 3.下列哪个程序通常与NameNode 在一个节点启动? a)SecondaryNameNode b)DataNode c)TaskTracker d)Jobtracker 答案D 分析:hadoop 的集群是基于master/slave 模式,namenode 和jobtracker 属于master,datanode 和tasktracker 属于slave,master 只有一个,而slave 有多个SecondaryNameNode 内存需求和NameNode 在一个数量级上,所以通常secondaryNameNode(运行在单独的物理机器上)和NameNode 运行在不同的机器上。 JobTracker 和TaskTracker JobTracker 对应于NameNode,TaskTracker 对应于DataNode,DataNode 和NameNode 是针对数据存放来而言的,JobTracker 和TaskTracker 是对于MapReduce 执行而言的。mapreduce 中几个主要概念,mapreduce 整体上可以分为这么几条执行线索:jobclient,JobTracker 与TaskTracker。 1、JobClient 会在用户端通过JobClient 类将应用已经配置参数打包成jar 文件存储到hdfs,并把路径提交到Jobtracker,然后由JobTracker 创建每一个Task(即MapTask 和ReduceTask)并将它们分发到各个TaskTracker 服务中去执行。 2、JobTracker 是一个master 服务,软件启动之后JobTracker 接收Job,负责调度Job 的每一个子任务task 运行于TaskTracker 上,并监控它们,如果发现有失败的task 就重新运行它。一般情况应该把JobTracker 部署在单独的机器上。 3、TaskTracker 是运行在多个节点上的slaver 服务。TaskTracker 主动与JobTracker 通信,接收作业,并负责直接执行每一个任务。TaskTracker 都需要运行在HDFS 的DataNode 上。 4. Hadoop 作者 a)Martin Fowler b)Kent Beck c)Doug cutting 答案C Doug cutting 5. HDFS 默认Block Size a)32MB b)64MB c)128MB 答案:B 6. 下列哪项通常是集群的最主要瓶颈 a)CPU b)网络c)磁盘IO d)内存 答案:C 磁盘 首先集群的目的是为了节省成本,用廉价的pc 机,取代小型机及大型机。小型机和大型机

hadoop基本操作指令

Hadoop基本操作指令 假设Hadoop的安装目录HADOOP_HOME为/home/admin/hadoop,默认认为Hadoop环境已经由运维人员配置好直接可以使用 启动与关闭 启动Hadoop 1. 进入HADOOP_HOME目录。 2. 执行sh bin/start-all.sh 关闭Hadoop 1. 进入HADOOP_HOME目录。 2. 执行sh bin/stop-all.sh 文件操作 Hadoop使用的是HDFS,能够实现的功能和我们使用的磁盘系统类似。并且支持通配符,如*。 查看文件列表 查看hdfs中/user/admin/aaron目录下的文件。 1. 进入HADOOP_HOME目录。 2. 执行sh bin/hadoop fs -ls /user/admin/aaron 这样,我们就找到了hdfs中/user/admin/aaron目录下的文件了。 我们也可以列出hdfs中/user/admin/aaron目录下的所有文件(包括子目录下的文件)。 1. 进入HADOOP_HOME目录。 2. 执行sh bin/hadoop fs -lsr /user/admin/aaron 创建文件目录 查看hdfs中/user/admin/aaron目录下再新建一个叫做newDir的新目录。 1. 进入HADOOP_HOME目录。 2. 执行sh bin/hadoop fs -mkdir /user/admin/aaron/newDir 删除文件 删除hdfs中/user/admin/aaron目录下一个名叫needDelete的文件 1. 进入HADOOP_HOME目录。 2. 执行sh bin/hadoop fs -rm /user/admin/aaron/needDelete 删除hdfs中/user/admin/aaron目录以及该目录下的所有文件

Hadoop 学习笔记

Hadoop 在Hadoop上运行MapReduce命令 实验jar:WordCount.jar 运行代码:root/……/hadoop/bin/hadoop jar jar包名称使用的包名称input(输入地址) output(输出地址) 生成测试文件:echo -e "aa\tbb \tcc\nbb\tcc\tdd" > ceshi.txt 输入地址:/data2/u_lx_data/qiandongjun/eclipse/crjworkspace/input 输出地址:/data2/u_lx_data/qiandongjun/eclipse/crjworkspace/output 将测试文件转入输入文件夹:Hadoop fs -put ceshi.txt /data2/u_lx_data/qiandongjun/eclipse/crjworkspace/input/ceshi.txt 运行如下代码:hadoop jar /data2/u_lx_data/qiandongjun/eclipse/crjworkspace/WordCount.jar WordCount /data2/u_lx_data/qiandongjun/eclipse/crjworkspace/input/ceshi.txt /data2/u_lx_data/qiandongjun/eclipse/crjworkspace/output Hadoop架构 1、HDFS架构 2、MapReduce架构 HDFS架构(采用了Master/Slave 架构) 1、Client --- 文件系统接口,给用户调用 2、NameNode --- 管理HDFS的目录树和相关的的文件元数据信息以及监控DataNode的状 态。信息以“fsimage”及“editlog”两个文件形势存放 3、DataNode --- 负责实际的数据存储,并将数据定期汇报给NameNode。每个节点上都 安装一个DataNode 4、Secondary NameNode --- 定期合并fsimage和edits日志,并传输给NameNode (存储基本单位为block) MapReduce架构(采用了Master/Slave 架构) 1、Client --- 提交MapReduce 程序并可查看作业运行状态 2、JobTracker --- 资源监控和作业调度 3、TaskTracker --- 向JobTracker汇报作业运行情况和资源使用情况(周期性),并同时接 收命令执行操作 4、Task --- (1)Map Task (2)Reduce Task ——均有TaskTracker启动 MapReduce处理单位为split,是一个逻辑概念 split的多少决定了Map Task的数目,每个split交由一个Map Task处理 Hadoop MapReduce作业流程及生命周期 一共5个步骤 1、作业提交及初始化。JobClient将作业相关上传到HDFS上,然后通过RPC通知JobTracker,

hadoop常用命令

启动Hadoop ?进入HADOOP_HOME目录。 ?执行sh bin/start-all.sh 关闭Hadoop ?进入HADOOP_HOME目录。 ?执行sh bin/stop-all.sh 1、查看指定目录下内容 hadoopdfs –ls [文件目录] eg: hadoopdfs –ls /user/wangkai.pt 2、打开某个已存在文件 hadoopdfs –cat [file_path] eg:hadoopdfs -cat /user/wangkai.pt/data.txt 3、将本地文件存储至hadoop hadoopfs –put [本地地址] [hadoop目录] hadoopfs –put /home/t/file.txt /user/t (file.txt是文件名) 4、将本地文件夹存储至hadoop hadoopfs –put [本地目录] [hadoop目录] hadoopfs –put /home/t/dir_name /user/t (dir_name是文件夹名) 5、将hadoop上某个文件down至本地已有目录下hadoopfs -get [文件目录] [本地目录] hadoopfs –get /user/t/ok.txt /home/t 6、删除hadoop上指定文件 hadoopfs –rm [文件地址] hadoopfs –rm /user/t/ok.txt 7、删除hadoop上指定文件夹(包含子目录等)hadoopfs –rm [目录地址] hadoopfs –rmr /user/t

8、在hadoop指定目录内创建新目录 hadoopfs –mkdir /user/t 9、在hadoop指定目录下新建一个空文件 使用touchz命令: hadoop fs -touchz /user/new.txt 10、将hadoop上某个文件重命名 使用mv命令: hadoop fs –mv /user/test.txt /user/ok.txt (将test.txt重命名为ok.txt) 11、将hadoop指定目录下所有内容保存为一个文件,同时down至本地hadoopdfs –getmerge /user /home/t 12、将正在运行的hadoop作业kill掉 hadoop job –kill [job-id] 1、列出所有Hadoop Shell支持的命令 $ bin/hadoopfs -help 2、显示关于某个命令的详细信息 $ bin/hadoopfs -help command-name 3、用户可使用以下命令在指定路径下查看历史日志汇总 $ bin/hadoop job -history output-dir 这条命令会显示作业的细节信息,失败和终止的任务细节。 4、关于作业的更多细节,比如成功的任务,以及对每个任务的所做的尝试次数等可以用下面的命令查看 $ bin/hadoop job -history all output-dir 5、格式化一个新的分布式文件系统: $ bin/hadoopnamenode -format 6、在分配的NameNode上,运行下面的命令启动HDFS: $ bin/start-dfs.sh bin/start-dfs.sh脚本会参照NameNode上${HADOOP_CONF_DIR}/slaves文件的内容,在所有列出的slave上启动DataNode守护进程。 7、在分配的JobTracker上,运行下面的命令启动Map/Reduce: $ bin/start-mapred.sh bin/start-mapred.sh脚本会参照JobTracker上${HADOOP_CONF_DIR}/slaves文件的内容,在所有列出的slave上启动TaskTracker守护进程。 8、在分配的NameNode上,执行下面的命令停止HDFS: $ bin/stop-dfs.sh

hadoop启动模式、基本配置、启动方式

Local (Standalone) Mode MapReduce程序运行在本地,启动jvm 启动本地模式: 1、配置hadoop-env.sh配置文件中的java_home路径 2、在hadoop安装目录下:mkdir input 3、在input目录下创建任意文件 4、统计input文件夹下所有文件中的单词的数量: bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0-cdh5.3.6.jar wordcount input output Pseudo-Distributed Mode 1、配置etc/hadoop/core-site.xml: ##配置namenode所在主机 fs.defaultFS hdfs://bxp:8020 ##配置文件临时目录 hadoop.tmp.dir /usr/lib/hadoop-2.5.0-cdh5.3.6/data/tmp 2、配置etc/hadoop/hdfs-site.xml: ##配置文件备份数量 dfs.replication 1 3、格式化文件系统 bin/hdfsnamenode -format

普开数据大数据关于Hadoop常见异常分析及解决方法

普开数据大数据关于Hadoop常见异常分析及解决方法 https://www.sodocs.net/doc/e115682180.html,.apache.hadoop.security.AccessControlException:Permission denied:user=FDC2, access=EXECUTE, inode="job_201010161322_0003":heipark:supergroup:rwx‐‐‐‐‐‐解决方法:在hdfs‐site.xml 中添加如下: dfs.permissions false 2.localhost:Error:JAVA_HOME is not set. 需要在conf/hadoop‐env.sh中设置JAVA_HOME环境变量:...... export HADOOP_JOBTRACKER_OPTS="‐Dcom.sun.management.jmxremote $HADOOP_JOBTRACKER_OPTS" export JAVA_HOME="/usr/customize/java"3.Warning:$HADOOP_HOME is deprecated. 普开数据大数据分析:Hadoop在bin/hadoop‐config.sh中对HADOOP_HOME进行了判断,意思是提醒你自己也定义了变量HADOOP_HOME.判断发生的地方: #the root of the Hadoop installation export HADOOP_PREFIX=`dirname"$this"`/..export HADOOP_HOME=${HADOOP_PREFIX} 报出错误的地方: if["$HADOOP_HOME_WARN_SUPPRESS"==""]&&["$HADOOP_HOME"!=""];then echo"Warning:\$HADOOP_HOME is deprecated."1>&2留着异常也无所谓不会对程序的正常运行产生影响。解决方法: 添加export HADOOP_HOME_WARN_SUPPRESS=TRUE到hadoop‐env.sh中,注意要添加到集群中每一个节点中。 4.ERROR https://www.sodocs.net/doc/e115682180.html,erGroupInformation:PriviledgedActionException java.io.IOException: https://www.sodocs.net/doc/e115682180.html, could only be replicated to0nodes,instead of1 分析:是防火墙的问题,需要把防火墙关掉。解决方法: 首先Stop Hadoop集群,接着执行:sudo ufw disable 1:Shuffle Error:Exceeded MAX_FAILED_UNIQUE_FETCHES;bailing‐out Answer:

(完整word版)hadoop安装教程

1、VMware安装 我们使用Vmware 14的版本,傻瓜式安装即可。(只要) 双击 如过 2.安装xshell 双击 3.安装镜像: 解压centos6.5-empty解压 双击打开CentOS6.5.vmx 如果打不开,在cmd窗口中输入:netsh winsock reset 然后重启电脑。 进入登录界面,点击other 用户名:root 密码:root 然后右键open in terminal 输入ifconfig 回车 查看ip地址

打开xshell

点击链接 如果有提示,则接受 输入用户名:root 输入密码:root 4.xshell连接虚拟机 打开虚拟机,通过ifconfig查看ip

5.安装jkd 1.解压Linux版本的JDK压缩包 mkdir:创建目录的命令 rm -rf 目录/文件删除目录命令 cd 目录进入指定目录 rz 可以上传本地文件到当前的linux目录中(也可以直接将安装包拖到xshell窗口) ls 可以查看当前目录中的所有文件 tar 解压压缩包(Tab键可以自动补齐文件名)

pwd 可以查看当前路径 文档编辑命令: vim 文件编辑命令 i:进入编辑状态 Esc(左上角):退出编辑状态 :wq 保存并退出 :q! 不保存退出 mkdir /home/software #按习惯用户自己安装的软件存放到/home/software目录下 cd /home/software #进入刚刚创建的目录 rz 上传jdk tar包 #利用xshell的rz命令上传文件(如果rz命令不能用,先执行yum install lrzsz -y ,需要联网) tar -xvf jdk-7u51-linux-x64.tar.gz #解压压缩包 2.配置环境变量 1)vim /etc/profile 2)在尾行添加 #set java environment JAVA_HOME=/home/software/jdk1.8.0_65 JAVA_BIN=/home/software/jdk1.8.0_65/bin PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME JAVA_BIN PATH CLASSPATH Esc 退出编辑状态 :wq #保存退出 注意JAVA_HOME要和自己系统中的jdk目录保持一致,如果是使用的rpm包安

Hadoop 常用命令

Hadoop 常用命令: 1、hadoop dfs 查看Hadoop HDFS支持的所有命令 2、hadoop dfs help 显示所有dfs命令的帮助信息 3、hadoop dfs -ls / 列出目录及文件信息 4、hadoop dfs -put 1.txt /user 将本地文件系统的1.txt复制到HDFS文件系统的/user目录下 5、hadoop dfs -copyFromLocal 1.txt /test 将本地文件1.txt 复制到HDFS的文件夹test下,等同于put 6、hadoop dfs -moveFromLocal /home/hadoop/1.txt /test1 将本地文件移动到HDFS文件系统上 7、hadoop dfs -get /test/1.txt /home/hadoop 将HDFS中的test.txt复制到本地文件系统中,与-put命令相反 8、hadoop dfs -copyToLocal /test/1.txt /home/hadoop 将HDFS上的文件复制到本地,等同于get 9、hadoop dfs -moveToLocal /test1/1.txt /home/hadoop 将HDFS的1.txt 文件移动到本地目录 10、hadoop dfs -cat /test/1.txt 查看HDFS文件系统里1.txt的内容 11、hadoop dfs -tail /test/1.txt 查看HDFS文件系统中1.txt最后1KB的内容 12、hadoop dfs -rm /test/1.txt 将1.txt这个文件移动到回收站 13、hadoop dfs -rm -skipTrash /test/1.txt 直接将1.txt这个文件删除 14、hadoop dfs -rmr /test 将test这个文件目录,包括底下的子目录、文件移动到回收站 15、hadoop dfs -rmr -skipTrash /test 直接将test这个文件目录,包括底下的子目录、文件删除 16、hadoop dfs -count /test1 查看test1目录底下的目录树和文件数,输出格式:目录数文件数大小文件名17、hadoop dfs -expunge 清空回收站 18、hadoop dfs -mkdir /test1 创建文件目录 19、hadoop dfs -touchz /1.txt 创建一个0字节的HDFS空文件

Hadoop常用命令

执行jar文件:hadoop jar /home/test/bqh/wordcount.jar demo.WordCount hadoop jar /home/test/bqh/wordcount.jar demo.WordCount 启动Hadoop ?进入HADOOP_HOME目录。 ?执行sh bin/start-all.sh 关闭Hadoop ?进入HADOOP_HOME目录。 ?执行sh bin/stop-all.sh 1、查看指定目录下内容 hadoop dfs –ls [文件目录] eg: hadoop dfs –ls /user/wangkai.pt 2、打开某个已存在文件 hadoop dfs –cat [file_path] eg:hadoop dfs -cat /user/wangkai.pt/data.txt 3、将本地文件存储至hadoop hadoop fs –put [本地地址] [hadoop目录] hadoop fs –put /home/t/file.txt /user/t (file.txt是文件名) 4、将本地文件夹存储至hadoop hadoop fs –put [本地目录] [hadoop目录] hadoop fs –put /home/t/dir_name /user/t hadoop dfs –put /home/test/bqh/in.txt/user/test/bqh/in.txt (dir_name是文件夹名) 5、将hadoop上某个文件down至本地已有目录下 hadoop fs -get [文件目录] [本地目录] hadoop fs –get /user/test/bqh/in.txt /home/test/

Hadoop常见错误总结

Hadoop常见错误总结 2010-12-30 13:55 错误1:bin/hadoop dfs 不能正常启动,持续提示: INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 0 time(s). 原因:由于 dfs 的部分文件默认保存在tmp文件夹,在系统重启时被删除。 解决:修改core-site.xml 的 hadoop.tmp.dir配置文件路径: /home/hadoop/tmp。 错误2:hadoop出现了一些问题。用$ bin/hadoop dfsadmin -report 测试的时候,发现dfs没有加载。 显示如下: Configured Capacity: 0 (0 KB) Present Capacity: 0 (0 KB) DFS Remaining: 0 (0 KB) DFS Used: 0 (0 KB) DFS Used%: ?% Under replicated blocks: 0 Blocks with corrupt replicas: 0 Missing blocks: 0 查看日志: ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /home/hadoop/data: namenode namespaceID = ; datanode namespaceID = 经分析,是由于namenode namespaceID = ;和datanode namespaceID = 不一致造成原因。 修改了namenode namespaceID = 可以使用,但是重启之后,又不可以用了。 最后解决方案:删除hadoop用户下的name文件夹,data文件夹,tmp文件夹,temp文件里的内容,然后重新执行namenode命令。 重启电脑之后,正常。 错误3:File /home/hadoop/tmp/mapred/system/https://www.sodocs.net/doc/e115682180.html, could only be replicated to 0 nodes, instead of 1 出现此错误,一般发生在datanode与namenode还没有进行连接,就开始往hdfs 系统上put数据了。稍等待一会,就可以了。 也可以使用:hadoop dfsadmin –report命令查看集群的状态。 错误4: 每次启动总有部分datanade不能去全部启动,查看日志文件,显示为:ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: https://www.sodocs.net/doc/e115682180.html,.UnknownHostException: zgchen-ubutun: zgchen-ubutun at https://www.sodocs.net/doc/e115682180.html,.InetAddress.getLocalHost(InetAddress.java:1426)。

hdfs的操作命令大全

转载: https://www.sodocs.net/doc/e115682180.html,/jrckkyy/blog/item/982b15869490122966096ee6.html 调用文件系统(FS)Shell命令应使用 bin/hadoop fs 的形式。所有的的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path。对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file。其中scheme 和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。一个HDFS文件或目录比如/parent/child可以表示成 hdfs://namenode:namenodeport/parent/child,或者更简单的/parent/child (假设你配置文件中的默认值是namenode:namenodeport)。大多数FS Shell 命令的行为和对应的Unix Shell命令类似,不同之处会在下面介绍各命令使用详情时指出。出错信息会输出到stderr,其他信息输出到stdout。 cat 使用方法:hadoop fs -cat URI [URI …] 将路径指定文件的内容输出到stdout。 示例: hadoop fs -cat hdfs://host1:port1/file1 hdfs://host2:port2/file2 hadoop fs -cat file:///file3 /user/hadoop/file4 返回值: 成功返回0,失败返回-1。 chgrp 使用方法:hadoop fs -chgrp [-R] GROUP URI [URI …] Change group association of files. With -R, make the change recursively through the directory structure. The user must be the owner of files, or else a super-user. Additional information is in the Permissions User Guide. --> 改变文件所属的组。使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。更多的信息请参见HDFS权限用户指南。 chmod 使用方法:hadoop fs -chmod [-R] URI [URI …] 改变文件的权限。使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。更多的信息请参见HDFS权限用户指南。 chown 使用方法:hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ]

《Hadoop大数据技术与应用》-Hive-常用操作

《Hadoop大数据技术与应用》 实验报告 Hive-常用操作

一、实验目的 掌握Hive的使用 二、实验环境 Hadoop2.7.3 Hive2.3.3 源数据:dept.csv,emp.csv 三、实验内容与实验过程及分析(写出详细的实验步骤,并分析实验结果) 实验内容: 1.启动Hadoop,用jps查看进程 2.在桌面打开命令行窗口,通过以下命令,将数据文件dept.csv和emp.csv下载到本地桌面上待用。 wget -P ~ /home/ubuntu/Desktop http://10.90.3.2/HUP/Hadoop/dept.csv 3.将上面两个表拷贝到hdfs的/027/hive目录下,然后查看是否拷贝成功。 hdfs dfs -mkdir -p /027/hive hdfs dfs -put dept.csv /027/hive hdfs dfs -put emp.csv /027/hive hdfs dfs -ls /027/hive 4.创建员工表

create table emp001(empno int,ename string,job string,mgr int,hiredate string,sal int,comm int,deptno int) row format delimited fields terminated by ','; 5.创建部门表 create table dept001(deptno int,dname string,loc string) row format delimited fields terminated by ','; 6.导入数据 load data inpath '/001/hive/emp.csv' into table emp001; load data inpath '/001/hive/dept.csv' into table dept001; 7.根据员工的部门号创建分区,表名为emp_part027 create table emp_part001(empno int,ename string,job string,mgr int,hiredate string,sal int,comm int)partitioned by (deptno int)row format delimited fields terminated by ','; 往分区表中插入数据:指明导入的数据的分区 insert into table emp_part001 partition(deptno=10) select empno,ename,job,mgr,hiredate,sal,comm from emp001 where deptno=10; insert into table emp_part001 partition(deptno=20) select empno,ename,job,mgr,hiredate,sal,comm from emp001 where deptno=20; insert into table emp_part001 partition(deptno=30) select empno,ename,job,mgr,hiredate,sal,comm from emp001 where deptno=30; 8.创建一个桶表,表名为emp_bucket027 create table emp_bucket001(empno int,ename string,job string,mgr int,hiredate string,sal int,comm int,deptno int)clustered by (job) into 4 buckets row format delimited fields terminated by ','; 通过子查询插入数据 insert into emp_bucket027 select * from emp001; 9.查询所有的员工信息

相关主题