Ubuntu 12.04 Subversion 구축

subversion 설치

[root@]$ apt-get install subversion

Repository 만들기

$ mkdir /home/svn
$ svnadmin create --fs-type fsfs /home/svn/sa

svnserve.conf 수정

$ vi /home/svn/dev/conf/svnserve.conf
anon-access = none    // 익명 사용자 권한
auth-access = write    // 등록된 사용자 권한
password-db = passwd    // 인증에 사용될 패스워드 설정 파일

계정 및 패스워드 설정

$  vi /home/svn/dev/conf/passwd
svnuser = 1234 // 유저 = 패스워드 추가

subversion 기동

$ svnserve -d -r /home/svn

기본 디랙토리 만들기

$ svn mkdir svn://127.0.0.1/dev/trunk
$ svn mkdir svn://127.0.0.1/dev/branches
$ svn mkdir svn://127.0.0.1/dev/tags

기본 구성 확인

$ svn list svn://127.0.0.1/dev

subversion 자동실행 등록

$ vi /etc/rc.d/rc.local
svnserve -d -r /home/svn

subversion 백업

$ svnadmin dump /home/svn/sa > dump_sa.20151105

subversion 복구

$ svnadmin load /home/svn/sa < dump_sa.20151105

'Linux' 카테고리의 다른 글

nodeJS 설치  (0) 2016.01.07
top grep  (0) 2015.09.21
shell script 반복문  (0) 2015.02.07
CentOS vsftpd FTP 설치 및 설정  (0) 2014.12.26
chkconfig 사용법 (서비스 자동실행)  (0) 2014.12.26
Posted by satis
,

top grep

Linux 2015. 9. 21. 09:06
#!/bin/sh

top -p `pgrep -d, -f $1`

'Linux' 카테고리의 다른 글

nodeJS 설치  (0) 2016.01.07
Ubuntu 12.04 Subversion 구축  (0) 2015.09.22
shell script 반복문  (0) 2015.02.07
CentOS vsftpd FTP 설치 및 설정  (0) 2014.12.26
chkconfig 사용법 (서비스 자동실행)  (0) 2014.12.26
Posted by satis
,

Java Decompiler

java 2015. 9. 4. 11:59


Java Decompiler.zip



@echo off


rmdir /Q /S java

rmdir /Q /S src


mkdir java

mkdir src


copy *.jar .\java\

cd .\java

jar xvf *.jar


cd ..

jad -o -r -sjava -dsrc java\**\*.class


pause

'java' 카테고리의 다른 글

이클립스 플러그인 삭제 후 View list 재구성 하기  (0) 2017.09.01
Posted by satis
,

[목 차]

테스트 환경

  • OS: CentOS 6.6
  • 클러스터 환경: 1대의 master 와 2대의 slave

1. yum 저장소 변경

CentOS yum을 사용하기 위해서 yum 저장소를 국내 서버로 변경해야 한다.

1.1 기존 저장소 압축 보존

$ sudo bzip2 /etc/yum.repos.d/CentOS-*.repo
$ sudo yum repolist

1.2 Daum.repo 파일 생성

$ su -
[root]$ echo '[base]
name=CentOS-$releasever - Base
baseurl=http://ftp.daum.net/centos/$releasever/os/$basearch/
gpgcheck=0
[updates]
name=CentOS-$releasever - Updates
baseurl=http://ftp.daum.net/centos/$releasever/updates/$basearch/
gpgcheck=0
[extras]
name=CentOS-$releasever - Extras
baseurl=http://ftp.daum.net/centos/$releasever/extras/$basearch/
gpgcheck=0' > /etc/yum.repos.d/Daum.repo

$ sudo yum repolist

1.3 업데이트

$ sudo yum -y update

2. Java 설치

hadoop은 java로 구현되었기 때문에 java를 반드시 설치해야 한다.

2.1 Java 설치

$ sudo yum install java-1.7.0-openjdk-devel.x86_64 -y

2.2 JAVA_HOME 등록

JAVA_HOME을 등록한다. root와 hadoop 계정 모두 등록한다.

$ sudo vi ~/.bashrc
$ vi ~/.bashrc
# JAVA_HOME
export JAVA_HOME="/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64"
PATH=$JAVA_HOME/bin:$PATH

2.3 Java 설치 확인

