2015-09-10 프로세스 혁신과 관리 - 연세대학교 정보대학원 수업내용

엔트루 컨설턴트 출신
 
굉장히 실용적인 과목. 기업에서 요구해서 만든 과목.
그룹프로젝트. (중간, 기말고사가 없음)
 
새로운 기술을 가지고 어떤 비즈니스 모델이 있고 서비스 프로세스가 어떻게 변해야 하는지에 대한 내용 + 새로운 비즈니스 모델 창출이 현재 컨설팅의 이슈이다.
 
컨설팅에서 일반적으로 장표를 찍는다고 말하는 데, 아래와 같다.

 
이러한 장표를 만드는 작업을 진행할 것임.
서두의 메시지는 2줄 이상을 넘으면 안된다. Visual한 부분도 중요하다고 봄.
 

 
Logic Tree와 사고방식
 - 누락이나 중복은 없는지. 인과관계는 적절한지. 구체성은 있는지.
 

* 레벨이 맞는 것이 가장 중요하다.
* 스트럭처에 맞게 생각하는 게 중요할 것 같음.
* 키워드를 뽑아내는 것도 중요하다고 봄.
 
나중에는 인터뷰 내용을 카테고라이징을 해야한다.
 
* 3C 분석 - 자사/고객/경쟁사 분석.
 
Fact를 기반으로 한 방향성을 잡아줘야 한다. 이게 없이 이야기 하는 경우도 있다.
 

 
3C 분석에서는 어떤 데이터를 활용할지에 대해서도 생각해 보아야 함.
고객이라고 하면 잠재고객을 이야기 하는 것이 맞을 듯.
 
다음주까지 과제 > 종합적인 시사점을 해올 것.
 
2015-05-30 [PLS 통계] 나름 정리한 - 연세대학교 정보대학원 수업내용

R을_이용한_PLS_구조방정식모형_분석_튜토리얼_-_예
 
PLS 분석에서

*(별)은 t-value에 따라서 붙이고 해당 기준은 1.960: *, 2..807: **, 3.291: ***
 
