분류 전체보기 48

HDP 2.4 에서 phoenix 4.4 에서 4.8 버전으로 업그레이드 하기

1. Phoenix 의 4.8 버전을 다운로드 하고 압축을 풀어줍니다. $ wget http://mirror.navercorp.com/apache/phoenix/apache-phoenix-4.8.0-HBase-1.1/bin/apache-phoenix-4.8.0-HBase-1.1-bin.tar.gz$ tar zxvf apache-phoenix-4.8.0-HBase-1.1-bin.tar.gz 2. 기존 ambari 를 통해 설치한 4.4 버전의 라이브러리 파일들과 실행 파일들 백업하고, 기존 심볼릭 링크 파일들을 제거합니다. # 라이브러리 파일 백업$ cd /usr/hdp/current/phoenix-server$ mv phoenix-4.4.0.2.3.2.0-2950-client.jar phoenix-4.4..

HDFS - Under Replicated Blocks 해결 방법

HDFS 의 Datanode 가 dfs.replication 속성보다 적은 수 만큼 설치/실행 되어 있으면 Under Repicated Block 들이 발생합니다.Under Replicated Block 을 없애기 위해 dfs.replication 을 설치 된 Datanode 수 만큼로 변경하고 HDFS 를 재시작 하더라도 이 숫자들은 줄어들지 않습니다. 아마, 이 설정이 바뀐다 하더라도 기존 파일들은 기존에 설정된 replication 만큼을 그대로 유지하고 새롭게 생성되는 파일에 대해서만 변경된 replication 수 만큼 block 을 복제하는 듯 합니다. 이러한 경우 기존 파일들의 replication 정보를 강제로 변경하여 Under Replicated Block 을 없앨 수 있습니다. $ s..

Big Data/HDFS 2016.08.18

Ubuntu(우분투) - ssh 서버 설치/root 계정 접속 허용하기

openssh-server 설치우분투를 기본으로 설치하면, 대부분 ssh 서버가 설치되어 있지 않습니다.dpkg 명령어를 이용하여 openssh-server 패키지가 설치되어 있는지 확인 후, 설치되어 있지 않다면 패키지 관리자를 이용하여 openssh-server 를 설치하고 난 후, 실행합니다.$ dpkg -l | grep openssh-server$ sudo apt-get install openssh-server$ sudo service ssh startcs root 계정 접속 허용 설정openssh-server 를 설치하고 나면, ssh 를 통해 접속할 수 있음을 확인할 수 있습니다. 그러나 기본적으로 root 계정을 통한 ssh 접속은 차단되어 있는 상태입니다.root 계정에 ssh 접속을 허용..

System/Linux 2016.08.17

우분투(Ubuntu) - Oracle JDK 설치하기