$ java -version
java version "1.7.0_71"
OpenJDK Runtime Environment (rhel-2.5.3.1.el6-x86_64 u71-b14)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)

3. Host 설정

3.1 Host Name 설정

master의 경우
$ sudo vi /etc/sysconfig/network
HOSTNAME=hadoop-1
slave1의 경우
$ sudo vi /etc/sysconfig/network
HOSTNAME=hadoop-2
slave2의 경우
$ sudo vi /etc/sysconfig/network
HOSTNAME=hadoop-3

3.2 Host 설정

마스터와 슬래이브 모두 설정

$ sudo vi /etc/hosts
192.168.10.8  hadoop-1
192.168.10.9  hadoop-2
192.168.10.10 hadoop-3

3.3 재부팅

설정 적용을 하려면 재부팅이 필요하다.

$ sudo reboot -f

4. SSH 설치 및 공개 키 설정

hadoop클러스터에서 master와 slave들 간에 통신은 SSH를 이용한다. 따라서 모든 컴퓨터들은 SSH를 설치 해야 하고, master에서 암호없이 slave에 접속하기 위해서 공개 키가 필요하다.

4.1 SSH 설치

ubuntu를 설치했을 경우는 기본적으로 ssh가 설치 되어있지만, 설치가 안되있다면 아래의 코드를 통해 설치

$ sudo yum install ssh

4.2 공개 키 설정

[slave] master ip 등록
$ sudo vi /etc/hosts.allow
sshd: 192.168.10.8 # master ip 또는 ALL
[master] 공개 키 생성
$ sudo vi /etc/ssh/sshd_config
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ chmod 755 ~/.ssh
$ chmod 644 ~/.ssh/authorized_keys
[master] master에서 생성한 공개 키를 모든 slave로 복사
$ scp /home/hadoop/.ssh/authorized_keys 192.168.10.9:/home/hadoop/.ssh/.
$ scp /home/hadoop/.ssh/authorized_keys 192.168.10.10:/home/hadoop/.ssh/.
접속 테스트
$ sudo /etc/init.d/sshd restart
$ ssh 192.168.10.9
$ ssh 192.168.10.10

행여 안될 경우에는 ssh-keygen -R 192.168.10.8 또는 known_hosts를 지우고 위의 공개 키 설정 절차를 다시 실행
(기존에 저장되있던 hosts(공개 키)때문에 안되는 경우가 발생함)

5. Hadoop 설치

5.1 hadoop Source 다운로드 및 압축 해제

$ mkdir ~/src
$ cd ~/src
$ wget http://mirror.apache-kr.org//hadoop/common/hadoop-2.5.2/hadoop-2.5.2-src.tar.gz
$ tar xvfz hadoop-2.5.2-src.tar.gz
$ ll
drwxr-xr-x. 15 hadoop hadoop     4096 Nov 14 15:44 hadoop-2.5.2-src
-rw-rw-r--.  1 hadoop hadoop 15434251 Nov 20 16:32 hadoop-2.5.2-src.tar.gz

5.2 hadoop 빌드

빌드도구 설치

dev 설치

$ sudo yum install libgcc_s.so.1 gcc-c++ cmake openssl-devel -y

$ cd ~/src
$ wget http://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz
$ tar -zxvf protobuf-2.5.0.tar.gz
$ cd protobuf-2.5.0
$ sudo ./configure --prefix=/usr/local/lib/protobuf-2.5.0
$ sudo make
$ sudo make install
$ export PATH=$PATH:/usr/local/lib/protobuf-2.5.0/bin
Maven 설치
$ wget http://apache.mirror.cdnetworks.com/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz
$ tar xvf apache-maven-3.0.5-bin.tar.gz
$ sudo ln -s /home/hadoop/apache-maven-3.0.5 /usr/local/maven

Mavne Home 설정

$ vi ~/.bashrc
#MAVEN_HOME
export MAVEN_HOME="/usr/local/maven"
export PATH=$MAVEN_HOME/bin:$PATH

설치확인

$ source ~/.bashrc
$ mvn -version
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 05:51:28-0800)
Maven home: /usr/local/maven
Java version: 1.7.0_71, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-504.3.3.el6.x86_64", arch: "amd64", family: "unix"
Snappy 설치

