페이지

2014년 2월 28일 금요일

cdh ) issue

To be clear: did you restart cloudera-scm-server-db  process?

Can you use netstat to check if postgres (cloudera-scm-server-db) is listeing on 7432

What if you try
psql -d scm -h cloudera -p 7432 -U scm 

2014년 2월 27일 목요일

install of "hadoop virtual distributed mode"

scp usage :)
scp hadoop/conf/slaves host03:/home/hadoop/hadoop/conf/slaves

-------------------------------------------------

original hadoop tmp remove, at host02, host03
rm -rf hadoop/tmp/*

host01 : start-all.sh

host02, host03 automatically start
  [hadoop@host02 ~]$ jps
    2358 TaskTracker
    2293 DataNode
    2437 Jps

**** ( hadoop dfsadmin -safemode leave )

2014년 2월 22일 토요일

(HBase) command help : dml group

DML
Command: append
Appends a cell 'value' at specified table/row/column coordinates.

 hbase> append 't1', 'r1', 'c1', 'value', ATTRIBUTES=>{'mykey'=>'myvalue'}
 hbase> append 't1', 'r1', 'c1', 'value', {VISIBILITY=>'PRIVATE|SECRET'}

The same commands also can be run on a table reference. Suppose you had a reference
t to table 't1', the corresponding command would be:

 hbase> t.append 'r1', 'c1', 'value', ATTRIBUTES=>{'mykey'=>'myvalue'}
 hbase> t.append 'r1', 'c1', 'value', {VISIBILITY=>'PRIVATE|SECRET'}

Command: count
Count the number of rows in a table.  Return value is the number of rows.
This operation may take a LONG time (Run '$HADOOP_HOME/bin/hadoop jar
hbase.jar rowcount' to run a counting mapreduce job). Current count is shown
every 1000 rows by default. Count interval may be optionally specified. Scan
caching is enabled on count scans by default. Default cache size is 10 rows.
If your rows are small in size, you may want to increase this
parameter. Examples:

hbase> count 't1'
hbase> count 't1', INTERVAL => 100000
hbase> count 't1', CACHE => 1000
hbase> count 't1', INTERVAL => 10, CACHE => 1000

The same commands also can be run on a table reference. Suppose you had a reference
t to table 't1', the corresponding commands would be:

hbase> t.count
hbase> t.count INTERVAL => 100000
hbase> t.count CACHE => 1000
hbase> t.count INTERVAL => 10, CACHE => 1000

Command: delete
Put a delete cell value at specified table/row/column and optionally
timestamp coordinates.  Deletes must match the deleted cell's
coordinates exactly.  When scanning, a delete cell suppresses older
versions. To delete a cell from  't1' at row 'r1' under column 'c1'
marked with the time 'ts1', do:

 hbase> delete 't1', 'r1', 'c1', ts1

The same command can also be run on a table reference. Suppose you had a reference
t to table 't1', the corresponding command would be:

 hbase> t.delete 'r1', 'c1',  ts1

Command: deleteall
Delete all cells in a given row; pass a table name, row, and optionally
a column and timestamp. Examples:

 hbase> deleteall 't1', 'r1'
 hbase> deleteall 't1', 'r1', 'c1'
 hbase> deleteall 't1', 'r1', 'c1', ts1

The same commands also can be run on a table reference. Suppose you had a reference
t to table 't1', the corresponding command would be:

 hbase> t.deleteall 'r1'
 hbase> t.deleteall 'r1', 'c1'
 hbase> t.deleteall 'r1', 'c1', ts1

Command: get
Get row or cell contents; pass table name, row, and optionally
a dictionary of column(s), timestamp, timerange and versions. Examples:

 hbase> get 't1', 'r1'
 hbase> get 't1', 'r1', {TIMERANGE => [ts1, ts2]}
 hbase> get 't1', 'r1', {COLUMN => 'c1'}
 hbase> get 't1', 'r1', {COLUMN => ['c1', 'c2', 'c3']}
 hbase> get 't1', 'r1', {COLUMN => 'c1', TIMESTAMP => ts1}
 hbase> get 't1', 'r1', {COLUMN => 'c1', TIMERANGE => [ts1, ts2], VERSIONS => 4}
 hbase> get 't1', 'r1', {COLUMN => 'c1', TIMESTAMP => ts1, VERSIONS => 4}
 hbase> get 't1', 'r1', {FILTER => "ValueFilter(=, 'binary:abc')"}
 hbase> get 't1', 'r1', 'c1'
 hbase> get 't1', 'r1', 'c1', 'c2'
 hbase> get 't1', 'r1', ['c1', 'c2']
 hbsase> get 't1','r1', {COLUMN => 'c1', ATTRIBUTES => {'mykey'=>'myvalue'}}
 hbsase> get 't1','r1', {COLUMN => 'c1', AUTHORIZATIONS => ['PRIVATE','SECRET']}

Besides the default 'toStringBinary' format, 'get' also supports custom formatting by
column.  A user can define a FORMATTER by adding it to the column name in the get
specification.  The FORMATTER can be stipulated:

1. either as a org.apache.hadoop.hbase.util.Bytes method name (e.g, toInt, toString)
2. or as a custom class followed by method name: e.g. 'c(MyFormatterClass).format'.

Example formatting cf:qualifier1 and cf:qualifier2 both as Integers:
 hbase> get 't1', 'r1' {COLUMN => ['cf:qualifier1:toInt',
   'cf:qualifier2:c(org.apache.hadoop.hbase.util.Bytes).toInt'] }

Note that you can specify a FORMATTER by column only (cf:qualifer).  You cannot specify
a FORMATTER for all columns of a column family.

The same commands also can be run on a reference to a table (obtained via get_table or
create_table). Suppose you had a reference t to table 't1', the corresponding commands
would be:

 hbase> t.get 'r1'
 hbase> t.get 'r1', {TIMERANGE => [ts1, ts2]}
 hbase> t.get 'r1', {COLUMN => 'c1'}
 hbase> t.get 'r1', {COLUMN => ['c1', 'c2', 'c3']}
 hbase> t.get 'r1', {COLUMN => 'c1', TIMESTAMP => ts1}
 hbase> t.get 'r1', {COLUMN => 'c1', TIMERANGE => [ts1, ts2], VERSIONS => 4}
 hbase> t.get 'r1', {COLUMN => 'c1', TIMESTAMP => ts1, VERSIONS => 4}
 hbase> t.get 'r1', {FILTER => "ValueFilter(=, 'binary:abc')"}
 hbase> t.get 'r1', 'c1'
 hbase> t.get 'r1', 'c1', 'c2'
 hbase> t.get 'r1', ['c1', 'c2']

Command: get_counter
Return a counter cell value at specified table/row/column coordinates.
A cell cell should be managed with atomic increment function oh HBase
and the data should be binary encoded. Example:

 hbase> get_counter 't1', 'r1', 'c1'

The same commands also can be run on a table reference. Suppose you had a reference
t to table 't1', the corresponding command would be:

 hbase> t.get_counter 'r1', 'c1'

Command: incr
Increments a cell 'value' at specified table/row/column coordinates.
To increment a cell value in table 't1' at row 'r1' under column
'c1' by 1 (can be omitted) or 10 do:

 hbase> incr 't1', 'r1', 'c1'
 hbase> incr 't1', 'r1', 'c1', 1
 hbase> incr 't1', 'r1', 'c1', 10
 hbase> incr 't1', 'r1', 'c1', 10, {ATTRIBUTES=>{'mykey'=>'myvalue'}}
 hbase> incr 't1', 'r1', 'c1', {ATTRIBUTES=>{'mykey'=>'myvalue'}}
 hbase> incr 't1', 'r1', 'c1', 10, {VISIBILITY=>'PRIVATE|SECRET'}

The same commands also can be run on a table reference. Suppose you had a reference
t to table 't1', the corresponding command would be:

 hbase> t.incr 'r1', 'c1'
 hbase> t.incr 'r1', 'c1', 1
 hbase> t.incr 'r1', 'c1', 10, {ATTRIBUTES=>{'mykey'=>'myvalue'}}
 hbase> t.incr 'r1', 'c1', 10, {VISIBILITY=>'PRIVATE|SECRET'}

Command: put
Put a cell 'value' at specified table/row/column and optionally
timestamp coordinates.  To put a cell value into table 't1' at
row 'r1' under column 'c1' marked with the time 'ts1', do:

 hbase> put 't1', 'r1', 'c1', 'value'
 hbase> put 't1', 'r1', 'c1', 'value', ts1
 hbase> put 't1', 'r1', 'c1', 'value', {ATTRIBUTES=>{'mykey'=>'myvalue'}}
 hbase> put 't1', 'r1', 'c1', 'value', ts1, {ATTRIBUTES=>{'mykey'=>'myvalue'}}
 hbase> put 't1', 'r1', 'c1', 'value', ts1, {VISIBILITY=>'PRIVATE|SECRET'}}

The same commands also can be run on a table reference. Suppose you had a reference
t to table 't1', the corresponding command would be:

 hbase> t.put 'r1', 'c1', 'value', ts1, {ATTRIBUTES=>{'mykey'=>'myvalue'}}

Command: scan
Scan a table; pass table name and optionally a dictionary of scanner
specifications.  Scanner specifications may include one or more of:
TIMERANGE, FILTER, LIMIT, STARTROW, STOPROW, TIMESTAMP, MAXLENGTH,
or COLUMNS, CACHE

If no columns are specified, all columns will be scanned.
To scan all members of a column family, leave the qualifier empty as in
'col_family:'.

The filter can be specified in two ways:
1. Using a filterString - more information on this is available in the
Filter Language document attached to the HBASE-4176 JIRA
2. Using the entire package name of the filter.

Some examples:

 hbase> scan 'hbase:meta'
 hbase> scan 'hbase:meta', {COLUMNS => 'info:regioninfo'}
 hbase> scan 't1', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'}
 hbase> scan 't1', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]}
 hbase> scan 't1', {REVERSED => true}
 hbase> scan 't1', {FILTER => "(PrefixFilter ('row2') AND
   (QualifierFilter (>=, 'binary:xyz'))) AND (TimestampsFilter ( 123, 456))"}
 hbase> scan 't1', {FILTER =>
   org.apache.hadoop.hbase.filter.ColumnPaginationFilter.new(1, 0)}
For setting the Operation Attributes
 hbase> scan 't1', { COLUMNS => ['c1', 'c2'], ATTRIBUTES => {'mykey' => 'myvalue'}}
 hbase> scan 't1', { COLUMNS => ['c1', 'c2'], AUTHORIZATIONS => ['PRIVATE','SECRET']}
For experts, there is an additional option -- CACHE_BLOCKS -- which
switches block caching for the scanner on (true) or off (false).  By
default it is enabled.  Examples:

 hbase> scan 't1', {COLUMNS => ['c1', 'c2'], CACHE_BLOCKS => false}

Also for experts, there is an advanced option -- RAW -- which instructs the
scanner to return all cells (including delete markers and uncollected deleted
cells). This option cannot be combined with requesting specific COLUMNS.
Disabled by default.  Example:

 hbase> scan 't1', {RAW => true, VERSIONS => 10}

Besides the default 'toStringBinary' format, 'scan' supports custom formatting
by column.  A user can define a FORMATTER by adding it to the column name in
the scan specification.  The FORMATTER can be stipulated:

1. either as a org.apache.hadoop.hbase.util.Bytes method name (e.g, toInt, toString)
2. or as a custom class followed by method name: e.g. 'c(MyFormatterClass).format'.

Example formatting cf:qualifier1 and cf:qualifier2 both as Integers:
 hbase> scan 't1', {COLUMNS => ['cf:qualifier1:toInt',
   'cf:qualifier2:c(org.apache.hadoop.hbase.util.Bytes).toInt'] }

Note that you can specify a FORMATTER by column only (cf:qualifer).  You cannot
specify a FORMATTER for all columns of a column family.

Scan can also be used directly from a table, by first getting a reference to a
table, like such:

 hbase> t = get_table 't'
 hbase> t.scan

Note in the above situation, you can still provide all the filtering, columns,
options, etc as described above.


Command: truncate
 Disables, drops and recreates the specified table.

Command: truncate_preserve
 Disables, drops and recreates the specified table while still maintaing the previous region boundaries.

(HBase) command help : namespace group

namespace
Command: alter_namespace
Alter namespace properties.

To add/modify a property:

 hbase> alter_namespace 'ns1', {METHOD => 'set', 'PROERTY_NAME' => 'PROPERTY_VALUE'}

To delete a property:

 hbase> alter_namespace 'ns1', {METHOD => 'unset', NAME=>'PROERTY_NAME'}

Command: create_namespace
Create namespace; pass namespace name,
and optionally a dictionary of namespace configuration.
Examples:

 hbase> create_namespace 'ns1'
 hbase> create_namespace 'ns1', {'PROERTY_NAME'=>'PROPERTY_VALUE'}

Command: describe_namespace
Describe the named namespace. For example:
 hbase> describe_namespace 'ns1'

Command: drop_namespace
Drop the named namespace. The namespace must be empty.

Command: list_namespace
List all namespaces in hbase. Optional regular expression parameter could
be used to filter the output. Examples:

 hbase> list_namespace
 hbase> list_namespace 'abc.*'

Command: list_namespace_tables
List all tables that are members of the namespace.
Examples:

 hbase> list_namespace_tables 'ns1'

(HBase) command help : general group

HBase
general group
Command: status
Show cluster status. Can be 'summary', 'simple', or 'detailed'. The
default is 'summary'. Examples:

 hbase> status
 hbase> status 'simple'
 hbase> status 'summary'
 hbase> status 'detailed'

Command: table_help
Help for table-reference commands.

You can either create a table via 'create' and then manipulate the table via commands like 'put', 'get', etc.
See the standard help information for how to use each of these commands.

However, as of 0.96, you can also get a reference to a table, on which you can invoke commands.
For instance, you can get create a table and keep around a reference to it via:

  hbase> t = create 't', 'cf'

Or, if you have already created the table, you can get a reference to it:

  hbase> t = get_table 't'

You can do things like call 'put' on the table:

 hbase> t.put 'r', 'cf:q', 'v'

which puts a row 'r' with column family 'cf', qualifier 'q' and value 'v' into table t.

To read the data out, you can scan the table:

 hbase> t.scan

which will read all the rows in table 't'.

Essentially, any command that takes a table name can also be done via table reference.
Other commands include things like: get, delete, deleteall,
get_all_columns, get_counter, count, incr. These functions, along with
the standard JRuby object methods are also available via tab completion.

For more information on how to use each of these commands, you can also just type:

  hbase> t.help 'scan'

which will output more information on how to use that command.

You can also do general admin actions directly on a table; things like enable, disable,
flush and drop just by typing:

  hbase> t.enable
  hbase> t.flush
  hbase> t.disable
  hbase> t.drop

Note that after dropping a table, your reference to it becomes useless and further usage
is undefined (and not recommended).

Command: version
Output this HBase version

Command: whoami
Show the current hbase user.
Syntax : whoami
For example:

   hbase> whoami

2014년 2월 21일 금요일

하둡 에코시스템 (하둡생태계)

하둡은 비지니스에 효율적으로 적용할수 있게 다양한 서브 프로젝트가 제공됩니다. 이러한 서브 프로젝트가 상용화되면서 하둡 에코시스템(Hadoop Ecosystem)이 구성 됐습니다. 분산 데이터를 저장하는 HDFS와 분석 데이터를 처리하는 맵리듀스가 하둡 코어 프로젝트에 해당하며, 나머지 프로젝트는 모두 하둡의 서브 프로젝트입니다.


- Zookeeper ( http://zookeeper.apache.org/ ) : 분산환경에서 서버 간의 상호 조정이 필요한 다양한 서비스를 제공하는 시스템 입니다. 첫째, 하나의 서버에만 서비스가 집중되지 않게 서비스를 알맞게 분산해 동시에 처리하게 해줍니다. 둘째, 하나의 서버에서 처리한 결과를 다른 서버와도 동기화해서 데이터의 안전성을 보장해 줍니다. 셋째, 운영 서버가 문제가 발생해서 서비스를 제공할 수 없을 경우, 다른 대기 중인 서버를 운영서버로 바꿔서 서비스가 중지 없이 제공되게 해줍니다. 넷째 분산 환경을 구성하는 서버들이 환경설정을 통합적으로 관리해줍니다.


- Oozie ( http://incubator.apache.org/oozie/) 하둡 작업을 관리하는 워크플로우 및 코디네이터 시스템입니다. 자바 서블릿 컨테이너에서 실행되는 자바 웹 어플리케이션 서버이며, 맴리듀스 작업이나 피그 작업 같은 특화된 액션으로 구성된 워크 플로우를 제어 합니다.


- HBase ( http://hbase.apache.org/) HDFS 기반의 칼럼 기반 데이터베이스 입니다. 구글의 BigTable 논문을 기반으로 개발됐습니다. 실시간 램덤 조회 및 업데이트가 가능하며, 가 프로세스는 개인의 데이터를 비동기적으로 업데이트 할 수 있습니다. 단, 맵리듀스는 일괄 처리 방식으로 수행됩니다.


- Pig(http://pig.apache.org/) 야후에서 개발됐으나 현재는 아파치 프로젝트에 속한 프로젝트로서, 복잡한 맵리듀스 프로그래밍을 대체할 Pig Latin이라는 자체 언어를 제공합니다. 맵리듀스 API를 크게 단순화했으며, SQL과 유사한 형태로 설계됐습니다. SQL과 유사하기만 할 뿐 기존 SQL 지식을 할요하는 것이 어려운 편입니다.


- Hive ( http://hive.apache.org/) 하둡 기반의 데이터웨어 하우징용 솔루션입니다. 페이스북에서 개발됐으며, 오픈 소스로 공개되면서 주목받은 기술입니다. SQL과 매우 유사한 HiveQL이라는 쿼리를 제공합니다. 그래서 자바를 모르는 데이터 분석가들도 쉽게 하둡 데이터를 분석할수 있게 도와줍니다.  HiveQL은 내부적으로 맵리듀스 잡으로 변환되어 실행됩니다.


- Mahout ( http://mahout.apache.org/) 하둡 기반으로 데이터 마이닝 알고리즘을 구현한 오픈 소스입니다. 현재 분류, 클러스터링, 추천 및 협업 필터링, 패턴마이닝, 회귀분석, 차원 리덕션, 진화 알고리즘 등 중요한 알고리즘을 지원합니다.


-HCatalog ( http://incubator.apache.org/hcatalog/) 하둡으로 생성된 데이터를 위한 테이블 및 스토리지 관리 서비스 입니다. HCatalog의 가장 큰 장점은 하둡 에코시스템 간의 상호 운용성 향상입니다. 예를 들어 HCatalog를 이용하면 Hive에서 생성한 테이블이나 데이터 모델을 Pig나 맵리듀스에서 손쉽게 이용할수 있습니다. 물론 그 전에도 에코 시스템 간에 데이터 모델 공유가 불가능한 것은 아니었지만, 상당한 백엔드 작업이 필요했습니다.


-Avro ( http://avro.apache.org/) RPC(Remote Procedure Call)과 데이터 직렬화를 지원하는 프레임워크 입니다. JSON을 이용해 데이터 형식과 프로토콜을 정의하며, 작고 빠른 바이너리 포맷으로 데이터를 직렬화 합니다.


- Chukwa ( http://incubator.apache.org/chukwa/) 분산 환경에서 생성되는 데이터를 HDFS에 안정적으로 저장하느 플랫폼입니다. 분산된 각 서버에서 에이전트 를 실행하고ㅡ 콜렉터가 에이전트로부터 데이터를 받아 HDFS에 저장합니다. 콜렉터는 100개의 에이전트당 하나씩 구동되며, 데이터 중복 제거 등의 작업은 맵리듀스로 처리합니다. 야후에서 개발됐으며, 현재는 아파치 인큐베이션에 포함되 있습니다.


- Flume ( http://incubator.apache.org/projects/flume.html) Chukwa처럼 분산된 서버에 에이전트가 설치되고 에이전트로부터 데이터를 전달받는 콜랙털로 구성됩니다. 차이점은 전체 데이터의 흐름을 관리하는 마스터 서버가 있어서, 데이터를 어디서 수집하고, 어떤 방식으로 전송하고, 어디에 저장할지를 동적으로 변경할 수 있다는 것입니다. 클라우데라에서 개발됐으며, 현재는 아파치 인큐베이션에 포함되 있습니다.


Scribe (https://github.com/facebook/scrive) 페이스북에서 개발한 데이터 수집 플랫폼이며,  Chukwa와는 다르게 데이터를 중앙 집중 서버로 전송하는 방식입니다. 죄종 데이터는 HDFS외에 다양한 저장소를 활용할수 있으며 설치와 구성이 쉽게 다양한 프로그래밍 언어를 지원합니다.


Sqoop (http://sqoop.apache.org) 대용량 데이터 전송 솔루션이며, 올해 4월에 아파치 최상위 프로젝트로 승격됐습니다. Sqoop은 HDFS, RDBMS, DW, NoSQL등 다야안 저장소에 대용량 데이터를 신속하게 전송할 수 있는 방법을 제공합니다. Oracle, MS-SQL, DB2등과 같은 상용 RDBMS와 MySQL. ProstgreSQL과 같은 오프소스 RDBMS등을 지원합니다.


Hibo (https://github.com/sonalgoyal/hiho/) Sqoop과 같은 대용량 데이터 전송 솔루션이며, 핸재 Github에공개되 있습니다. 하둡에서 데이터를 가져오기 위한 SQL을 지정할 수 있으며, JDBC인터페이스를 지원합니다.

from : http://www.hadoop-forum.co.kr/_board/content.php?id=13&pass_id=17&secret=0&slug=resent_new


2014년 2월 19일 수요일

2014년 2월 12일 수요일

(Hadoop install) v 2.2.0

Hadoop install


new compile url
http://vichargrave.com/create-a-hadoop-build-and-development-environment-for-hadoop/


build해서 native lib (copy 또는 그대로 이용)

mvn 시...
mvn package -Pdist,native -DskipTests -Dtar


오류시 ))
https://code.google.com/p/protobuf/
2.5버전 사용.빌드.



deprecated))
------------------------------------------------------------------------------

1. wget http://apache.tt.co.kr/hadoop/common/hadoop-2.2.0/hadoop-2.2.0.tar.gz
2. ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
chmod 644 ~/.ssh/authorized_keys
ssh test
ssh hadoop@localhost

3. jdk 설치

4. hadoop 설치
~/.bash_profile

# Hadoop
export HADOOP_HOME=/data/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=${HADOOP_HOME}
export HADOOP_COMMON_HOME=${HADOOP_HOME}
export HADOOP_HDFS_HOME=${HADOOP_HOME}
export YARN_HOME=${HADOOP_HOME}


$HADOOP_HOME/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/data/jdk

$HADOOP_HOME/etc/hadoop/yarn-env.sh
# Native Path
# http://www.yongbok.net/blog/how-to-install-hadoop-2-2-0-pseudo-distributed-mode/#comment-70525
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

source ~/.bash_profile

5. hadoop 설정
core-site.xml
$HADOOP_HOME/etc/hadoop/core-site.xml



fs.default.name
hdfs://localhost:9000
true




hdfs-site.xml
$HADOOP_HOME/etc/hadoop/hdfs-site.xml



dfs.namenode.name.dir
file:/home/hadoop/dfs/name
true


dfs.datanode.data.dir
file:/home/hadoop/dfs/data
true


dfs.permissions
false



mapred-site.xml
$HADOOP_HOME/etc/hadoop/mapred-site.xml



mapreduce.framework.name
yarn


mapred.system.dir
file:/home/hadoop/mapred/system
true


mapred.local.dir
file:/home/hadoop/mapred/local
true



yarn-site.xml
$HADOOP_HOME/etc/hadoop/yarn-site.xml




yarn.nodemanager.aux-services
mapreduce_shuffle


yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler



hadoop-env.sh

$HADOOP_HOME/etc/hadoop/hadoop-env.sh
export JAVA_HOME=$HOME/jdk

6. hadoop exec
hdfs namenode -format
start-all.sh
jps
2974 NameNode
4356 Jps
3089 DataNode
3241 SecondaryNameNode
1377 ResourceManager
3487 NodeManager

[linux]CentOS thchpad off

synclient TouchPadoff=1

2014년 2월 5일 수요일

도봉산 구석 구석 등산.
산행일 : 2014. 02. 02. sun