centos7 기준입니다.

mast02서버에 hive가 실행중이고, tez 빌드가 마무리되었음을 가정합니다.

본 포스팅 기준으로는 tez빌드 파일 역시 mast02서버에 존재합니다.

조언과 충고 감사합니다.

 

https://developer-woong.tistory.com/44

 

Apache Hive 설치

centos7 기준입니다. PostgreSQL, hadoop이 설치됨을 가정합니다. 서버는 호스트네임기준 mast02서버에 설치할 예정이고, PostgreSQL 역시 mast02서버에 설치됨을 가정합니다. hive폴더는 hadoop 유저권한, hive met

developer-woong.tistory.com

 

https://developer-woong.tistory.com/45

 

apache tez 빌드

centos7 기준입니다. maven, hive가 설치되어있음을 가정합니다. 아래 포스팅에 설치된 mast02서버의 hive를 사용할 예정입니다. tez버전은 0.10.2를 사용합니다. 조언과 충고 감사합니다. https://developer-woon

developer-woong.tistory.com

1. tez 파일 복사 및 압축 해제

action server: mast02

user: root

pwd: /opt/apps/

cmd:

mkdir tez-0.10.2
cd tez-0.10.2

cp /opt/apps/tez/tez-dist/target/tez-0.10.2.tar.gz /opt/apps/tez-0.10.2

tar xvfz tez-0.10.2.tar.gz
cd ../

chown -R hadoop:hadoop ./tez-0.10.2/

 

2. tez 환경변수 설정

action server: mast02

user: root

pwd: /opt/apps

cmd:

vi /etc/profile.d/tez.sh

export TEZ_HOME=/opt/apps/tez-0.10.2
export TEZ_CONF_DIR=$TEZ_HOME/conf

source /etc/profile.d/tez.sh

su - hadoop
cd /opt/apps/tez-0.10.2

 

3. hive, tez 설정파일 수정

action server: mast02

user: hadoop

pwd: /opt/apps/tez-0.10.2

cmd:

vi /opt/apps/hive-3.1.3/conf/hive-env.sh

# export HIVE_AUX_JARS_PATH=/opt/apps/hive-3.1.3/lib 밑에 추가하기
export TEZ_HOME=/opt/apps/tez-0.10.2
export TEZ_JARS=""
for jar in `ls $TEZ_HOME |grep jar`; do
    export TEZ_JARS=$TEZ_JARS:$TEZ_HOME/$jar
done
for jar in `ls $TEZ_HOME/lib`; do
    export TEZ_JARS=$TEZ_JARS:$TEZ_HOME/lib/$jar
done

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$TEZ_CONF_DIR:$TEZ_JARS

vi /opt/apps/hive-3.1.3/conf/hive-site.xml
# 추가하기
        <property>
                <name>hive.execution.engine</name>
                <value>tez</value>
        </property>
        <property>
                <name>hive.tez.container.size</name>
                <value>2560</value>
        </property>
        <property>
                <name>hive.tez.java.opts</name>
                <value>-Xmx2048m</value>
        </property>
        <property>
                <name>hive.auto.convert.join.noconditionaltask.size</name>
                <value>671088000</value>
        </property>
        
# tez conf 폴더 생성
mkdir /opt/apps/tez-0.10.2/conf/

vi /opt/apps/tez-0.10.2/conf/tez-site.xml


<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <property>
                <name>tez.lib.uris</name>
                <value>${fs.defaultFS}/user/tez/tez-0.10.2.tar.gz</value>
        </property>
        <property>
                <name>tez.use.cluster.hadoop-libs</name>
                <value>true</value>
        </property>
        <property>
                <name>tez.history.logging.service.class</name>
                <value>org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService</value>
        </property>
        <property>
                <name>tez.am.resource.memory.mb</name>
                <value>2560</value>
        </property>
        <property>
                <name>tez.am.java.opts</name>
                <value>-Xmx2048m</value>
        </property>
        <property>
                <name>tez.session.am.dag.submit.timeout.secs</name>
                <value>60</value>
        </property>

</configuration>

 

4. tez config 파일 복사(hive conf) 및 tar 파일업로드 (HDFS)

action server: mast02

user: hadoop