1. PPA (Personal Package Archive) 를 이용한 방법$ sudo apt-add-repository ppa:webupd8team/java $ sudo apt-get update$ sudo apt-get install oracle-java8-installer 2. 직접 설치오라클 홈페이지에서(http://www.oracle.com/technetwork/java/javase/downloads/index.html) JDK(tar.gz) 파일을 다운로드# 압축 해제$ tar zxvf jdk-8u101-linux-x64.tar.gz$ sudo mkdir /usr/lib/jvm$ sudo mv jdk1.8.0_101 /usr/lib/jvm # 명령어 등록(Java 처음 설치하는 경우)$ sud..

System/Linux 2016.08.17

Phoenix - Joins (조인)

Phoenix 는 표준 SQL 조인 문법을 조인합니다. 아래와 같이 3개의 거래 관련 테이블과 row들이 있다고 가정해보겠습니다.(Orders, Customers, Items) Orders 테이블 :OrderIDCustomerIDItemIDQuantityDate1630781 C004 I001 650 09-01-20131630782 C003 I006 2500 09-02-20131630783 C002 I002 340 09-03-20131630784 C004 I006 1260 09-04-20131630785 C005 I003 1500 09-05-2013 Customers 테이블 :CustomerIDCustomerNameCountryC001 Telefunken GermanyC002 Logica BelgiumC0..

Phoenix - Row timestamp

Phoenix v4.6 부터는 phoenix 컬럼에 HBase 의 native row timestamp 를 맵핑할 수 있는 방법을 제공합니다. 이는 HBase 에서 제공하는 시간 범위에 대한 다양한 최적화의 이점을 얻을 수 있습니다. ROW_TIMESTAMP 로 설계된 컬럼은 특정 제약을 가지게 됩니다. TIME, DATE, TIMESTAMP, UNSIGNED_LONG 타입의 primary key 컬럼만 ROW_TIMESTAMP 로 사용 가능하나의 primary key 컬럼만 ROW_TIMESTAMP 로 사용 가능컬럼의 값은 null 이 될 수 없음 (HBase 의 row timestamp 와 직접 맵핑되기 때문에)테이블을 생성할 때만 선언 가능ROW_TIMESTAMP 컬럼의 값은 음수는 불가 (epoc..

Phoenix - Paged Queries (페이징 쿼리)

Phoenix 에서 페이징 쿼리를 사용하기 위해서는 아래 두 가지를 방법을 이용하여 처리할 수 있다.Row Value Contructors (RVC)OFFSET 과 LIMIT (4.8 버전 이상부터 지원)Row Value Constructors (RVC) 를 이용한 방법OFFSET (LIMIT) 은 익숙한 개념이나 Row Value Constructors 는 좀 생소하다.RVC 는 괄호에 묶여있는 컬럼들을 순차적으로 정렬된 새로운 값을 만들어 낸다고 보면 된다. 아래 예를 들어 보자. 1WHERE (last_name,first_name) = ('Jane','Doe')cs last_name, first_name 을 RVC 로 정의하고, 조건으로 ‘Jane’ 과 ‘Doe’ 로 묶었다. 위 절을 다시 풀어보면..

Ubuntu - 방화벽 설정

방화벽 서비스 전체 활성화/비활성화1. 활성화1$ sudo ufw enablecs 2. 비활성화1$ sudo ufw disablecs 3. 상태확인1sudo ufw status verbosecs 특정 Port 에 대한 방화벽 허용1. SSH(22) 포트 허용 - TCP & UDP1$ sudo ufw allow 22cs 2. SSH(22) 포트 허용 - TCP1$ sudo ufw allow 22/tcpcs 3. SSH(22) 포트 허용 - UDP1$ sudo ufw allow 22/udpcs 특정 Port 에 대한 방화벽 거부1. SSH(22) 포트 거부 - TCP & UDP1$ sudo ufw deny 22cs 2. SSH(22) 포트 거부 - TCP1$ sudo ufw deny 22/tcpcs 3. S..

System/Linux 2016.08.12

Phoenix - Salted Tables

HBase의 sequential write(순차적 쓰기)에서 row key 가 만약 일정하게 증가하게 되면, region server 에 hotspotting (region 서버 한 곳에 집중적으로 쓰기 작업이 이루어지는 경우) 을 유발시킬 수 있다.Row key 를 salting 함으로써 이러한 문제점을 완화 시킬 수 있다. Phoenix 는 특정 table에 salting byte를 이용하여 row key 를 salting 하는 방법을 제공한다.Table 생성 시 “SALT_BUCKETS” 이라는 속성에 값(1~256)을 할당하여 사용할 수 있따. CREATE TABLE table (a_key VARCHAR PRIMARY KEY, a_col VARCHAR) SALT_BUCKETS = 20; Salte..

Phoenix - Secondary Index

Phoenix의 document 를 기반으로 작성한 보조 인덱스에 대한 내용이다. 뒷 부분으로 갈 수록 이해하기 어려워 뒷부분은 거의 document 내용 그대로이다. HBase 에서는 primary row key 에 의해 정렬된 단일 인덱스만 존재함primary row key 이외의 방법으로 레코드에 접근하는건 잠재적으로 table 을 full scan 하는 위험이 있음secondary indexing (인덱스로 형성한 column 이나 expression) 이 새로운 축을 따라 검색이나 range scan을 가능하게 함으로써 row key를 대체 covered indexes (index 페이지에서 row 식별자를 통해 index column 외의 데이터는 실제 데이터에 접근) 일종의 보조 인덱스ind..