* Reflective vs Formative
PLS의 경우 둘 다 사용가능. 단, 집단간 분석 불가.
SPSS의 경우 Reflective만 가능 + 집단간 분석 가능.
{김중인, 2012 #156}
 
t-value는 때렸냐 안때렸냐
p값은 얼마나 아프냐 (Path Coefficient)
 
t value가 알려주는 것은 관계나 집합들 사이의 차이가 생겨나는 것이 우연한 것인지, 변수에 따른 것인지의 여부.
 
 
 
* 다중 공선성 체크
 

 
- 공차(Tolerance)가 0.1 보다 작고, VIF(Variance Inflation Factor)가 10 보다 크고, 상태지수(Condition Index)가 30을 초과하면 측정변수들 간에 다중공선성이 존재하는 것으로 본다(Olmo, et al., 2000)
 
- 통상적으로 상태지수(Condition Index)값이 30이하이고, VIF 값이 10이하이면 다중공선성(multicollinearity)의 가능성을 우려하지 않아도 되는데(Chatterjee, Hadi and Price, 2006; Joseph, Rolph,Ronald and William, 1998), 본 연구에서는 상태지수(CI)의 최대값이 25.123(최소: 1.000,평균: 11.161), VIF의 최대값이 1.723(최소: 1.019, 평균: 1.276)로 나타나 본 연구의 모든모델에서 기준치를 충족하고 있는 것으로 나타나 다중공선성의 문제는 우려하지 않아도 되는 것으로 판단하였다.
 
 

 

- 상관계수 0.6미만
- square root of AVE가 변수 간의 상관계수 값보다 커야함.
 
PLS

0.60 이상이면 안된다는 내용의 출처.
일반적으로 상관계수의 절대값이 0.2 보다 작으면 상관 관계가 없거나 무시해도 좋으나, 절대값이 0.4 이상이면 약한 상관관계, 0.6 이상이면 강한 상관관계가 있는 것으로 볼 수 있다(채서일, 2008). - 채서일, 마케팅조사론, 비앤엠북스, 2008.
SPSS

다중공선성이란 한 독립변수의 값이 증가할 때 다른 독립변 수의 값이 이에 관련되어 증가하거나 감소하는 현상을 말하 며, 다중공선성이 높은 경우 회귀분석의 가정인 ‘독립변수들 간에는 독립이어야 한다’를 위배하게 된다. 즉, 다중공선성이 심각하다면 회귀식의 의미는 없어지게 된다(김은정ㆍ박양규 ㆍ박중재, 윈도우용 SPSS 10, 21세기사, 2001)
 
2014-11-25 [Linux] Hadoop 설치 가이드 2

# Hadoop 분산 클러스터 구성 
 

 
노드 구분명
서버 IP
호스트명
 Name Node 
 192.168.1.100 
 master.namenode
 Secondary Node 
 192.168.1.101 
 secondary.namenode
 Data Node 01 
 192.168.1.111 
 slave.datanode01
 Data Node 02   
 192.168.1.112   
 slave.datanode02
 Data Node 03   
 192.168.1.113   
 slave.datanode03
# 시스템 인코딩 방식 확인
- 하둡은 인코딩 방식으로 UTF-8을 사용함.
- 한글로된 파일을 처리할 경우, 한글이 모두 깨질 수 있음
- 시스템 인코딩 방식을 확인후에 UTF-8이 아닌경우 인코딩을 변경
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[hadoop@master bin]$ echo $LANG
ko_KR.eucKR
 
// 인코딩 변경
[hadoop@master bin]$ vi /etc/sysconfig/i18n
LANG="ko_KR.UTF-8"
 
// 변경한 설정 적용
[hadoop@master bin]$ source /etc/sysconfig/i18n
 
// 변경된 정보 확인
[hadoop@master bin]$ locale
LANG=ko_KR.UTF-8
LC_CTYPE="ko_KR.UTF-8"
LC_NUMERIC="ko_KR.UTF-8"
LC_TIME="ko_KR.UTF-8"
LC_COLLATE="ko_KR.UTF-8"
LC_MONETARY="ko_KR.UTF-8"
LC_MESSAGES="ko_KR.UTF-8"
LC_PAPER="ko_KR.UTF-8"
LC_NAME="ko_KR.UTF-8"
LC_ADDRESS="ko_KR.UTF-8"
LC_TELEPHONE="ko_KR.UTF-8"
LC_MEASUREMENT="ko_KR.UTF-8"
LC_IDENTIFICATION="ko_KR.UTF-8"
# 그룹및 계정 생성, 각 서버별 공통(namenode, secondary_namenode, datanode)
1
2
groupadd hadoop
useradd -g hadoop -d /home/hadoop -c /bin/bash hadoop
# master.namenode 서버의 hosts 설정 추가
※각 서버의 기본 호스트(localhost)명을 아래와 같은 호스트명으로 구분되도록 변경(웹페이지 확인시 필요)
 
1
2
3
4
5
6
7
/etc/hosts
192.168.1.100    master.namenode
192.168.1.101    secondary.namenode
 
192.168.1.111    slave.datanode01
192.168.1.112    slave.datanode02
192.168.1.113    slave.datanode03
# 호스트명 이용시 각각의 서버에 master.namenode 호스트 정보와 해당 서버의 호스트 정보를 등록해줌
예1) secondary.namenode 일경우
 
1
2
3
cat /etc/hosts
192.168.1.100    master.namenode
192.168.1.101    secondary.namenode
예2) slave.datanode01 일경우
 
1
2
3
cat /etc/hosts
192.168.1.100    master.namenode
192.168.1.111    slave.datanode01
iptables 방화벽 포트 접근 허용
# master.namenode, secondary_namenode
 
1
2
3
4
5
6
[root@master ~]# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9000 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50030 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50070 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50090 -j ACCEPT
# 테이터노드(datanode) : datanode 서버들 별로 포트 접근 허용
1
2
3
4
5
6
[root@master ~]# vi /etc/sysconfig/iptables
 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50010 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50020 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50060 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50075 -j ACCEPT
# Hadoop 에서 사용할 디렉토리 생성
# master.namenode
 
1
2
[root@master data]# mkdir /data/name
[root@master data]# chown -R hadoop.hadoop /data
# secondary.namenode
 
1
2
[root@master ~]# mkdir /data
[root@master ~]# chown -R hadoop.hadoop /data
# 각각의 slave.datanode(디렉토리 권한 755)
 
