Ambari는 Hortonworks에서 개발한 하둡 클러스터를 프로비저닝(노드 / 하둡 컴포넌트 자동 설치), 매니지먼트(HDFS, HIVE 등등을 껏다 켯다, HA 등), 모니터링(HDFS , Hive 등등등)을 위한 아파치에 공개한 오픈소스 관리 도구입니다. 


최근, 암파리 아파치 커뮤니티에서 약간의 변경이 생겨서인재 Ambari 2.2일때는  RPM, apt-get등으로 바로 받을수 있는 주소를 공개 했었는데, 지금은 Ambari를 직접 컴파일하는 방법으로 설치 방법을 공개했습니다


그렇다고, RPM, Apt-get으로 설치를 못하는것은 아닙니다. Hortonworks 공식 홈페이지 다큐멘트를 찾아보면, 바로 패키지 형태로 제공할수 잇는 링크를 제공합니다 



\2016년 10월 19일 기준 암바리 2.4.1.0이 최신버전이고(HDP 2.5) 다음주소에서 암바리 repo주소를 확인할 수 있습니다


Apache Ambari https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.4.1


Ambari Hortonworks Document http://docs.hortonworks.com/HDPDocuments/Ambari-2.4.1.0/bk_ambari-installation/content/download_the_ambari_repo.html


Hortonworks http://hortonworks.com/downloads/#data-platform

저작자 표시 비영리 변경 금지
신고

1.ambari-server 에 SSH 로 접속

2. ambari-admin-password-reset


ambari 암호 변경


https://community.hortonworks.com/questions/15063/default-usernamepassword-for-ambari.html

저작자 표시 비영리 변경 금지
신고

Apache Ambari를 사용하다보면, 암바리 자체를 이용해서 하둡 클러스터를 관리할수도 있지만.

떄로는 필요한 부분에 대하여 커스터마이징하거나, 또는 관리의 편의성을 위해 별도의 앱을 만들어 쓸 수도 있습니다. 



다음은 암바리의 컴포넌트를 API를 이용해서 시작 및 중지하는 방법입니다.


curl -u USER:PASS -i -H 'X-Requested-By: ambari' -X PUT -d  '{"RequestInfo": {"context" :"Stop '"$1"' via REST"}, "Body": {"ServiceInfo": {"state": "INSTALLED"}}}' http://HOST/api/v1/clusters/CLUSTER/services/COMPONENT


curl -u USER:PASS -i -H 'X-Requested-By: ambari' -X PUT -d '{"RequestInfo": {"context" :"Start '"$1"' via REST"}, "Body": {"ServiceInfo": {"state": "STARTED"}}}'  http://HOST/api/v1/clusters/CLUSTER/services/COMPONENT



https://ambari.apache.org

https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.2.1