pwd: /opt/apps/tez-0.10.2

cmd:

# tez-site.xml 복사
cp /opt/apps/tez-0.10.2/conf/tez-site.xml /opt/apps/hive-3.1.3/conf/

hdfs dfs -mkdir /user/tez/
hdfs dfs -put /opt/apps/tez-0.10.2/tez-0.10.2.tar.gz /user/tez/

cd /opt/apps/hive-3.1.3

 

5. hive 재 기동 및 엔진 확인

action server: mast02

user: hadoop

pwd: /opt/apps/hive-3.1.3

cmd:

jps

# RunJar 2개 pid 획득 후
kill -9 [PID]

# hiveserver2 기동
nohup hive --service hiveserver2 >> /data/hive/log/hiveserver2.log 2>&1 &

# hive metastore 기동
nohup hive --service metastore >> /data/hive/log/hive-metastore.log 2>&1 &

 

6. hive 테이블 insert 

action server: mast02

user: hadoop

pwd: /opt/apps/hive-3.1.3

cmd:

# hive 콘솔진입
hive

# 앞전 hive 설치 시 만들어두었던 db, table 사용
show databases;

use test;

# insert
insert into first values ('11111');

# select
select * from first;

 

결과확인

mast02:38088

반응형

yarn 관련 튜닝값을 기록하였습니다.

 

vi ${HADOOP_HOME}/etc/hadoop/yarn-site.xml

 

yarn.nodemanager.resource.cpu-vcores

-> 해당 값이 6이고, 노드매니저가 3대 라면 총 18개의 vcore 사용 가능 (리소스매니저 UI를 통해 확인)

 

yarn.scheduler.minimum-allocation-vcores

-> 하나의 컨테이너에 할당할 수 있는 최소 vcore 수

 

yarn.scheduler.maximum-allocation-vcores

-> 하나의 컨테이너에 할당할 수 있는 최대 vcore 수

 

yarn.scheduler.increment-allocation-vcores

-> vcore할당의 증가량, 이 값의 배수로 vcore가 할당됨

-> yarn.scheduler.minimum-allocation-vcores 값을 넘길 수 없음

 

yarn.nodemanager.resource.memory-mb

-> 컨테이너를 생성할 때 쓸 수 있는 용량

-> 해당 값이 10240(10G)이고 노드매니저가 3대이면 총 사용가능한 메모리 양은 30GB (리소스매니저 UI를 통해 확인)

 

yarn.scheduler.minimum-allocation-mb

-> 하나의 컨테이너에 할당할 수 있는메모리의 최솟값

 

yarn.scheduler.maximum-allocation-mb

-> 하나의 컨테이너에 할당할 수 있는메모리의 최대값

 

yarn.scheduler.increment-allocation-mb

->  메모리 할당의 증가량, 이 값의 배수로 메모리가 할당됨

-> yarn.scheduler.minimum-allocation-mb의 값을 넘길 수 없음

 

 

반응형

'BigData > Hadoop' 카테고리의 다른 글

yarn vcore 초과 할당 시 설정  (0) 2024.06.20
yarn) spark yarn job container 로그 설정  (0) 2024.02.13
yarn capacitiy 스케줄러 설정  (0) 2023.07.26
Yarn timelineserver 설정  (0) 2023.07.26
hadoop 설치 (정리모음버전)  (2) 2023.07.21

centos7 기준입니다.

Hive server2, metastore관련 로그를 찍고 싶을 때 사용하는 명령어 입니다.

 

https://developer-woong.tistory.com/44

 

Apache Hive 설치

centos7 기준입니다. PostgreSQL, hadoop이 설치됨을 가정합니다. 서버는 호스트네임기준 mast02서버에 설치할 예정이고, PostgreSQL 역시 mast02서버에 설치됨을 가정합니다. hive폴더는 hadoop 유저권한, hive met

developer-woong.tistory.com

 

Hive실행 시 로그파일을 특정 위치에 지정합니다.

nohup $HIVE_HOME/bin/hive --service [서비스] >> [로그위치] 2>&1 &

ex)

nohup $HIVE_HOME/bin/hive --service metastore >> /data/hive/log/hive-metastore.log 2>&1 &