1
2
3
[root@slave ~]# mkdir -p /data/node01
[root@slave ~]# mkdir -p /data/node02
[root@slave ~]# chown -R hadoop.hadoop /data
# Hadoop 시스템간의 데이터 전송을 위하여 SSH 인증 키 생성및 서버별 배포
# namenode에서 모든 시스템 접근
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[hadoop@master ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
df:1f:3d:1d:00:37:02:a7:d7:4c:19:4b:cd:71:e3:03 hadoop@master
The key's randomart image is:
+--[ RSA 2048]----+
|         ..+ E=oo|
|          o O.=oo|
|         . . = o |
|          .   . .|
|        S      . |
|         . .   .o|
|          . . ..o|
|             . ..|
|              .  |
+-----------------+
인증키 배포
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// master.namenode 서버 자신을 접속하기 위해 인증키 복사
[hadoop@master ~]$ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
 
// secondary.namenode
[hadoop@master ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@secondary.namenode
 
// datanode
[hadoop@master ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@slave.datanode01
[hadoop@master ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@slave.datanode02
[hadoop@master ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@slave.datanode03
 
// 인증키를 이용한 접근 테스트
[hadoop@master ~]$ ssh hadoop@secondary.namenode
[hadoop@master ~]$ ssh hadoop@slave.datanode01
[hadoop@master ~]$ ssh hadoop@slave.datanode02
[hadoop@master ~]$ ssh hadoop@slave.datanode03
Hadoop 설치
# master.namenode 서버의 홈디렉토리에 설치
 
1
[hadoop@master ~]$ tar -xzvf hadoop-1.1.2.tar.gz
# Java 위치 확인
/home/hadoop/jdk1.7.0_17
 
환경 설정
1
[hadoop@master ~]$ cd hadoop-1.1.2/conf/
hadoop-env.sh
Hadoop 을 구동하는 스크립트에서 사용하되는 환경 변수를 정의한 파일
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[hadoop@master conf]$ vi hadoop-env.sh
# Set Hadoop Home
export HADOOP_HOME=/home/hadoop/hadoop-1.1.2
export HADOOP_HOME_WARN_SUPPRESS="TRUE"
 
# The java implementation to use.  Required.
export JAVA_HOME=/home/hadoop/jdk1.7.0_17
 
# Extra Java CLASSPATH elements.  Optional.
# export HADOOP_CLASSPATH=
 
# The maximum amount of heap to use, in MB. Default is 1000.
# export HADOOP_HEAPSIZE=2000
 
# Extra Java runtime options.  Empty by default.
export HADOOP_OPTS=-server
core-site.xml
HDFS 와 Map/Reduce 에 공통적으로 사용되는 I/O 설정 같은 Hadoop 코어를 위한 설정파일
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[hadoop@master conf]$ vi core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
 
<!-- Put site-specific property overrides in this file. -->
 
<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://master.namenode:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/tmp/hadoop-${user.name}</value>
  </property>
</configuration>
hdfs-site.xml
Name Node, Secondary Node, Data Node 등과 같은 HDFS Daemon 을 위한 환경설정 파일
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
[hadoop@master conf]$ vi hdfs-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  
<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://master.namenode:9000</value>
    </property>
    <property>
        <name>dfs.name.dir</name>
        <value>/data/name,/data/backup</value>
    </property>
    <property>
        <name>dfs.data.dir</name>
        <value>/data/node01,/data/node02</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>fs.trash.interval</name>
        <value>30</value>
    </property>
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.support.append</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.support.broken.append</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.permissions</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.web.ugi</name>
        <value>hadoop,supergroup</value>
    </property>
    <property>
        <name>dfs.permissions.supergroup</name>
        <value>supergroup</value>
    </property>
    <property>
        <name>dfs.upgrade.permission</name>
        <value>0777</value>
    </property>
    <property>
        <name>dfs.umaskmode</name>
        <value>022</value>
    </property>
    <property>
        <name>dfs.http.address</name>
        <value>master.namenode:50070</value>
    </property>
    <property>
        <name>dfs.secondary.http.address</name>
        <value>secondary.namenode:50090</value>
    </property>
    <property>
        <name>fs.checkpoint.dir</name>
        <value>/data/checkpoint</value>
    </property>
    <property>
        <name>fs.checkpoint.period</name>
        <value>360</value>
    </property>
    <property>
        <name>dfs.backup.address</name>
        <value>secondary.namenode:50100</value>
    </property>
    <property>
        <name>dfs.backup.http.address</name>
        <value>secondary.namenode:50105</value>
    </property>
</configuration>
mapred-site.xml
Job Tracker, Task Tracker 같은 Map/Reduce Daemon 을 위한 환경설정 파일
 
mapred.system.dir : HDFS 상의 디렉토리로 설정합니다.
mapred.local.dir : 실제 Data Node 의 로컬 디렉토리를 지정하며, 콤마(,) 로 여러개의 경로를 지정할 수 있습니다.
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[hadoop@master conf]$ vi mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  
<configuration>
    <property>
        <name>mapred.job.tracker </name>
        <value>hdfs://master.namenode:9001</value>
    </property>
    <property>
        <name>mapred.system.dir</name>
        <value>/tmp/hadoop/mapred/system</value>
    </property>
    <property>
        <name>mapred.local.dir</name>
        <value>/data/mapred/local</value>
    </property>
    <property>
        <name>dfs.hosts.exclude</name>
        <value>/home/hadoop/hadoop-1.1.2/conf/hosts.exclude</value>
    </property>
    <property>
        <name>mapred.hosts.exclude</name>
        <value>/home/hadoop/hadoop-1.1.2/conf/hosts.exclude</value>
    </property>
</configuration>
masters
보조네임노드 (Secondary Node) 를 구동시킬 서버의 목록을 지정하여 줍니다.
 
1
2
[hadoop@master conf]$ vi masters
secondary.namenode
slaves
Data Node 와 Task Tracker 를 구동시킬 서버의 목록을 지정하여 줍니다.
 
1
2
3
4
[hadoop@master conf]$ vi slaves
slave.datanode01
slave.datanode02
slave.datanode03
### 서버별 배포
# Java 배포 : 서버별 Java 설정이 필요할 경우
# 서버별 Bit 체크 : 서버의 Bit에 맞는 Java 설치
 
1
2
3
4
5
6
7
8
9
10
11
12
// secondary.namenode
scp -r /home/hadoop/jdk1.7.0_17 secondary.namenode:/home/hadoop/jdk1.7.0_17
 
// slave.datanode
scp -r /home/hadoop/jdk1.7.0_17 slave.datanode01:/home/hadoop/jdk1.7.0_17
scp -r /home/hadoop/jdk1.7.0_17 slave.datanode02:/home/hadoop/jdk1.7.0_17
scp -r /home/hadoop/jdk1.7.0_17 slave.datanode03:/home/hadoop/jdk1.7.0_17
 
// jps 정보 확인이 필요한 경우, 프로파일 배포
scp -r /home/hadoop/.bash_profile secondary.namenode:/home/hadoop/.bash_profile
scp -r /home/hadoop/.bash_profile slave.datanode01:/home/hadoop/.bash_profile
scp -r /home/hadoop/.bash_profile slave.datanode04:/home/hadoop/.bash_profile
# 최초 배포
master.namenode 에 설치되어 있는 Hadoop 디렉토리 전체를 배포
 
1
2
3
4
5
6
7
// secondary.namenode
scp -r /home/hadoop/hadoop-1.1.2 secondary.namenode:/home/hadoop/hadoop-1.1.2
 
// slave.datanode
scp -r /home/hadoop/hadoop-1.1.2 slave.datanode01:/home/hadoop/hadoop-1.1.2
scp -r /home/hadoop/hadoop-1.1.2 slave.datanode02:/home/hadoop/hadoop-1.1.2
scp -r /home/hadoop/hadoop-1.1.2 slave.datanode03:/home/hadoop/hadoop-1.1.2
# 변경 설정 배포
master.namenode 의 설정이 변경되었을 경우 각 서버별 변경된 파일만 배포
 
1
2
3
4
5
6
7
// secondary.namenode
rsync -av /home/hadoop/hadoop-1.1.2/conf secondary.namenode:/home/hadoop/hadoop-1.1.2
 
// slave.datanode
rsync -av /home/hadoop/hadoop-1.1.2/conf slave.datanode01:/home/hadoop/hadoop-1.1.2
rsync -av /home/hadoop/hadoop-1.1.2/conf slave.datanode02:/home/hadoop/hadoop-1.1.2
rsync -av /home/hadoop/hadoop-1.1.2/conf slave.datanode03:/home/hadoop/hadoop-1.1.2
### namenode 포멧
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
[hadoop@master ~]$ cd hadoop-1.1.2/bin/
[hadoop@master bin]$ ./hadoop namenode -format
13/03/27 11:45:27 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = master/192.168.1.100
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 1.1.2
STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.1 -r 1440782; compiled by 'hortonfo' on Thu Jan 31 02:03:24 UTC 2013
************************************************************/
Re-format filesystem in /data/name ? (Y or N) Y
Re-format filesystem in /data/backup ? (Y or N) Y
13/03/27 11:45:33 INFO util.GSet: VM type       = 32-bit
13/03/27 11:45:33 INFO util.GSet: 2% max memory = 19.33375 MB
13/03/27 11:45:33 INFO util.GSet: capacity      = 2^22 = 4194304 entries
13/03/27 11:45:33 INFO util.GSet: recommended=4194304, actual=4194304
13/03/27 11:45:34 INFO namenode.FSNamesystem: fsOwner=hadoop
13/03/27 11:45:34 INFO namenode.FSNamesystem: supergroup=supergroup
13/03/27 11:45:34 INFO namenode.FSNamesystem: isPermissionEnabled=true
13/03/27 11:45:34 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100
13/03/27 11:45:34 WARN namenode.FSNamesystem: The dfs.support.append option is in your configuration, however append is not supported. This configuration option is no longer required to enable sync.
13/03/27 11:45:34 INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s)
13/03/27 11:45:34 INFO namenode.NameNode: Caching file names occuring more than 10 times
13/03/27 11:45:36 INFO common.Storage: Image file of size 112 saved in 0 seconds.
13/03/27 11:45:36 INFO namenode.FSEditLog: closing edit log: position=4, editlog=/data/name/current/edits
13/03/27 11:45:36 INFO namenode.FSEditLog: close success: truncate to 4, editlog=/data/name/current/edits
13/03/27 11:45:36 INFO common.Storage: Storage directory /data/name has been successfully formatted.
13/03/27 11:45:36 INFO common.Storage: Image file of size 112 saved in 0 seconds.
13/03/27 11:45:36 INFO namenode.FSEditLog: closing edit log: position=4, editlog=/data/backup/current/edits
13/03/27 11:45:36 INFO namenode.FSEditLog: close success: truncate to 4, editlog=/data/backup/current/edits
13/03/27 11:45:36 INFO common.Storage: Storage directory /data/backup has been successfully formatted.
13/03/27 11:45:36 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at master/192.168.1.100
************************************************************/
# DataNode 제거
 
1
2
3
4
5
6
7
8
9
10
11
12
13
/*
  mapred-site.xml 파일에 아래처럼 제외할 호스트 파일정보가 있을경우
  hosts.exclude 파일에 DataNode 명을 추가해줌으로 제거 가능
  dfs.hosts.exclude, mapred.hosts.exclude 가 기재되어 있지 않을경우, 설정후 전체를 재시작
*/
    <property>
        <name>dfs.hosts.exclude</name>
        <value>/home/hadoop/hadoop-1.1.2/conf/hosts.exclude</value>
    </property>
    <property>
        <name>mapred.hosts.exclude</name>
        <value>/home/hadoop/hadoop-1.1.2/conf/hosts.exclude</value>
    </property>
제외할 DataNode를 NameNode 서버의 hosts.exclude에 등록
1
2
3
4
echo slave.datanode01 > /home/hadoop/hadoop-1.1.2/conf/hosts.exclude
 
// DataNode 반영
[hadoop@master bin]$ ./hadoop dfsadmin -refreshNodes
Hadoop 설치 정보 콘솔 확인
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
[hadoop@master bin]$ ./hadoop dfsadmin -report
Configured Capacity: 162174115840 (151.04 GB)
Present Capacity: 104111394816 (96.96 GB)
DFS Remaining: 104111194112 (96.96 GB)
DFS Used: 200704 (196 KB)
DFS Used%: 0%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
 
-------------------------------------------------
Datanodes available: 3 (3 total, 0 dead)
 
Name: 192.168.1.111:50010
Decommission Status : Normal
Configured Capacity: 44776726528 (41.7 GB)
DFS Used: 69632 (68 KB)
Non DFS Used: 39449726976 (36.74 GB)
DFS Remaining: 5326929920(4.96 GB)
DFS Used%: 0%
DFS Remaining%: 11.9%
Last contact: Wed Mar 27 14:33:29 KST 2013
 
 
Name: 192.168.1.113:50010
Decommission Status : Normal
Configured Capacity: 11708014592 (10.9 GB)
DFS Used: 69632 (68 KB)
Non DFS Used: 5046538240 (4.7 GB)
DFS Remaining: 6661406720(6.2 GB)
DFS Used%: 0%
DFS Remaining%: 56.9%
Last contact: Wed Mar 27 14:33:27 KST 2013
 
 
Name: 192.168.1.112:50010
Decommission Status : Normal
Configured Capacity: 105689374720 (98.43 GB)
DFS Used: 61440 (60 KB)
Non DFS Used: 13566455808 (12.63 GB)
DFS Remaining: 92122857472(85.8 GB)
DFS Used%: 0%
DFS Remaining%: 87.16%
Last contact: Wed Mar 27 14:33:26 KST 2013
# 사용자 디렉토리 생성
1
2
3
4
5
6
7
8
9
10
11
// slave.datanode 에 생성됨
[hadoop@master bin]$ ./hadoop fs -mkdir /user/hadoop
 
// 디렉토리 정보 확인
[hadoop@master bin]$ ./hadoop fs -ls /
Found 2 items
drwxr-xr-x   - hadoop supergroup          0 2013-03-27 14:07 /tmp
drwxr-xr-x   - hadoop supergroup          0 2013-03-27 14:39 /user
[hadoop@master bin]$ ./hadoop fs -ls /user
Found 1 items
drwxr-xr-x   - hadoop supergroup          0 2013-03-27 14:39 /user/hadoop
# 파일 업로드
1
2
[hadoop@master bin]$ ./hadoop fs -put ../../cloud_computing_primer.pdf .
[hadoop@master bin]$ ./hadoop fs -put ../../oracle_plsql_language_pocket_reference_fourth_edition.pdf .
# 서버별 프로세스 확인
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// master.namenode
[hadoop@master bin]$ jps
14422 Jps
13714 NameNode
13877 JobTracker
 
// secondary.namenode
[hadoop@localhost data]$ jps
15764 Jps
14765 SecondaryNameNode
 
// slave.datanode 동일(TaskTracker, DataNode)
[hadoop@localhost data]$ jps
30475 TaskTracker
30900 Jps
30365 DataNode
# Hadoop 구성 웹페이지 확인
 
Live Nodes 가 연결된 DataNode의 수

 
# DataNode 노드 리스트 확인

 
# DataNode 노드 정보 확인

 
# 노드의 파일 정보 확인

 

 
 
아래와 같이 두개의 DataNode 에 복제가 된 것이 확인됨
> hdfs-site.xml의 설정에서 dfs.replication = 2 로 지정 
 
1
2
3
4
5
6
7
8
Total number of blocks: 1
-4234428498334613222:   192.168.1.111:50010   192.168.1.113:50010
 
Total number of blocks: 1
-1479047574059270437:   192.168.1.113:50010   192.168.1.112:50010
 
Total number of blocks: 1
-8675812117651072288:   192.168.1.112:50010   192.168.1.111:50010
# 한개의 파일의 사이즈가 64MB 를 초과할 경우, 블록을 64MB 단위로 나누어 저장
> 기본 1블록(64MB)
 
1
2
3
4
5
6
// 3개의 블록에 2개씩의 복제
Total number of blocks: 3
 
-527122170720419961:   192.168.1.111:50010   192.168.1.113:50010
8606886155927734038:   192.168.1.112:50010   192.168.1.113:50010
3788523866326037174:   192.168.1.111:50010   192.168.1.113:50010
 
 
 

2016-03-24 SAD - 연세대학교 정보대학원 수업내용

[03-24] ISP.ppt

오류의 근원

앞단계에서 오류가 제일 많이 나온다. 앞단계에서 제대로 이루어지지 않으면 시스템을 다 다시 뜯어 고쳐야 해요.
 

Recently bias 최근에 일어난 일이 더 중요하다고 여기는 편견. 시스템이 뭘 해줄 수 있는지 모르는 경우도 있죠. 사용자들이 필요로 하는 것을 몽땅 다 끄집어 내는 건데, 그게 잘 안되는거지. 이런저런 조건에 의해서. 사실 사람은 망각의 동물이에요 신이 준 선물이라고도 하는데, 그거 때문에 요구사항 도출이 어려워요. 그래서 우리가 사용하는 기법을 통해 요구사항을 도출시켜줘야 해요. 그 방법이 4가지가 있는데,

 
첫 번째가 Decision Analysis.  어떤게 필요하세요? 라고 물어보는 것보단 어떤 의사결정을 주로 하는지, 그리고 거기에 어떤 정보가 필요한지에 대해 물어볼 수 있음. 그전에 니가 하는 일을 물어보는거야. 그건 사실 잘 알겠죠? 네 Activity가 뭐냐 업무가 뭐냐는 것이죠.

세일즈맨은 어떤 의사결정을 할까요? 어떤 고객을 찾아갈지. 구매내역. 고객 정보에 대한 걸 알아야 뭐가 필요한지를 알아낼 수 있음.
 
탑다운 방식.
Activities
Decisions
Infor. Needs
Data Requirements
(Entity or Attributes)
  1. Selling Merchandise
Whom to call
What to sell
Order History
Inv. Availability
결품현황
C. Order(order date,
P0 Item ( Qty )
Customer (CID,  )
 
-> Output
 
Data Requirements가 안들어가면 information Needs가 안나오는거죠.
정보시스템의 아웃풋이 information인데 Data Requirements가 꼭 필요한거죠.
 
대한항공 자문할 때, 고객이 주문을 했는데 없어서 못판게 시바스리갈. 그런데 데이터를 안잡더라. 모자라는건 항상 모자란다고. 결품현황은 구매부에서 필요하죠. Must! 이걸 안잡으면 Stockout에 대한 데이터가 처음부터 필요함. Stockout은 엔티티인지 애트리뷰트인지? 엔티티에요. Stockout 된 제품이 뭔지 고객이 언제 몇 개나 요구했는지. Key (item, Data, flightNo, Qty, Price)
 
바텀업으로 할 수도 있어. 이 회사에서 쓰는 장표가 뭐냐 해서 그걸 모아서 이렇게 할 수도 있죠. 그런데 이 방법에는 단점이 있어요. 필요한데 안잡고 있는 데이터는 반영하기 어렵죠.
 
때문에 정보요구분석은 탑다운 및 바텀업을 진행해야함.
 

문제의 성격을 명확하게 해야 해요. 어떤 문제죠? Business Problems이에요. 과목목 이름이 (Business) Sys. Analysis (IS) Design 비즈니스 문제를 분석해서 정보시스템을 디자인한다.

Out of stock too often 이건 너무 추상적임. 보다 구체적일 필요가 있음. 문제가 vague 하게 나오니까 해결방안도 추상적으로 나옴. 구체적으로 써야 해결 방안이 정확하게 나옴. 4번째 칼럼은 뭘까 Data Requirements에요. 위에 있는데 ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ 금방 까먹네요. Automatic reordering of inventory 이런말 적으면 절대 안되는거에요.

CSF는 학문적인 용어고. 회사에서는 KFS(Key Factors for Success)라고 부름. 솔루션에 무슨 시스템 이런거 쓰는데 그러지 말라는 거에요. 되게 헷갈려 하는 부분. 1. 조직의 목표가 무엇인지 2. 그 목표를 달성하기 위한 CSF가 뭔지 3. 잘 통제되고 있다는 사실을 확인하는데 필요한 정보가 무엇인지.
 

목표를 수치로 표현을 해야함. 그래야만 employ들이 거기에 맞춰서 행동하는 거죠. 고객만족도를 높여. 좀 생산적으로 일해라. 이런건 너무 모호해요.
수치: 생산성(?)  구체화 필요 ex. 1주일에 1 Function point는 프로그래밍 해라.
 - 고객만족
 - 업무효율
Mkt Share 15% up 시켜라.
구체적으로 측정 가능한 수치를 만들어 내야함. 추상적인 개념을 구체화 해야함. 구체적으로 뭘 하라고 하는 것.

CSF를 쓸 때, 형용사가 중요하다. Adequate inventory (적정 재고량) 그걸 유지 했냐 안했냐를 평가를 하려고 하는것임. Infor. Needs가 과거 거래내역과 그 당시 재고량이 아님.
Adequate inventory
 - 위해서 필요한 정보. (업무를 하는 사람이 필요한 정보) <- 이 정보는 Decision 분석에서 나오는 정보
 - 잘하고 있는지 알기 위해서 필요한 정보. (그 업무를 평가하는 사람에게 필요한 정보) CSF의 Status 평가를 위해 필요한 정보임.
 
적기충족주문 / 전체주문
결품
Overstock
Inventory turnover
 
이런게 정말 중요한 거에요. 이런 방법론을 쓰는 이유가 뭐에요? 빠뜨리지 않으려고 하는 거에요. 이미 Decision분석에서 나온 정보를 이 단계에서 또 뽑아낼 필요는 없다는 거죠.

객관적인 지표를 만들어 내야함. Adjective형용사를 잘써야함. 이걸 측정하는게 중요.

하나 해볼까?
현대차: 미주 시장에서 Genesis의 '성공적인'(월 1,000대 판매)  도입.
CSF
담당부서
정보요구
Data Requirement
1. 경쟁력 있는 가격
영업 마케팅
 
 
2. 효율적인 연비
3. 편안한 Ride
4. Safety
R&D
제조
 
 
5. 효과적 홍보
홍보부
소비자 인식조사?
주관적이라 좋지 않음
 
6. 등등등
 
 
 
핵심적인 부분들이기 때문에 각 부서가 있음.
홍보부의 목표? 효과적인 홍보. -> 전달하고자 하는 Concept이 있음. 이걸 제대로/명확하게/고객이 기억할 수 있게 전달하는 것. -> 수치목표가 있어야 하는데 아직은 부족함. 뽑아내야죠. 
CSF: 1. (타겟 고객층에) 적절한 광고 채널 선택. 2. Concept에 맞는 광고 모델 선택. 마티즈 컨셉이 작지만 강한. 그러면 모델은 재키찬.
채널관리 Team 목표: 타겟 고객층에 적절한 광고 채널 선택

CSF Hierarchy라고 부름.
그런데 이게 잘 전달이 될까요? 잘 안되요. 그럼 회사가 한 방향으로 잘 못가죠. 왜그럴까요. 애매모호한 표현으로 인한 해석의 오류가 발생함. 구체적인 측정가능한 지표가 나와야함.

 

Dell은 이걸 하기 위해 굉장히 노력했음.
 
CSF는 얼마나 자주 바꿔야 하나. 적어도 3년에 한 번은 해야함. 환경이 바뀌면 해야함. 유가가 떨어져서 요즘에는 대형차가 잘나감.

Some are external. 이건 IS에 있어서는 별로 좋은 것이 아님. External은 통제하기 불가함. External CSF에 대해. 측정할 수 있어야 해요. IoT를 활용하면 측정이 가능해지죠.

사람마다 CSF가 다를거에요. 회사 차원에서 저걸 어떻게 쓸 수 있겠어요? 회사 차원에서 이걸 다 충족시켜줄 수는 없어. 우선순위를 세워서 중요도에 따른 예산 수립을 할 수 있음. 숫자가 낮을 수록 중요하다고 보는 것.

개발 우선 순위 파악.

SEM - Strategic Enterprise Management
BSC - Balanced Scorecard
 

자재부의 고객은 생산이에요.
자재구매: 생산 라인에 차질이 없도록 하는 것.
  1. 양질의 부품을 적기 구매.
  2. 질좋은 부품을 적정한 가격에 사면 좋음. 생산 Schedule에 맞게. (고객의 입장에서 effective를 설명)  -> 정보 요구: 수율, Linestop

구매를 하면 어떤 프로세스가 있을까요. 소요량 산정 프로세스.
자재구매 -> 소요량 산정, 공급자 선정, 구매발주, … , 검수, 입고, 저장, 불출 key process가 efficient하게 진행되었는가. 그리고 각 프로세스의 구성 요인이 무엇인가. 여기에서 efficiency의 3가지 요소. 1. Accuracy 2. Time 3. Cost
예를 들어서, 자재 소요량 산정 프로세스 개선. 
 - 필요한 자재의 종류, 수량, 시기 등을 정확하게 산정했는가. 
 - 정보요구: 재고수준, Delayed 발주,
 
4가지 정보요구 분석 했음. CSF, End/mean
 
#과제: 2 Level CSF 분석
상위 Level
목표
CSF
정보요구
Data Req
 
 
 
 
테이블 2개 만들 것. 이 테이블이 연관이 되어야 함. 상위 Level의 CSF가 하위 Level의 목표와 연관이 되어야함. CSF분석을 해서 낼 것. 하위는 윗 레벨의 CSF중에서 하나만 가지고 하면 됨. 한사람의 CSF가 몇개나 나올까? 4~8개 이 이상 넘어가면 관리가 안된다.
하위 Level
목표
CSF
정보요구
Data Req
 
 
 
 
 
 
 
 
 
 
 
 
 

+ Recent posts