ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HDP 2.0에서 HDP 2.4로 업그레이드 삽질
    프로그래밍/hadoop 2016. 5. 27. 10:53
    728x90

    오래전 부터 쓰던 Hortonworks 사의 HDP 2.0 버젼을을 최근에 나온 2.4 버젼으로 업그레이드 해야 할 필요성이 생겼다.


    일단 너무 오래된 버젼이라 나날이 발전하고 있는 Hadoop 관련 시스템들의 지원이 제대로 이루어 지고 있지 않고 있었고


    현재 만들고 있는 데이터들의 생성 속도도 현저하게 저하되고 있었다.


    일단 Rolling Upgrade를 지원하는지를 확인 해봐야 했다.


    메일 생성되는 데이터가 있으니 진행에 차질이 없어야 하니!


    Hortonworks 홈페이지에서 확인해 보니 Rolling upgrade를 지원한다! 하지만!


    Important

    Ambari 2.2.2 does not support managing an HDP 2.1 or 2.0 cluster. If you are running HDP 2.1 or 2.0, in order to use Ambari 2.2.2 you must first upgrade to HDP 2.2 or higher using either Ambari 2.2.1, 2.2, 2.1 or 2.0 prior to upgrading to Ambari 2.2.2. Once completed, upgrade your current Ambari to Ambari 2.2.2.

    홈페이지에 이런 문구가 있다...


    일단 HDP 2.0을 HDP 2.2로 먼저 업그레이들 해야 한다.


    그리고 그러기 위해선


    Ambari 2.2.2로 업그레이드 해야 한다.


    그러기 위해선 현재 Ambari Version이 1.6이니... 1.6=>1.7로 업그레이드 하고 다시 1.7에서 2.2로 업그레이드를 해야 한다.


    여기서 드는 고민은... 여러 단계를 거쳐서 Rolling upgrade를 해야 하나...


    그냥 모든 데이터를 backup 한다음에 다 지우고 그냥 새버젼을 깔아야 하나 하는 고민이 들었다.


    뭐 백업이 불가 할 만큼의 정말 빅데이터라면 죽어도 Rolling upgrade여야 겠지만... 그렇진 않으니...


    그래도 일단 Rolling upgrade를 해보기로 했다!


    일단 Hortonworks 사이트 가서 지시에 잘~~ 따르면 된다.. 하지만 뭐.. 늘 그렇듯이.. 그게 잘 안된다.


    Ambari 1.7버젼과 Ambari 2. 대 버젼의 차이는 WOW의 대격변 까지는 아니지만 시스템의 차이가 크다.


    뭐 거의 새롭게 설치 하는 수준이라고 할까?


    Rolling upgrade를 진행하면서 하나하나 발생하는 문제를 해결하다 보니... 문든..


    나 자신에게서 인내심의 한계가 들기 시작...


    결국 백업 후 모두 삭제, 재 설치를 해야 겠다는 생각이 들었다!


    아 이게 무슨 삽질이야...


    Hive Metadb로 사용하는 mysql의 DB를 지우지 않으면 사용하던  Hive의 테이블 정보와 스키마 정보는 HDFS를 FORMAT해도 유지 된다.


    결국 모든 데이터 백업 후 재 설치 진행 중에


    Hive MetaDB 에러가 발생...  에러 메시지는


    Unknown table engine 'InnoDB'


    이유는?


    ->Hadoop Rolling Update 위해 Mysql 업데이트 했음

    ->Mysql-Connector.jar 버그 문제로 인한 metadb 접속 불가(아무래도 버전 차이로 인한 같음 <Mysql Server connector 사이의…)

    ->여기서 바보 같은 짓을 connector 버전에 맞는 것을 구했으면 되지 않았을까?

    ->mysql 다운그레이드 했음(왜 그랬니!!!!!)

    여기서 크랙 발생

    위의 에러가 발생 했음

    mysql> show variables like 'have_innodb';
    +
    ---------------+-------+
    | Variable_name | Value |
    +
    ---------------+-------+
    | have_innodb   | NO   |
    +
    ---------------+-------+
    1 row in set (0.00 sec)

     

    해결 !

     

    /etc/my.cnf

    #skip-innodb 주석 처리 해줄

     

    그리고

     

    service mysqld stop

     

    rm /var/lib/mysql/ib_logfile*

     

    service mysqld start

     

    하면


    그리고 추가적으로


    삭제 후 재설치 하기 위해서는


    Clean하게 설치된 Hadoop 관련 파일 및 폴더를 다 지워야 한다.


    그렇지 않으면 설치가 안돼거나 설치가 되어도 비정상 작동이 될 경우가 많다.


    HDP 설치 파일에 보면 관련해서 삭제 python 파일이 존재한다.


    하지만 완벽하게 삭제 되지는 않는 것 같다.


    나 같은 경우에는


    삭제 스크립트를 만들어 삭제 하고 진행했으나..


    HDP 버젼별로 약간씩 설치 위치가 다르기 때문에


    잘 확인 후 삭제 해야 한다...


    일단 재 설치를 했는데... 어우...


    기존 프로세스가 왜 안될까....


    열심히 또 원인 파악을....



    728x90
Designed by Tistory.