nohup $HIVE_HOME/bin/hive --service hiveserver2 >> /data/hive/log/hiveserver2.log 2>&1 &

감사합니다.

반응형

'BigData > Hive' 카테고리의 다른 글

Hive) 테이블 컬럼명 변경  (0) 2023.12.28
apache hive 엔진 tez 교체  (0) 2023.09.08
apache tez build error 트러블슈팅  (0) 2023.07.26
apache tez 빌드  (2) 2023.07.24
Apache Hive 설치  (0) 2023.07.24

yarn의 capacity-scheduler.xml을 설정하여

큐를 나누어보겠습니다.

 

hadoop이 설치되어있음을 가정합니다.

조언과 충고 감사합니다.

 

https://developer-woong.tistory.com/36

 

hadoop 설치 (정리모음버전)

centos7 기준입니다. 6대의 서버가 준비되어있고, ntp설정, ip설정 및 호스트네임 등록, jdk 설정, zookeeper 설치가 완료됨을 가정합니다. https://developer-woong.tistory.com/37 centos linux ntp enable centos7 기준입니

developer-woong.tistory.com

 

1. yarn config 수정

(* default 큐를 75%, haetlusr 큐를 25%로 설정)

action server: mast02

user: hadoop

pwd: /opt/apps/hadoop-3.2.1/etc/hadoop

cmd:

vi capacity-scheduler.xml

<configuration>
    <property>
        <name>yarn.scheduler.capacity.root.haetlusr.maximum-application-lifetime</name>
        <value>-1</value>
    </property>
    <property>
        <name>yarn.resourcemanager.nodes.exclude-path</name>
        <value>/opt/apps/hadoop-3.2.1/etc/hadoop/yarn_work_exclude_list</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
        <value>0.1</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.haetlusr.state</name>
        <value>RUNNING</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.queues</name>
        <value>default,haetlusr</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.default.acl_submit_applications</name>
        <value>*</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.default.acl_administer_queue</name>
        <value>*</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.default.acl_application_max_priority</name>
        <value>*</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.default.maximum-application-lifetime</name>
        <value>-1</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.maximum-applications</name>
        <value>10000</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.queue-mappings-override.enable</name>
        <value>false</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.haetlusr.capacity</name>
        <value>25</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.haetlusr.maximum-capacity</name>
        <value>90</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.default.state</name>
        <value>RUNNING</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.rack-locality-additional-delay</name>
        <value>-1</value>
    </property>
    <property>
        <name>yarn.resourcemanager.nodes.include-path</name>
        <value>/opt/apps/hadoop-3.2.1/etc/hadoop/yarn_work_include_list</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.haetlusr.default-application-lifetime</name>
        <value>-1</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.haetlusr.acl_submit_applications</name>
        <value>*</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.per-node-heartbeat.maximum-offswitch-assignments</name>
        <value>3</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.resource-calculator</name>
        <value>org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.default.capacity</name>
        <value>75</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.default.default-application-lifetime</name>
        <value>-1</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.default.user-limit-factor</name>
        <value>1</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.default.maximum-capacity</name>
        <value>100</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.node-locality-delay</name>
        <value>40</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.queue-mappings</name>
        <value/>
    </property>
    <property>
        <name>yarn.scheduler.capacity.application.fail-fast</name>
        <value>false</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.haetlusr.user-limit-factor</name>
        <value>1</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.haetlusr.acl_administer_queue</name>
        <value>*</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.haetlusr.acl_application_max_prioity</name>
        <value>*</value>
    </property>
</configuration>

 

2. 설정 파일 재 배포 및 yarn restart

action server: mast02

user: hadoop

pwd: /opt/apps/hadoop-3.2.1/etc/hadoop

cmd:

# hadoop 클러스터 서버들에게 배포 
scp -P 22002 ./capacity-scheduler.xml hadoop@mast01:/opt/apps/hadoop-3.2.1/etc/hadoop
scp -P 22002 ./capacity-scheduler.xml hadoop@mast03:/opt/apps/hadoop-3.2.1/etc/hadoop
scp -P 22002 ./capacity-scheduler.xml hadoop@work01:/opt/apps/hadoop-3.2.1/etc/hadoop
scp -P 22002 ./capacity-scheduler.xml hadoop@work02:/opt/apps/hadoop-3.2.1/etc/hadoop
scp -P 22002 ./capacity-scheduler.xml hadoop@work03:/opt/apps/hadoop-3.2.1/etc/hadoop

