반응형

hdfs 및 hbase 는 기본적으로 데이터노드 및 리전서버와 22번 포트를 통해 ssh통신을 사용합니다. 만약 서버 셋팅이 22번 포트가 아니라면 아래와 같이 설정이 필요합니다.

 

 

1.hadoop-env.sh(hdfs)

### 2023 port를 이용하여 ssh통신을 원할경우
export HADOOP_SSH_OPTS="-p 2023"

 

2. 1.hbase-env.sh(hbase)

### 2023 port를 이용하여 ssh통신을 원할경우
export HBASE_SSH_OPTS="-p 2022"

 

반응형
반응형

nn01이 네트워크 이슈로 다운되면서, nn02가 active로 변경되었습니다. 

 

특이점으로는 nn02 네임노드는 정상이었지만 DFSZKFailoverController가 꺼진 상태였습니다.

 

이러한 상태에서 nn01 네임노드를 활성화 하니 자동으로 nn01이 active nn02가 standby로 변경되네요. 관련하여 네임노드를 재실행시 자동으로 변경되는 것을 원하지 않을 경우 nn02에 DFSZKFailoverController가 실행되어 있는지 확인이 필요해 보입니다.

 

반응형
반응형

[hdfs] ha 중 org.apache.hadoop.ha.SshFenceByTcpPort: Unable 에러

 

[hdfs] ha 중 org.apache.hadoop.ha.SshFenceByTcpPort: Unable 에러

에러 ha테스트 중 active namenode를 kill하고 standby 네임노드가 active가 되기를 기다렸지만 여전히 standby 상태였습니다. tail -f zkfc.log를 확인하니 아래와 같은 에러메세지가 발생했습니다. WARN org.apache.

taeguu.tistory.com

에러

위의 에러를 해결 후에도 ha가 제대로 동작을 안합니다. 에러 내용확인 하니 아래와 같은 경고를 발생합니다.

 WARN org.apache.hadoop.ha.SshFenceByTcpPort: PATH=$PATH:/sbin:/usr/sbin fuser -v -k -n tcp 8020 via ssh: bash: fuser: command not found

원인

fuser 는 파일이나 소켓을 어떤 프로세스가 사용하는 지 알려주는 명령어인데, 그렇다면 이 부분 때문에 ha가 진행되지 않을 수 있다 생각하였습니다.

 

 

해결방법

yum install psmisc설치 후 ha가 제대로 동작하는 것을 확인하였습니다.

반응형
반응형

에러

ha테스트 중 active namenode를 kill하고 standby 네임노드가 active가 되기를 기다렸지만 여전히 standby 상태였습니다. 

 

tail -f zkfc.log를 확인하니 아래와 같은 에러메세지가 발생했습니다.

 

 

WARN org.apache.hadoop.ha.SshFenceByTcpPort: Unable to connect to [ip] as user [user]
com.jcraft.jsch.JSchException: java.net.ConnectException: Connection refused (Connection refused)

 

원인

sshfence 통신이 안되는 문제였습니다. 확인해보니 현재 22포트가 아닌 다른 포트를 사용하여 발생한 에러였습니다.

 

해결방법

해결방법으로는 hdfs-site.xml에서 아래 사진과 같이 유저와 포트를 지정해줄 수 있습니다 저는 sshfence(user:0000)으로 변경하였습니다.

 

반응형
반응형

원인

카프카 매니저 설치 중 에러를 기록합니다.

 

카프카 매니저 2.0.0.2설치 중 ./sbt clean dist 명령어 입력후 설치가 진행되다가 위의 에러가 수십개 발생하였습니다.

원인을 알아보니 80즉 http로 다운로드를 진행하지만 현재 관련 파일들은 https에 있어 그런 것으로 확인되었습니다. 

 

 

해결

해결방법은 간단합니다.

CMAK-2.0.0.2/project/plugins.sbt 파일 내용에서 

http://repo.typesafe.com/typesafe/releases/  >https://repo.typesafe.com/typesafe/releases/로 변경해주면 됩니다.

 

 

반응형
반응형

카프카 매니저  설치 전 sbt 설치 방법에 대해 기록하고자 한다.

sudo rm -f /etc/yum.repos.d/bintray-rpm.repo
sudo rm -f /etc/yum.repos.d/bintray-sbt-rpm.repo

curl -L https://www.scala-sbt.org/sbt-rpm.repo > sbt-rpm.repo
sudo mv sbt-rpm.repo /etc/yum.repos.d/
sudo yum install sbt

 

반응형
반응형

주키퍼 설치 진행하다 log에 아래와 같은 메세지를 뱉으며 리더 선출이 안되며, 구성이 안됐습니다. 기본적으로 포트도 허용하였고 myid 또한 정확하게 셋팅하였습니다.

 

WARN [QuorumPeer[myid=1](plain=[0:0:0:0:0:0:0:0]:2181)(secure=disabled):Follower@129] - Exception when following the leader java.lang.IllegalArgumentException

 

결론적으로 제가 주키퍼 3.6.0버전을 쓰고 있는데 구글서치를 하니 3.6.0버전에서 발생하는 오류라고 합니다. 저는 3.7.1로 변경하여 구성 완료하였고

 

다른분들은 3.6.1을 사용하여 위의 에러를 해결했다고 합니다.

반응형
반응형

netstat

netstat는 전송 제어 프로토콜, 라우팅 테이블, 수많은 네트워크 인터페이스, 네트워크 프로토콜 통계를 위한 네트워크 연결을 보여주는 명령 줄 도구입니다. 특히 서버끼리 통신 시 포트 허용여부를 확인하려고 많이 썻습니다.

 

netstat 컬럼 설명

  • Proto : 프로토콜 종류. TCP / UDP (tcp와 tcp6의 차이는 IPv4와 IPv6 를 의미합니다)
  • Recv-Q : process가 현재 받는 바이트 표기
  • Send-Q : process가 현재 보내는 바이트 표기
  • Local Address : 출발지 주소 및 포트. 자신의 주소 및 포트 (: 뒤는 포트를 나타냅니다)
  • Foreign Address : 목적지 주소 및 포트 (0.0.0.0:* tcp의 모든 아이피를 뜻하며, [::]:*의경우 tcp6의 모든 아이피를 뜻합니다.)
  • State : 포트의 상태 표기.(LISTEN - 포트가 열려있는 상태ESTABLISHED - 연결되어 있음)

netstat 예시

내부의 모든 IP의 SSH(Local Address, 0.0.0.0:111) 외부의 모든 IP의 모든 포트에 대한(Foreign Address, 0.0.0.0:*) 요청을 기다리고(Listen) 있다라고 생각하면 될 것 같습니다!

 

반응형

+ Recent posts