https://code.google.com/p/snappy/ 에서 최신버전을 다운로드 하고 서버에 ftp로 전송한다.
https://code.google.com/p/snappy/downloads/detail?name=snappy-1.1.1.tar.gz

$ cd ~/scp
$ tar zxvf snappy-1.1.1.tar.gz
$ cd snappy-1.1.1
$ ./configure
$ make
$ sudo make install
hadoop 빌드
$ cd ~/src/hadoop-2.5.2-src
$ mvn package -Pdist,native -DskipTests -Dtar

$ mv ~/src/hadoop-2.5.2-src/hadoop-dist/target/hadoop-2.5.2 ~/
$ sudo cp /usr/local/lib/libsnappy.so* /hadoop/lib/native/

5.3 hadoop 환경설정

ln 추가
$ sudo ln -s /home/hadoop/hadoop-2.5.2 /hadoop
bashrc 설정
$ vi ~/.bashrc
# JAVA_HOME
export JAVA_HOME="/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64"
PATH=$JAVA_HOME/bin:$PATH

# Hadoop
export HADOOP_HOME="/hadoop"
export HADOOP_PREFIX=$HADOOP_HOME
export PATH=$PATH:$HADOOP_PREFIX/bin
export PATH=$PATH:$HADOOP_PREFIX/sbin
export HADOOP_LOG_DIR="${HADOOP_PREFIX}/logs"
export HADOOP_MAPRED_HOME=${HADOOP_PREFIX}
export HADOOP_COMMON_HOME=${HADOOP_PREFIX}
export HADOOP_HDFS_HOME=${HADOOP_PREFIX}
export HADOOP_YARN_HOME=${HADOOP_PREFIX}
slave 등록

datanode가 동작하는 모든 컴퓨터를 등록

$ vi /hadoop/etc/hadoop/slaves
hadoop-1
hadoop-2
hadoop-3
hadoop-env.sh 설정

Hadoop이 실행하는 모든 프로세스에 적용되는 시스템 환경 값에 대한 스크립트
환경변수에 대해서 시스템 변수로 등록해 사용하는 방식이 아니라,
이 파일에 모든 환경 변수를 설정하고 이 파일을 전체 클러스터 노드에 복사해 사용함

$ vi /hadoop/etc/hadoop/hadoop-env.sh
# The java implementation to use.
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME="/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64"

export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib/native"
yarn-env.sh 설정
$ vi /hadoop/etc/hadoop/yarn-env.sh
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib/native"
core-site.xml 설정

Hadoop 설치 후 로그파일, 네트워크 튜닝, I/O튜닝, 파일 시스템 튜닝, 압축 등과 같이 기본적인 하부 시스템 설정 맵리듀스에서도 공통으로 사용

$ sudo vi /hadoop/etc/hadoop/core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop-cluster</value>
    </property>
    <property>
        <name>ha.zookeeper.quorum</name>
        <value>hadoop-1:2181,hadoop-2:2181</value>
    </property>
</configuration>
yarn-site.xml

yarn과 관련된 데몬을 설정하는 파일이다.