# timeline server가 실행중이라면 먼저 중지해주세요.
/opt/apps/hadoop-3.2.1/sbin/yarn-daemon.sh stop timelineserver

# mast02서버 실행(yarn이 동작하는 서버)
/opt/apps/hadoop-3.2.1/sbin/stop-yarn
/opt/apps/hadoop-3.2.1/sbin/start-yarn

 

결과확인

mast02:38088 웹 UI좌측 Scheduler클릭,

-> default, haetlusr로 큐가 나누어져있고,

마우스 오버 시 할당된 퍼센트가 나옵니다

 

반응형

yarn timelineserver를 설정해보겠습니다.

 

hadoop이 설치되어있음을 가정합니다.

https://developer-woong.tistory.com/36

 

hadoop 설치 (정리모음버전)

centos7 기준입니다. 6대의 서버가 준비되어있고, ntp설정, ip설정 및 호스트네임 등록, jdk 설정, zookeeper 설치가 완료됨을 가정합니다. https://developer-woong.tistory.com/37 centos linux ntp enable centos7 기준입니

developer-woong.tistory.com

 

1. yarn-site.xml 수정

action server: mast02 (yarn 동작서버)

user: hadoop

pwd: /opt/apps/hadoop-3.2.1/etc/hadoop

cmd:

# 해당 컨피그들 추가  
vi yarn-site.xml

       <property>
                <name>yarn.timeline-service.enabled</name>
                <value>true</value>
        </property>
        <property>
                <name>yarn.timeline-service.hostname</name>
                <value>mast02</value>
        </property>
        <property>
                <name>yarn.timeline-service.http-cross-origin.enabled</name>
                <value>true</value>
        </property>
        <property>
                <name> yarn.resourcemanager.system-metrics-publisher.enabled</name>
                <value>true</value>
        </property>
        <property>
                <name>yarn.timeline-service.generic-application-history.enabled</name>
                <value>true</value>
        </property>
        <property>
                <name>yarn.timeline-service.address</name>
                <value>mast02:10200</value>
        </property>
        <property>
                <name>yarn.timeline-service.webapp.address</name>
                <value>mast02:8188</value>
        </property>
        <property>
                <name>yarn.timeline-service.webapp.https.address</name>
                <value>mast02:8190</value>
        </property>
        
 cd /opt/apps/hadoop-3.2.1

 

2. 설정파일 재 배포 및 yarn restart

action server: mast02 (yarn 동작서버)

user: hadoop

pwd: /opt/apps/hadoop-3.2.1/etc/hadoop

cmd:

# hadoop 클러스터 서버들에게 배포 
scp -P 22002 ./capacity-scheduler.xml hadoop@mast01:/opt/apps/hadoop-3.2.1/etc/hadoop
scp -P 22002 ./capacity-scheduler.xml hadoop@mast03:/opt/apps/hadoop-3.2.1/etc/hadoop
scp -P 22002 ./capacity-scheduler.xml hadoop@work01:/opt/apps/hadoop-3.2.1/etc/hadoop
scp -P 22002 ./capacity-scheduler.xml hadoop@work02:/opt/apps/hadoop-3.2.1/etc/hadoop
scp -P 22002 ./capacity-scheduler.xml hadoop@work03:/opt/apps/hadoop-3.2.1/etc/hadoop

# mast02서버 실행(yarn이 동작하는 서버)
sbin/yarn-daemon.sh start timelineserver

 

결과확인

mast02:8188

 

 

반응형

apache tez 빌드 과정에서 나온 오류 및 트러블 슈팅을 기록합니다.

 

https://developer-woong.tistory.com/45

 

apache tez 빌드

centos7 기준입니다. maven, hive가 설치되어있음을 가정합니다. 아래 포스팅에 설치된 mast02서버의 hive를 사용할 예정입니다. tez버전은 0.10.2를 사용합니다. 조언과 충고 감사합니다. https://developer-woon

developer-woong.tistory.com

1. Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.8.0:yarn (yarn install) on project tez-ui: Failed to run task: 'yarn install' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1) -> [Help 1]
error /opt/apps/tez/tez-ui/src/main/webapp/node_modules/phantomjs-prebuilt: Command failed.
-> yum install -y bzip2

2. Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.8.0:bower (bower install) on project tez-ui: Failed to run task: 'bower install --allow-root=false' failed.
-> root가아닌계정으로 빌드

 

2번이 해결되지않고,

bower alasql#^0.4.0 CERT_HAS_EXPIRED Request to https://registry.bower.io/packages/alasql failed: certificate has expired

라는 오류가 빌드 중 발생할 시

vi tez-ui/pom.xml

이 부분을

<allow-root-build>--allow-root=false</allow-root-build>

이렇게 수정해주세요

<allow-root-build>--config.strict-ssl=false --allow-root=false</allow-root-build>

 

반응형

'BigData > Hive' 카테고리의 다른 글

Hive) 테이블 컬럼명 변경  (0) 2023.12.28
apache hive 엔진 tez 교체  (0) 2023.09.08
Hive server, metastore 로그  (0) 2023.09.07
apache tez 빌드  (2) 2023.07.24
Apache Hive 설치  (0) 2023.07.24

centos7 기준입니다. 백업 마스터 2대를 둔 hbase cluster를 설치하도록 하겠습니다. 

hadoop, zookeeper가 설치되어있음을 가정합니다.

 

실행 유저:hadoop

mast01: hbase master

mast02: hbase master

mast03: hbase master

work01:regionserver

work02:regionserver

work03:regionserver

 

https://developer-woong.tistory.com/36

 

hadoop 설치 (정리모음버전)

centos7 기준입니다. 6대의 서버가 준비되어있고, ntp설정, ip설정 및 호스트네임 등록, jdk 설정, zookeeper 설치가 완료됨을 가정합니다. https://developer-woong.tistory.com/37 centos linux ntp enable centos7 기준입니

developer-woong.tistory.com

https://developer-woong.tistory.com/39

 

Zookeeper 설치

centos7 기준입니다. mast01~03 3대의 서버에 주키퍼를 설치하겠습니다. 계정은 hadoop입니다. 1. 압축 파일 다운로드 및 해제 action server: mast01, mast02, mast03 user: root pwd: /opt/apps/ cmd: wget https://archive.apache.o

developer-woong.tistory.com

 

1. hbase 압축파일 다운로드 및 해제

action server: mast01

user: root

pwd: /opt/apps

cmd:

# mast01서버에서 설정 파일 수정 후 다른 서버들에게 배포 예정
wget https://archive.apache.org/dist/hbase/2.3.7/hbase-2.3.7-bin.tar.gz

tar xvfz hbase-2.3.7-bin.tar.gz

cd /opt/apps/hbase-2.3.7

 

2. hbase 설정파일 수정 

action server: mast01

user: root

pwd: /opt/apps/hbase-2.3.7

cmd:

vi conf/hbase-env.sh

export JAVA_HOME=/opt/apps/jdk8
export HBASE_OPTS="$HBASE_OPTS -XX:+UseConcMarkSweepGC"
# 직접 설치한 주키퍼사용
export HBASE_MANAGES_ZK=false
# ssh포트 지정
export HBASE_SSH_OPTS="-p 22002"

# 로그 디렉토리 설정
export HBASE_LOG_DIR=/data01/logs/hbase

# PID 디렉토리 설정
export HBASE_PID_DIR=/opt/apps/hbase/pid

vi conf/hbase-site.xml
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-->
<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://NNHA:8020/hbase</value>
    </property>
    <property>
        <name>hbase.master</name>
        <value>mast01:6000</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>mast01,mast02,mast03</value>
    </property>
    <property>
        <name>zookeeper.znode.parent</name>
        <value>/hbase</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/data/zookeeper</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
    </property>
    <property>
        <name>dfs.datanode.max.xcievers</name>
        <value>4096</value>
    </property>
    <property>
        <name>hbase.master.port</name>
        <value>60000</value>
    </property>
    <property>
        <name>hbase.master.info.port</name>
        <value>60010</value>
    </property>
    <property>
        <name>hbase.regionserver.port</name>
        <value>60020</value>
    </property>
    <property>
        <name>hbase.regionserver.info.port</name>
        <value>60030</value>
    </property>
    <property>
        <name>hbase.rest.port</name>
        <value>33333</value>
    </property>