`


저작자 표시 비영리 변경 금지
신고

java.lang.RuntimeException: Error applying authorization policy on hive configuration: java.net.ConnectException: Call From HOST2/192.168.1.12 to 0.0.0.0:8020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

        at org.apache.hive.service.cli.CLIService.init(CLIService.java:114)

        at org.apache.hive.service.CompositeService.init(CompositeService.java:59)

        at org.apache.hive.service.server.HiveServer2.init(HiveServer2.java:104)

        at org.apache.hive.service.server.HiveServer2.startHiveServer2(HiveServer2.java:411)

        at org.apache.hive.service.server.HiveServer2.access$700(HiveServer2.java:78)

        at org.apache.hive.service.server.HiveServer2$StartOptionExecutor.execute(HiveServer2.java:654)

        at org.apache.hive.service.server.HiveServer2.main(HiveServer2.java:527)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:497)

        at org.apache.hadoop.util.RunJar.run(RunJar.java:221)

        at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

Caused by: java.lang.RuntimeException: java.net.ConnectException: Call From HOST2/192.168.1.12 to 0.0.0.0:8020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

        at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:494)

        at org.apache.hive.service.cli.CLIService.applyAuthorizationConfigPolicy(CLIService.java:127)

        at org.apache.hive.service.cli.CLIService.init(CLIService.java:112)

        ... 12 more

Caused by: java.net.ConnectException: Call From HOST2/192.168.1.12 to 0.0.0.0:8020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

        at java.lang.reflect.Constructor.newInstance(Constructor.java:422)

        at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:792)

        at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:732)

        at org.apache.hadoop.ipc.Client.call(Client.java:1431)

        at org.apache.hadoop.ipc.Client.call(Client.java:1358)

        at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:229)

        at com.sun.proxy.$Proxy15.getFileInfo(Unknown Source)

        at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getFileInfo(ClientNamenodeProtocolTranslatorPB.java:771)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:497)

        at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:252)

        at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:104)

        at com.sun.proxy.$Proxy16.getFileInfo(Unknown Source)

        at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:2116)

        at org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1315)

        at org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1311)

        at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)

        at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1311)

        at org.apache.hadoop.fs.FileSystem.exists(FileSystem.java:1424)

        at org.apache.hadoop.hive.ql.session.SessionState.createRootHDFSDir(SessionState.java:568)

        at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs(SessionState.java:526)

        at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:480)

        ... 14 more

Caused by: java.net.ConnectException: Connection refused

        at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)

        at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)

        at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)

        at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:531)

        at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:495)

        at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:612)

        at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:710)

        at org.apache.hadoop.ipc.Client$Connection.access$2800(Client.java:373)

        at org.apache.hadoop.ipc.Client.getConnection(Client.java:1493)

        at org.apache.hadoop.ipc.Client.call(Client.java:1397)


HDP Ambari를 보니 Hive가 뻗어있길래 저런 오류가 나있더군요...한번 HDFS의 Core-site.xml 에서 defualt.fs 가 제대로 설정되어있는지 확인해보셔야 합니다. 


만약에 default.fs 쪽에 0.0.0.0:8020 으로 설정 하셨으면, 해당 네임노드 호스트로 바꾸면 될것 같습니다.

(지금 헷갈리는게,, 원래 저렇게 안썻나,,)


저작자 표시 비영리 변경 금지
신고


사용하는 입장에 따라 다르지만, 직접 Hadoop을 받아서 설정하는 방법도 있지만, HDP(물론 무료!)를 이용해서 필요한 환경을 구축하는 방법도 있습니다.


제 사례를 들어보면 HDFS 부터 YARN,HBase, zookeeper,Hive까지 설치하는데 몇시간이 걸린다면,(물론 스크립트로 만들수도 있찌만) Ambari를 이용해서 HDP를 이용하면 원하는 환경은 바로 구성이 됩니다.


좀더 자세한 설명은 hortonworks.com/hdp/ 와 호튼웍스 공식 문서를 통해서 확인하실수 있습니다.


http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.0.6.0-Win/bk_installing_hdp_for_windows/bk_installing_hdp_for_windows-20140120.pdf


다음 스크린샷은 Ambari 2.2.1(마지막 버전)을 이용해서 HDP 2.3(최신버전은 2.4,,, 최신버전과의 차이점은 SmartSence 가 추가된듯.. 아직 다 안봐서 ,)을 설치하는 설명입니다.


스크린샷은 블로그 포스팅을 위해서 VM 위에서 싱글머신으로 설치하는 예제입니다.


(중간에 찍은 스샷을 날려먹어서.. 호튼웍스 공식 메뉴얼을 보시는면 매우 자세하게 나왔습니다.




설치버전 선택




보통의 아파치 하둡을 설정할때 HOSTS를 입력하는 부분, 아래부분은 SSH 키를 입력 하는 부분입니다.



다음 절차에서 각 해당하는 노드들에 대하여 에이전트를 배포하여 설치를 준비합니다.




다음에 필요한 하둡 컴포넌트를 선택합니다(물론 지금 설치를 안하더라도 나중에 설치가 또 가능합니다.)




NEXT를 눌러서 진행하면 자동으로 하둡 컴포넌트들이 배포가 됩니다.



설치가 완료된 이후의 모습입니다. 물론 그전에 설치하지 않은 하둡컴포넌트 또한 추가가 가능합니다.

저작자 표시 비영리 변경 금지
신고
1

+ Recent posts