$ sudo vi /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.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
        <description>Classpath for typical applications.</description>
        <name>yarn.application.classpath</name>
        <value>
            $HADOOP_CONF_DIR,
            $HADOOP_COMMON_HOME/*,$HADOOP_COMMON_HOME/lib/*,
            $HADOOP_HDFS_HOME/*,$HADOOP_HDFS_HOME/lib/*,
            $HADOOP_MAPRED_HOME/*,$HADOOP_MAPRED_HOME/lib/*,
            $YARN_HOME/*,$YARN_HOME/lib/*
        </value>
    </property>

    <property>
        <name>yarn.resourcemanager.connect.retry-interval.ms</name>
        <value>2000</value>
    </property>
    <property>
        <name>yarn.resourcemanager.ha.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.resourcemanager.cluster-id</name>
        <value>resourcemanager-cluster</value>
    </property>
    <property>
        <name>yarn.resourcemanager.ha.rm-ids</name>
        <value>rm1,rm2</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname.rm1</name>
        <value>hadoop-1</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname.rm2</name>
        <value>hadoop-2</value>
    </property>
    <property>
        <name>yarn.resourcemanager.zk-address</name>
        <value>hadoop-1:2181,hadoop-2:2181</value>
    </property>
    <property>
        <name>yarn.resourcemanager.ha.automatic-failover.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.resourcemanager.ha.automatic-failover.embedded</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.client.failover-proxy-provider</name>
        <value>org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider</value>
    </property>
    <property>
        <name>yarn.resourcemanager.store.class</name>
        <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
    </property>
    <property>
        <name>yarn.resourcemanager.ha.automatic-failover.zk-base-path</name>
        <value>/yarn-leader-election</value>
        <description>Optional setting. The default value is /yarn-leader-election</description>
    </property>
    <property>
        <name>yarn.resourcemanager.recovery.enabled</name>
        <value>true</value>
    </property>

    <!-- RM1 Configs -->
    <property>
        <name>yarn.resourcemanager.address.rm1</name>
        <value>hadoop-1:23140</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address.rm1</name>
        <value>hadoop-1:23130</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address.rm1</name>
        <value>hadoop-1:23188</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address.rm1</name>
        <value>hadoop-1:23125</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address.rm1</name>
        <value>hadoop-1:23141</value>
    </property>

    <!-- RM2 configs -->
    <property>
        <name>yarn.resourcemanager.address.rm2</name>
        <value>hadoop-2:23140</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address.rm2</name>
        <value>hadoop-2:23130</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address.rm2</name>
        <value>hadoop-2:23188</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address.rm2</name>
        <value>hadoop-2:23125</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address.rm2</name>
        <value>hadoop-2:23141</value>
    </property>
</configuration>
mapred-site.xml 설정

mapred-site.xml은 JobTracker와 Task Track과 같이 맵 리듀스 데몬을 위한 환경설정 파일이다.
해당 파일은 mapred-site.xml.template로 제공되며 mapred-site.xml로 변경하여 사용한다.

$ mv /hadoop/etc/hadoop/mapred-site.xml.template /hadoop/etc/hadoop/mapred-site.xml
$ sudo vi /hadoop/etc/hadoop/mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

    <property>
        <name>mapred.system.dir</name>
        <value>file:/hadoop/repository/mapred/system</value>
        <final>true</final>
    </property>

    <property>
        <name>mapred.local.dir</name>
        <value>file:/hadoop/repository/mapred/local</value>
        <final>true</final>
    </property>
</configuration>
hdfs-site.xml 설정

dfs.replication 은 현재 4개 만 설치 하기 떄문이다.
hdfs-site.xml은 네임노드, 보조 네임노드, 데이터 노드 등과 같은 HDFS 데몬을 위한 환경설정 구성한다.
dfs.namenode.name.dir은 파일의 디렉토리 정보와 파일 정보 등을 저장하는 폴더이다.
해당 저장위치는 hdfs가 아닌 로컬에 저장을 한다.
dfs.datanode.name.dir은 하둡 파일 시스템에 저장되는 모든 파일이 저장되는 위치이다.

$ sudo vi /hadoop/etc/hadoop/hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.name.dir</name>
        <value>file:/hadoop/repository/dfs/name</value>
        <final>true</final>
    </property>
    <property>
        <name>dfs.data.dir</name>
        <value>file:/hadoop/repository/dfs/data</value>
        <final>true</final>
    </property>
    <property>
        <name>fs.hdfs.impl</name>
        <value>org.apache.hadoop.hdfs.DistributedFileSystem</value>
        <description>The FileSystem for hdfs: uris.</description>
    </property>

    <!-- common server name -->
    <property>
        <name>dfs.nameservices</name>
        <value>hadoop-cluster</value>
    </property>
    <property>
        <name>dfs.journalnode.edits.dir</name>
        <value>/hadoop/jn</value>
    </property>

    <!-- HA configuration -->
    <property>
        <name>dfs.ha.namenodes.hadoop-cluster</name>
        <value>nn1,nn2</value>
    </property>
    <property>
        <name>dfs.namenode.rpc-address.hadoop-cluster.nn1</name>
        <value>hadoop-1:8020</value>
    </property>
    <property>
        <name>dfs.namenode.rpc-address.hadoop-cluster.nn2</name>
        <value>hadoop-2:8020</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.hadoop-cluster.nn1</name>
        <value>hadoop-1:50070</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.hadoop-cluster.nn2</name>
        <value>hadoop-2:50070</value>
    </property>

    <!-- Storage for edits' files -->
    <property>
        <name>dfs.namenode.shared.edits.dir</name>
        <value>qjournal://hadoop-1:8485;hadoop-2:8485/hadoop-cluster</value>
    </property>
    <property>
        <name>dfs.namenode.max.extra.edits.segments.retained</name>
        <value>1000000</value>
    </property>

    <!-- Client failover -->
    <property>
        <name>dfs.client.failover.proxy.provider.ha-nn</name>
        <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
    </property>

    <!-- Fencing configuration -->
    <property>
        <name>dfs.ha.fencing.methods</name>
        <value>shell(/zookeeper/bin/zkServer.sh --nameservice=hadoop-cluster hadoop-1:8485)</value>
    </property>

    <!-- Automatic failover configuration -->
    <property>
        <name>dfs.ha.automatic-failover.enabled</name>
        <value>true</value>
    </property>
</configuration>
journal node 등록
$ vi /home/hadoop/hadoop-2.5.2/etc/hadoop/journalnodes
hadoop-1
hadoop-2

5.4 Slave 에 복사

$ scp -r /home/hadoop/hadoop-2.5.2 hadoop-2:/home/hadoop/
$ scp -r /home/hadoop/hadoop-2.5.2 hadoop-3:/home/hadoop/

각 노드마다 ln을 걸어준다.

$ sudo ln -s /home/hadoop/hadoop-2.5.2 /hadoop
Check Native
hadoop checknative
Native library checking:
hadoop: true /home/hadoop/hadoop-2.5.2/lib/native/libhadoop.so.1.0.0
zlib:   true /lib64/libz.so.1
snappy: true /home/hadoop/hadoop-2.5.2/lib/native/libsnappy.so.1
lz4:    true revision:99
bzip2:  false

6. Zookeeper 설치

6.1 zookeeper 다운로드 및 압축 해제

$ cd /home/hadoop
$ wget http://apache.mirror.cdnetworks.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
$ tar xvfz zookeeper-3.4.6.tar.gz
$ ll
drwxr-xr-x. 12 hadoop hadoop      4096 Dec 15 17:13 zookeeper-3.4.6
-rw-rw-r--.  1 hadoop hadoop  17699306 Oct 31 06:48 zookeeper-3.4.6.tar.gz

6.2 zookeeper 환경설정

ln 추가
$ sudo ln -s /home/hadoop/zookeeper-3.4.6 /zookeeper
bashrc 설정
$ vi ~/.bashrc
# Zookeeper
export ZOOKEEPER_HOME=/zookeeper
export ZOOKEEPER_PREFIX=$ZOOKEEPER_HOME
export ZOO_LOG_DIR=$ZOOKEEPER_HOME/logs
PATH=$ZOOKEEPER_HOME/bin:$PATH
zoo.cfg 설정
$ mv /zookeeper/conf/zoo_sample.cfg /zookeeper/conf/zoo.cfg
$ vi /zookeeper/conf/zoo.cfg
dataDir=/zookeeper/data
dataLogDir=/zookeeper/logs

server.1=hadoop-1:2888:3888
server.2=hadoop-2:2888:3888
폴더 생성
$ mkdir /zookeeper/data
$ mkdir /zookeeper/logs

6.3 Slave 에 복사

$ scp -r /home/hadoop/zookeeper-3.4.6 hadoop-2:/home/hadoop/

각 node 마다 ln을 걸어준다.

$ sudo ln -s /home/hadoop/zookeeper-3.4.6 /zookeeper

각 node 마다 myid 파일을 생성하여 id를 입력해야 한다.

hadoop-1$ echo '1' > /zookeeper/data/myid
hadoop-2$ echo '2' > /zookeeper/data/myid

6.4 zookeeper 실행

Master 와 Slave 따로 실행시켜야 한다.

$ $ZK_HOME/bin/zkServer.sh start

6.5 동작 확인

Master
$ jps
5150 QuorumPeerMain
Slave1
$ jps
2955 QuorumPeerMain

6.6 hadooop 실행

namenode 포맷전 journalnode 실행

namenode의 nameservice에 등록된 모든 호스트에 실행 (hadoop-1, hadoop-2)

$ hadoop-daemon.sh start journalnode
namenode 포맷(master 에서 실행)
$ hdfs namenode -format
secondary namenode 에 name 디렉토리 복사
$ scp -r /hadoop/repository/dfs/name hadoop-2:/hadoop/repository/dfs/name
hadoop 서버시작(master 에서 실행)
$ $HADOOP_HOME/sbin/start-all.sh
standby resourcemanager 실행 (slave1 에서 실행)
$yarn-daemon.sh start resourcemanager

6.7 동작 확인

Master
$ jps
5150 QuorumPeerMain
2488 NameNode
3022 NodeManager
2921 ResourceManager
6530 journalnode
2587 DataNode
5785 DFSZKFailoverController
netstat -ntpl|grep LISTEN
http://192.168.10.8:8088/
http://192.168.10.8:50075/
http://192.168.10.8:50090/
Slave1
$ jps
4267 DFSZKFailoverController
3242 journalnode
6543 NameNode
2777 NodeManager
2955 QuorumPeerMain
1654 ResourceManager
2670 DataNode
Slave2
$ jps
2777 NodeManager
2670 DataNode
ResourceManager Active/Standby 확인
$yarn rmadmin -getServiceState (rm1 or rm2)

7. Hbase 설치

7.1 hbase Source 다운로드 및 압축 해제

$ cd ~/src
$ wget http://mirror.apache-kr.org/hbase/hbase-0.99.2/hbase-0.99.2-src.tar.gz
$ tar xvfz hbase-0.99.2-src.tar.gz
$ ll
drwxrwxr-x. 22 hadoop hadoop     4096 Dec 29 16:22 hbase-0.99.2
-rw-rw-r--.  1 hadoop hadoop  6642444 Dec  7 19:03 hbase-0.99.2-src.tar.gz

7.2 hbase 빌드

$ cd ~/src/hbase-0.99.2
$ mvn -DskipTests clean install && mvn -DskipTests package assembly:single

$ mv /home/hadoop/src/hbase-0.99.2/hbase-assembly/target/hbase-0.99.2-bin.tar.gz ~/
$ tar zxvf hbase-0.99.2-bin.tar.gz

7.3 hbase 환경설정

ln 추가
$ sudo ln -s /home/hadoop/hbase-0.99.2/ /hbase
bashrc 설정
$ vi ~/.bashrc
# Hbase
export HBASE_HOME=/hbase
export HBASE_CONF_DIR=$HBASE_HOME/conf
PATH=$HBASE_HOME/bin:$PATH
hbase-env.sh
$ vi /hbase/conf/hbase-env.sh
# The java implementation to use.  Java 1.7+ required.
export JAVA_HOME="/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64"

# Extra Java CLASSPATH elements.  Optional.
export HBASE_CLASSPATH=/hadoop
export HBASE_LIBRARY_PATH=/hadoop/lib/native/

export HBASE_MANAGES_ZK=false
regionservers

regionservers 를 가동할 호스트 주소를 적어준다.

$ vi /hbase/conf/regionservers
hadoop-1
hadoop-2
hadoop-3
hbase-site-xml
$ sudo vi /hbase/conf/hbase-site.xml
<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://hadoop-cluster/hbase</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop-1,hadoop-2</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/zookeeper/data</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>hbase.dynamic.jars.dir</name>
        <value>/hbase/lib</value>
    </property>
    <property>
        <name>hbase.hregion.max.filesize</name>
        <value>1073741824</value>
    </property>

    <property>
        <name>hbase.regionserver.handler.count</name>
        <value>100</value>
    </property>
    <property>
        <name>hfile.block.cache.size</name>
        <value>0.5</value>
    </property>
    <property>
        <name>hbase.regionserver.global.memstore.lowerLimit</name>
        <value>0.2</value>
    </property>
    <property>
        <name>hbase.regionserver.global.memstore.size</name>
        <value>0.3</value>
    </property>
    <property>
        <name>ipc.client.tcpnodelay</name>
        <value>true</value>
    </property>
    <property>
        <name>ipc.server.tcpnodelay</name> 
        <value>true</value>
    </property>
    <property>
        <name>hbase.ipc.client.tcpnodelay</name>
        <value>true</value>
    </property>
</configuration>
regionservers.sh
$ vi /hbase/bin/regionservers.sh
ssh $HBASE_SSH_OPTS $regionserver $"${@// /\\ } -D hbase.regionserver.port=16200 -D hbase.regionserver.info.port=16300" \
backup-masters

백업 마스터 설정

$vi /hbase/conf/backup-masters
hadoop-2
hadoop 설정파일 복사

hadoop 클러스터에 연결 하기 위한 설정 복사

$cp /hadoop/etc/hadoop/core-site.xml /hbase/conf/
$cp /hadoop/etc/hadoop/hdfs-site.xml /hbase/conf/

7.4 Slave 에 복사

$ scp -r /home/hadoop/hbase-0.99.2/ hadoop-2:/home/hadoop/

각 노드마다 ln을 걸어준다.

$ sudo ln -s /home/hadoop/hbase-0.99.2/ /hbase

7.5 hbase 실행

$ $HBASE_HOME/bin/start-hbase.sh

7.6 동작 확인

Master
$ jps
8948 HMaster
8954 HRegionServer
Slave
$ jps
11306 HRegionServer
Check Native
hbase --config ./conf org.apache.hadoop.util.NativeLibraryChecker

'Bigdata' 카테고리의 다른 글

elasticsearch rest api 모음  (0) 2016.01.27
Apache Zepplin 설치 하기  (1) 2016.01.20
Apache Spark 설치 하기  (0) 2016.01.20
Posted by satis
,

shell script 반복문

Linux 2015. 2. 7. 18:39

#!/bin/sh

hap=0

i=1

while [ $i -le 100 ]

do

   i=`expr $i + 1`

done

'Linux' 카테고리의 다른 글

Ubuntu 12.04 Subversion 구축  (0) 2015.09.22
top grep  (0) 2015.09.21
CentOS vsftpd FTP 설치 및 설정  (0) 2014.12.26
chkconfig 사용법 (서비스 자동실행)  (0) 2014.12.26
sudo 사용하기  (0) 2014.12.05
Posted by satis
,

MVN 관련

maven 2015. 1. 15. 11:15

tools 에러날때


mvn install:install-file ^

-DgroupId=com.sun ^

-DartifactId=tools ^

-Dversion=1.4.2 ^

-Dpackaging=jar ^

-Dfile="C:\Program Files\Java\jdk1.7.0_67\lib\tools.jar"


mvn install:install-file ^

-DgroupId=com.tibco.randezvous ^

-DartifactId=tibrvj ^

-Dversion=8.3 ^

-Dpackaging=jar ^

-Dfile="d:/dev/lib/tibrvj.jar"



mvn install:install-file ^

-DgroupId=com.oracle.jdbc ^

-DartifactId=ojdbc6 ^

-Dversion=11.2.0.4 ^

-Dpackaging=jar ^

-Dfile="d:/dev/lib/ojdbc6.jar"




pom 배포


<build>

<resources>

<resource>

<directory>${basedir}/src/main/resources</directory>

<targetPath>resources</targetPath>

</resource>

</resources>


<plugins>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

<version>2.3.2</version>

<configuration>

<encoding>MS949</encoding>

<compilerArgument>-nowarn</compilerArgument>

<compilerArgument>-verbose</compilerArgument>

<source>1.6</source>

<target>1.6</target>

</configuration>

</plugin>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-release-plugin</artifactId>

<version>2.2</version>

<configuration>

<tagNameFormat>v@{project.version}</tagNameFormat>

</configuration>

</plugin>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-source-plugin</artifactId>

<version>2.1.2</version>

<executions>

<execution>

<id>attach-sources</id>

<goals>

<goal>jar</goal>

</goals>

</execution>

</executions>

</plugin>

<plugin>

<groupId>org.codehaus.mojo</groupId>

<artifactId>apt-maven-plugin</artifactId>

<version>1.0-alpha-4</version>

</plugin>


<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-deploy-plugin</artifactId>

<version>2.6</version>

</plugin>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-antrun-plugin</artifactId>

<version>1.6</version>

</plugin>

<plugin>

<artifactId>maven-assembly-plugin</artifactId>

<version>2.2-beta-2</version>

</plugin>

<plugin>

<artifactId>maven-clean-plugin</artifactId>

<version>2.2</version>

</plugin>

<plugin>

<artifactId>maven-dependency-plugin</artifactId>

<version>2.3</version>

</plugin>

<plugin>

<artifactId>maven-install-plugin</artifactId>

<version>2.2</version>

</plugin>

<plugin>

<artifactId>maven-jar-plugin</artifactId>

<version>2.2</version>

</plugin>

<plugin>

<artifactId>maven-plugin-plugin</artifactId>

<version>2.4.3</version>

</plugin>

<plugin>

<artifactId>maven-resources-plugin</artifactId>

<version>2.4</version>

</plugin>

<plugin>

<artifactId>maven-surefire-plugin</artifactId>

<version>2.4.3</version>

<configuration>

<skipTests>${skipTests}</skipTests>

</configuration>

</plugin>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-dependency-plugin</artifactId>

<executions>

<execution>

<id>copy-dependencies</id>

<phase>package</phase>

<goals>

<goal>copy-dependencies</goal>

</goals>

<configuration>

<outputDirectory>

${project.build.directory}

</outputDirectory>

<overWriteReleases>false</overWriteReleases>

<overWriteSnapshots>

false

</overWriteSnapshots>

<overWriteIfNewer>true</overWriteIfNewer>

</configuration>

</execution>

</executions>

</plugin>

<!-- assembly:assembly

<plugin>

<artifactId>maven-assembly-plugin</artifactId>

<configuration>

<archive>

<manifest>

<mainClass>fully.qualified.MainClass</mainClass>

</manifest>

</archive>

<descriptorRefs>

<descriptorRef>jar-with-dependencies</descriptorRef>

</descriptorRefs>

</configuration>

</plugin>

-->


</plugins>


<pluginManagement>

<plugins>

<plugin>

<groupId>org.eclipse.m2e</groupId>

<artifactId>lifecycle-mapping</artifactId>

<version>1.0.0</version>

<configuration>

<lifecycleMappingMetadata>

<pluginExecutions>

<pluginExecution>

<pluginExecutionFilter>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-dependency-plugin</artifactId>

<versionRange>[2.0,)</versionRange>

<goals>

<goal>copy-dependencies</goal>

</goals>

</pluginExecutionFilter>

<action>

<execute />

</action>

</pluginExecution>

</pluginExecutions>

</lifecycleMappingMetadata>

</configuration>

</plugin>

</plugins>

</pluginManagement>

</build>

'maven' 카테고리의 다른 글

maven mirror site  (0) 2016.03.05
Posted by satis
,

CentOS vsftpd FTP 설치 및 설정

ftp 설치

$ sudo yum -y install vsftpd

환경파일 설정

$ sudo vi /etc/vsftpd/vsftpd.conf
anoymous_enable=NO //익명으로 접속시 NO
pasv_enable=YES //엑티브모드로 사용할 시 NO

ftp 계정 설정

root 접속을 위해 root 계정을 주석처리한다.

$ sudo vi /etc/vsftpd/user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
#root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
$ sudo vi /etc/vsftpd/ftpusers
# Users that are not allowed to login via ftp
#root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

530, 500 Error 해결

리눅스 보안관련 설정을 해줘야 한다.

$ sudo setsebool -P ftp_home_dir 1

부팅시 FTP 자동실행 설정

$ sudo chkconfig --level 2345 vsftpd on

FTP 재시작

$ sudo service vsftpd restart

'Linux' 카테고리의 다른 글

Ubuntu 12.04 Subversion 구축  (0) 2015.09.22
top grep  (0) 2015.09.21
shell script 반복문  (0) 2015.02.07
chkconfig 사용법 (서비스 자동실행)  (0) 2014.12.26
sudo 사용하기  (0) 2014.12.05
Posted by satis
,

chkconfig 사용법

chkconfig 리스트

$ sudo chkconfig --list

chconfig 리스트 등록

$ sudo chkconfig --add 서비스명

chconfig 리스트 제거

$ sudo chkconfig --del 서비스명

자동실행 설정

$ sudo chkconfig --level 2345 서비스명 on

자동실행 제거

$ sudo chkconfig --level 2345 서비스명 off

'Linux' 카테고리의 다른 글

Ubuntu 12.04 Subversion 구축  (0) 2015.09.22
top grep  (0) 2015.09.21
shell script 반복문  (0) 2015.02.07
CentOS vsftpd FTP 설치 및 설정  (0) 2014.12.26
sudo 사용하기  (0) 2014.12.05
Posted by satis
,