</configuration>


vi conf/regionservers
work01
work02
work03

vi conf/backup-masters
mast02
mast03

cd ..

 

3. hbase 재 압축 및 다른 서버들에게 배포

action server: mast01

user: root

pwd: /opt/apps

cmd:

tar cvfz hbase.tar.gz ./hbase-2.3.7

scp -P 22002 ./hbase.tar.gz root@mast02:/opt/apps
scp -P 22002 ./hbase.tar.gz root@mast03:/opt/apps
scp -P 22002 ./hbase.tar.gz root@work01:/opt/apps
scp -P 22002 ./hbase.tar.gz root@work02:/opt/apps
scp -P 22002 ./hbase.tar.gz root@work03:/opt/apps

 

4. hbase 재 배포 파일 압축 해제

action server: mast02, mast03, work01, work02, work03

user: root

pwd: -

cmd:

cd /opt/apps
tar xvfz hbase.tar.gz

 

5. hbase 폴더 권한 부여 및 환경변수 설정

action server: all

user: /opt/apps

pwd: -

cmd:

 # hbase-env.sh에서 설정한 pid 디렉토리 생성
 mkdir /opt/apps/hbase-2.3.7/pid
 
 # hbase-env.sh에서 설정한 로그 디렉토리 생성
 mkdir -p /data/hbase/log

chown -R hadoop:hadoop /opt/apps/hbase-2.3.7
chown -R hadoop:hadoop /data/hbase

vi /etc/profile.d/hbase.sh

export HBASE_HOME=/opt/apps/hbase-2.3.7
export PATH=$PATH:$HBASE_HOME/bin

source /etc/profile.d/hbase.sh

su - hadoop
cd /opt/apps/hbase-2.3.7

 

6. hbase 기동 및 확인

action server: mast01

user: hadoop

pwd: /opt/apps/hbase-2.3.7

cmd:

# mast01서버에서 실행

./bin/start-hbase.sh

mast01:60010 웹 UI확인

반응형

이전 포스팅에서 설치한 kafka가 정상 동작하는지 테스트해보겠습니다

mast01,02,03서버에 kafka cluster가 설치되어있습니다.

 

https://developer-woong.tistory.com/52

 

Apache Kafka 설치

centos7 기준입니다. 실행 유저는 hadoop, 버전은 2.8.2로 설치할 것이며, mast01,02,03 3대의 서버에 cluster mode로 설치할 예정입니다. zookeeper가 설치되어있음을 가정하고, mast01,02,03서버에 zookeeper가 설치

developer-woong.tistory.com

 

1. Kafka Topic Create

action server: mast01

user: hadoop

pwd: /opt/apps/kafka-2.8.2

cmd:

# 파티션이 하나, 복제 수가 3개인 testTopic이라는 일므의 토픽을 생성합니다.
./bin/kafka-topics.sh --create --bootstrap-server mast01:9092,mast02:9092,mast03:9092 --replication-factor 3 --partitions 1 --topic testTopic

# 생성되었는지 토픽 리스트를 확인합니다.
./bin/kafka-topics.sh --list --bootstrap-server mast01:9092,mast02:9092,mast03:9092

 

1. Kafka Producer, Consumer

action server: mast02, mast03

user: hadoop

pwd: /opt/apps/kafka-2.8.2

cmd:

# mast02서버에서 프로듀서 콘솔 띄우기
./bin/kafka-console-producer.sh --bootstrap-server mast01:9092,mast02:9092,mast03:9092 --topic testTopic

# mast03서버에서 컨슈머 콘솔 띄우기
./bin/kafka-console-consumer.sh --bootstrap-server mast01:9092,mast02:9092,mast03:9092 --topic testTopic --from-beginning

mast02서버의 프로듀서에서 메시지 입력 시 실시간으로 mast02서버의 컨슈머에서 확인

 

반응형

 centos7 기준입니다.

실행 유저는 hadoop, 버전은 2.8.2로 설치할 것이며, mast01,02,03 3대의 서버에 cluster mode로 설치할 예정입니다.

zookeeper가 설치되어있음을 가정하고,

mast01,02,03서버에 zookeeper가 설치되어있습니다.

 

https://developer-woong.tistory.com/39

 

Zookeeper 설치

centos7 기준입니다. mast01~03 3대의 서버에 주키퍼를 설치하겠습니다. 계정은 hadoop입니다. 1. 압축 파일 다운로드 및 해제 action server: mast01, mast02, mast03 user: root pwd: /opt/apps/ cmd: wget https://archive.apache.o

developer-woong.tistory.com

 

1. Kafka 압축 파일 다운로드 및 해제

action server: mast01, mast02, mast03

user: root

pwd: -

cmd:

cd /opt/apps/

wget https://archive.apache.org/dist/kafka/2.8.2/kafka_2.13-2.8.2.tgz

tar xvfz kafka_2.13-2.8.2.tgz

mv kafka_2.13-2.8.2/ kafka-2.8.2

cd /opt/apps/kafka-2.8.2/config

 

2. Kafka 설정파일 수정 

action server: mast01, mast02, mast03

user: root

pwd: -

cmd:

# mast01 서버
vi server.properties

broker.id=1 

# 주석 해제
listeners=PLAINTEXT://:9092

# 각 서버의 hostname으로 작성
advertised.listeners=PLAINTEXT://mast01:9092

# kafka 데이터가 저장되는 경로 
log.dirs=/data/kafka

zookeeper.connect=mast01:2181,mast02:2181,mast03:2181/kafka

# mast02 서버
vi server.properties

broker.id=2 

# 주석 해제
listeners=PLAINTEXT://:9092

# 각 서버의 hostname으로 작성
advertised.listeners=PLAINTEXT://mast02:9092

# kafka 데이터가 저장되는 경로 
log.dirs=/data/kafka

zookeeper.connect=mast01:2181,mast02:2181,mast03:2181/kafka

# mast03 서버
vi server.properties

broker.id=3

# 주석 해제
listeners=PLAINTEXT://:9092

# 각 서버의 hostname으로 작성
advertised.listeners=PLAINTEXT://mast03:9092

# kafka 데이터가 저장되는 경로 
log.dirs=/data/kafka

zookeeper.connect=mast01:2181,mast02:2181,mast03:2181/kafka

cd ../..

 

3. Kafka 폴터 권한 부여 및 기동

action server: mast01, mast02, mast03

user: root

pwd: /opt/apps/kafka-2.8.2

cmd:

chown -R hadoop:hadoop /opt/apps/kafka-2.8.2

su - hadoop
cd /opt/apps/kafka-2.8.2

# Kafka 기동(백그라운드 실행)
./bin/kafka-server-start.sh -daemon ./config/server.properties &

netstat -ntlp | grep 9092

 

결과확인

 

다음 포스팅에서 설치한 카프카 클러스터가 정상 동작하는지 간단한 테스트를 진행해보도록 하겠습니다.

https://developer-woong.tistory.com/53

 

Kafka topic producer consumer 테스트

이전 포스팅에서 설치한 kafka가 정상 동작하는지 테스트해보겠습니다 mast01,02,03서버에 kafka cluster가 설치되어있습니다. https://developer-woong.tistory.com/52 Apache Kafka 설치 centos7 기준입니다. 실행 유저

developer-woong.tistory.com

 

반응형

제 블로그에서 설치한 spark는 job EventLog를 HDFS상에 저장합니다.

오래된 로그들을 삭제 해주지않으면 꽤 큰 용량을 차지하기때문에, 삭제 주기를 설정하는 법을 알아보겠습니다.

 

 

vi ${SPARK_HOME}/conf/spark-defaults.conf

 

vi ${SPARK_HOME}/conf/spark-defaults.conf

# 삭제 활성화
spark.history.fs.cleaner.enabled        true

# 7일에 한 번 삭제 대상인지 확인
spark.history.fs.cleaner.maxAge 7d

# 하루 이상 지난 로그파일들 삭제 대상
spark.history.fs.cleaner.interval       1d

 

참조: https://spark.apache.org/docs/3.2.3/monitoring.html

반응형

+ Recent posts