발표자료, 제안서 등 관련된 문서를 작성할때 시스템 / 네트워크 등 아키텍처를 그려야 할때가 있습니다.

웹상에서 보면 VISIO가 그렇게 좋다고 하지만, 확보된 환경이 아니네요.. 물론 PPT로도 그릴수가 있지만.. 생각보다 손이 많이 가고 가장 큰 문제는 예쁘게 안나온다는게 문제 입니다.


웹을 검색해보면 거의 3사이트로 압축이 됩니다.(유료는 제외합니다)

프로그램 형태로는 제 블로그에 예전에 소개한 DIa도 있습니다 

2009/05/20 - [Utility program] - 순서도 그리는 프로그램 - DIA

그리고 리브레오피스(https://ko.libreoffice.org/discover/draw/) 드로우도 좋다고 하네요



1. CloudCraft  https://cloudcraft.co/

https://cloudcraft.co/https://cloudcraft.co/


2.drawio https://www.draw.io/

https://www.draw.io/https://www.draw.io/


3.Gliffy https://www.gliffy.com/

https://www.gliffy.com/https://www.gliffy.com/




저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
맨날 HDP 에 설치가 잘된 제플린을 사용하다보니,,

수동으로 제플린을 사용하려고 하니 HIVE를 사용하려고 하니 다음과 같은 오류가 발생합니다.

Prefix not found.

paragraph_1493986135331_752263516's Interpreter hive not found
org.apache.zeppelin.interpreter.InterpreterException: paragraph_1493986135331_752263516's Interpreter hive not found at org.apache.zeppelin.notebook.Note.run(Note.java:605) at org.apache.zeppelin.socket.NotebookServer.persistAndExecuteSingleParagraph(NotebookServer.java:1641) at org.apache.zeppelin.socket.NotebookServer.runAllParagraphs(NotebookServer.java:1588) at org.apache.zeppelin.socket.NotebookServer.onMessage(NotebookServer.java:268) at org.apache.zeppelin.socket.NotebookSocket.onWebSocketText(NotebookSocket.java:59) at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:128) at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69) at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:65) at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:122) at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:161) at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:309) at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:214) at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220) at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:258) at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:632) at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:480) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:745)


제가 사용한 제플린 버전은 1.7.1 버전이고 이유는 간단합니다.

HIVE 인터프리터가 없기 때문입니다.


설정방법은 여기 친절하게 나와있습니다.


https://zeppelin.apache.org/docs/0.7.1/interpreter/hive.html



설명은 간단하지만,, 분명히 HDP에서 제플린으로 HIVE사용할때는 %hive 사용했던것 같은데..


제플린을 오래 사용하지 않아서 jdbc로 통합된것 같더군요


먼저 Hadoop 홈폴더에 보면 share 폴더 아래 hadoop 아래 common이라는 폴더가 있을겁니다.

여기서 hadoop-common을 제플린 폴더의 interpreter 폴더 jdbc 폴더 안에 복사합니다


그다음 hive 홈폴더에서 lib 폴더에 보면 hive-jdbc-standalone이라는 jar 파일이 있습니다 

마찬가지로 제플린 interpreter 폴더 jdbc 에 복사합니다


그다음 제플린 UI에서 인터프리터를 여신다음 여기서 jdbc를 검색합니다

그다음 jdbc에 다음을 추가합니다

hive.driver   = org.apache.hive.jdbc.HiveDriver

hive.password = 자신의 설정

hive.url =자신의 설정

hive.user =자신의 설정


그다음 제플린 데몬을 제시작하면


%hive(jdbc) 하신다음 바로 사용이 가능합니다.





....추가적으로 지금 제플린에 yarn-client 모드로 spark 엮고 있는데, 이거 제대로 되면 방법도 올려보겠습니다.


맨날 벤더 하둡 쓰려다가 ㅠㅠㅠ self-deployed 하둡 쓰려니까 어렵네요 ㅠㅠ 























저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License



자격증 미리보기라는 말이.. 좀 애매하긴 한데..

예전부터 느끼는건 공부하는것과, 시험보는것은 많이 다른것 같습니다. 공부는 말그대로 공부고 시험은, 시험준비를 위해 기출을 풀거나 해서 유형을 파악하는건데, HDPCA라는 녀석은 전혀 파악이 안되더군요. 사실 HDP를 쓰면 쓰겠지만


그런데 호튼웍스(Hortonworks) 쪽에서 AWS에서 미리 테스팅 해볼수 있는 환경을 제공합니다 


PRACTICE EXAM

Hortonworks University recommends that candidates attempt the practice exam to familiarize themselves with the exam environment and also with the types of tasks that appear on the certification exam.

.icon6.png

The practice exam is available in the cloud on Amazon Web Services (AWS)

icon6.png

You will need an AWS account to follow the instructions

icon6.png

We do not charge for the practice exam, but you do have to pay for an AWS instance, which is typically less than $1 an hour

http://ko.hortonworks.com/wp-content/uploads/2015/04/HDPCA-PracticeExamGuide.pdf   [관련 안내 파일]

기본적으로 AWS(https://aws.amazon.com/) 계정이 필요합니다.


1.EC2 선택


HDP on AWS



2. Launch Instance 선택

HDP on AWS


3. Community AMIs 선택

HDP on AWS


4. Hortonworks 검색 ,  Hortonworks HDPCAdministrator_2.3 PracticeExam_v3 - ami-11829421 선택.


HDP on AWS


5. 인스턴스 타입 선택, Next: Configure Instance Details

HDP on AWS

6. 기본설정 사용 , Next: Add Storage

HDP on AWS


7. 기본설정 사용, Next: Tag Instance

HDP on AWS


8. 인스턴스 이름 지정, Next:Configure Security Group

HDP on AWS


9. 보안 설정 (5901 포트 추가 ) review and launch

HDP on AWS



10.private 키 설정,  및 인스턴스 실행  

HDP on AWS






저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

The forwarded port configuration expects two parameters, the port on the guest and the port on the host. Example:

Vagrant.configure("2") do |config|
  config.vm.network "forwarded_port", guest: 80, host: 8080
end

This will allow accessing port 80 on the guest via port 8080 on the host.

For most providers, forwarded ports by default bind to all interfaces. This means that other devices on your network can access the forwarded ports. If you want to restrict access, see the guest_ip and host_ip settings below.

https://www.vagrantup.com/docs/networking/forwarded_ports.html


결국에는 Virtue Box에서 돌아가는가지만, 개발을 위해 멀티 클러스터 환경(그래봤자 4노드)를 구현 했지만, SSH말고 다른 통신 포트를 포워딩 하기 위해 찾아보니, 매우 쉽게 포워딩 가능 


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

2012/06/22 - [Study/Linux] - 인트라넷 또는 클러스터 구성시 우분투 apt-get 사용방법


사실 제가 과거에 apt-cache를 이용해서 내부 인터넷 클러스터 환경에서 Ubuntu apt-get 을 사용할수 있는 방법을 포스팅 한적이 있습니다. 사실 클러스터 환경을 운용하다보니 제 개인적인 생각으로는 효율적이지는 않았습니다.

왜냐하면, 가끔씩 컴파일 할 일이 생길때 ant를 실행할때 외부 인터넷 연결을 필요로 하거나, 또는 외부 wget같은걸로 외부에서 받아올려고 할때는 안됩니다.


그래서 결정한것은 마스터 , 1번 외부노드로 연결되는 서버에 Proxy를 구축하는 방법입니다. 사실 정확하게는 기억이 안나는데,브릿지를 구성하는 방법이 잇긴한데, 제가 설정을 작못해서 그런지, 느리더군요.


squid3는 설치 방법이 간단해서(약간 차이나긴 하지만 ubuntu 10.04, 12.04의 경우 데몬 스크립트가 생성되는데 14.04에서는 생성이 안되는것 같더군요) 이건 다음 포스팅에서 해보는걸로 하고 하고 만약 squid3가 설치되어 있다는 가정하에 apt-get으로 적용시키는 방법에 대해 설명 드리겠습니다


/etc/apt/apt.conf 에 이런식으로 적용하시면 되십니다. (apt.conf라는 파일이 아마 없을것 같습니다. 이건 생성해주시면 되십니다.)



http://askubuntu.com/questions/23666/apt-get-does-not-work-with-proxy



Acquire::http::proxy "http://User:Password@host:port/";
Acquire::ftp::proxy "ftp://User:Password@host:port/";
Acquire::https::proxy "https://User:Password@host:port/";

일딴 저 같은경우는 인증정보가 없기때문에, 실제 이런식으로 작성하였습니다.


Acquire::http::proxy "http://192.168.0.1:3128/"; Acquire::https::proxy "http://192.168.0.1:3128/"; Acquire::ftp::proxy "http://192.168.0.1:3128/";

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License



사실, 졸업전에 어떻게 기회가 되어서 R프로그래밍을 배우고 있습니다. 전,, 여태까지 R 프로그래밍이 Hadoop MapReduce를 쉽게 하기 위한 방법론? 또는 그런 제품, 관련된거라고 생각했는데, 정말로 잘못알고 있었던거네요. 물론 외국쪽에 자료가 많겠지만. 


국내쪽 커뮤티니 주소 첨부합니다. 

http://r-project.kr/ R 한국 사용자모임

https://www.facebook.com/groups/krstudy/ 페이스북 R 사용자 그룹



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

'Study > R programming' 카테고리의 다른 글

R 프로그래밍  (0) 2014.08.11
R 프로그래밍  (0) 2014.07.27

Type mismatch in key from map: expected org.apache.hadoop.io.LongWritable, recieved org.apache.hadoop.io.Text


역시 구글, 타입을 지정안해서 나는 오류 였습니다.

스택오버플로 짱 


Add these 2 lines in your code :

job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(IntWritable.class);

You are using TextOutputFormat which emits LongWritable key and Text value by default, but you are emitting Text as key and IntWritable as value. You need to tell this to the famework.

HTH


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
  1. Favicon of http://merrow.tistory.com BlogIcon 명가공인 2014.04.25 17:06 신고

    와우~ 눈이 휙휙 돌아 갑니다.^^;;
    저는 프로그래밍쪽은 잘 몰라서 그런지 이런거 하시는 분이 부럽습니다.

    • Favicon of http://redeyesofangel.tistory.com BlogIcon Yuika eizt 2014.04.28 18:05 신고

      저 말고 잘하는분들 더 많으세요.

      전 학생이다 보니. ㅎㅎㅎ

      즐거운 하루되세요

현재 MapReduce관련 작업을 하고 있습니다.


기본적으로 MapReudce는 Map작업과 Reduce작업으로 이루어져있습니다.


만약 Map 이 1개 , Reduce가 1개 일때는 문제가 안되지만, Map 작업이 2개 이상이 되거나 Reduce작업이 2개 이상되어야 할경우가 문제가 됩니다.


지금 책을 보면서, 여러가지를 공부하고 있는데, 인터넷검색결과 이럴경우, 3가지 해결방법이 제시가 됩니다.


첫번째는 jobconf를 여러개 생성해서, jobclient를 실행해서 하는 방법입니다.

두번째는 책에 가장 많이 나와있는 케이스인데, ChainMapper를 사용해서 여러개의 Map과 Reduce 작업을 하는 방법입니다.


지금 현재 MapRedue를 이용해서 만들고 있는데 저한테는 아직 적합한것 같지 않네요. 제가 잘못찾을수도 있고.. .

마지막 방법은 JobControl 을 이용해서 작업하는 방법입니다 ..


레파토리는 다음과 같습니다. 


               JobConf jobconf = new JobConf(conf);

 ... 해당하는 JOB의 설정

JobConf jobconf2 = new JobConf(conf);

... 해당하는 JOB의 설정


            JobControl jobControl = new JobControl("TestModule");

Job wrapperJob =  new Job(jobconf);

Job wraaperJob2 = new Job(jobconf2);

wraaperJob2.addDependingJob(wrapperJob);

jobControl.addJob(wrapperJob);

jobControl.addJob(wraaperJob2);

   jobControl.run();


먼저 할려는 작업을 jobconf를 통해서 정의 합니다. 저는 여러번의 map작업이 있어야 하기 때문에 2개를 정의한다고 가정합니다. 아직 Reduce나 그이후작업에 대한 정의는 안된상태입니다. 일단 여러개 작업을 이어붙이는 것이 목적이기 때문에


JobControl 을 만들고, Job 클래스를 이용해서 위에서 만든 jobconf를 만든다음 생성합니다.

그다음 저는 첫번째 잡을 wraapperJob으로 만들고 두번째 잡을 wrapperJob2로 만들었습니다.

여기서 WrapperJob2.AddDependingJob 이라는 메소드가 있는데, 의존한다는 의미로 job2가 실행되기 위해서 Job1의 결과값을 받아오겠다? 이정도로 이해하시면 됩니다.

그리고 만든 JobControl.addJob 메소드를 이용해서 잡을 추가하고

JobControl.run을 하시면 됩니다. 


그다음이 문제인데 이렇게 해서 하둡에서 MapReduce작업을 합니다. 웹 모니터링 창에는 작업이 끝났다고 하는데, 계속 제 작업은 돌아갔습니다. (책에도 안나오고 난감...)


역시 구글과 스택오버플로 신께서 도움을 주시네요. 몇몇 인터넷을 찾아보니 , 쓰레드를 생성해서 저 잡이 끝났는지 안끝났는지를 체크해야합니다. 


http://grokbase.com/t/hadoop/common-user/097hs9h2rz/using-jobcontrol-in-hadoop

http://wangzejie.iteye.com/blog/2035640


제가 참고한 페이지는 두 페이지 입니다. 그래서 드라이버 클래스에 쓰레드를 별도로 만들어서 잡의 진행상황을 확인해서 작업을 Jobcontrol을 종료하도록 했습니다. 


                Thread jcThread = new Thread(jobControl);

jcThread.start();

while(true){

if(jobControl.allFinished()){

jobControl.stop();

break;

}

if(jobControl.getFailedJobs().size()>0){

jobControl.stop();

break;

}

}


인터넷을 보시다 보면 return 할때 0,1 하시는건 보실수 있는데, 저는 잘모르겠지만 맵리듀스 드라이버 클래스를 만들때 libtool인가 하는 클래스를 상속받아서 만드시는 분들이 있습니다. 그런 예제들을 보면 0 ,1 리턴 받은 값을 이용해서 제대로 작업이 실행되었는지 확인한것 같습니다. 


아직 학생신분이다보니.. 하다가 생긴 짤막한 지식을 적었습니다.. 혹시 저하고 같은 고민을 하시는 분에게 도움이 되길..


또는 맵리듀스를 하시는 실무자께서 보고계신다면, 제가 잘못알고 있거나, 혹은 도움되는내용이 있으시면 코멘트 해주시면 감사합니다 !!






저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
FileSystem fs = FileSystem.get(conf);
Path pt = new Path("/path");
ContentSummary cs = fs.getContentSummary(pt);
long fileCount = cs.getFileCount();

https://stackoverflow.com/questions/20381422/file-count-in-an-hdfs-directory


MapReduce 프로그래밍 중간에, 생성되는 파일의 갯수를 알아야 했는데, 생각보다 쉬운방법이 있네요.


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.jaso.co.kr/265


일딴 김형준님의 블로그 요걸 보시면 편하게 이해하실수 있습니다. 

일종의 사전지식이랄까.


일단 이글을 보시는 분들은 아마 저보다는 잘하시는 분들이실겁니다. 전 요즘 이것때문에 죽겠거든요

전,, 도저히 저걸 봐도, 하둡 돌아가는게 안보인느것입니다.


일단 제가 필요한 로그은 getsplit 하고 recodereader 이거 맞나요 직접 구현하는 부분이.

일단 메인클레스 내부에서는 sysout 찍어버리면 보이는데, 재내들은 그 안에 있으니 보이지도 않고

그래서 제가 선택한 방법은 log4j 입니다.


http://blog.naver.com/PostView.nhn?blogId=airguy76&logNo=150087115029&categoryNo=3&viewDate=&currentPage=1&listtype=0

산소소년님의 블로그


여기를 참고했습니다.


저는 이번에 log4j 를 처음사용했거든요, 물론 제 블로그의 특성상 제가 이해하고 있지 못한 관점에서 즉 나말고 다른분도 계실꺼라는걸 가정하고,


일단 저는 맵리듀스 프로그래밍을 공부할때 이클립스를 사용하거든요 log4j 설정 파일properties 이걸 어디에 넣냐 이것이 문제였습니다.


웹상에서 보면 src 에 넣어라 bin에 넣어라..


그런데 맵리듀스 프로그래밍을 하면 넣을 필요가 없다가 정답인것 같습니다 일단 제 관점에서는요.


$hadoop_HOME 하둡 폴더 안에 보시면 conf 폴더가 있고 그안에 properties 파일이 있는걸 보실수 있는데 맵리듀스 프로그래밍을 하기위해서 만드는 jar도 여기서 영향을 받네요.


그런데 하둡 특성상 여러 클러스터 안에서 돌아가니까. 로그가 그안에 생길꺼고 로그생성위치가. 아 적어놓는다는걸 이부분은 다음에 적어놓겠는데, 어디냐면 제 기억에, hdfs 폴더 지정하지 않나요 거기 보면 잡관련 로그들 남는부분 아마 뒤져보셨다면 syserr sysout 막 파일들 생기는곳 그 sysout 파일안에 생겼던걸로 기억합니다. 이건 다시한번 확인해봐야겠네요 


그래서 저는 산소소년님의 블로그 따라서 log4j에서 소켓으로 한곳으로 모을수가 있더근요 하둡 conf 안에 properties 설정에서


log4j.rootLogger=${hadoop.root.logger}, EventCounter,socket

log4j.appender.socket=org.apache.log4j.net.SocketAppender
log4j.appender.socket.Threshold=FATAL
log4j.appender.socket.RemoteHost=192.168.0.1
log4j.appender.socket.Port=8081
log4j.appender.socket.layout=org.apache.log4j.PatternLayout
log4j.appender.socket.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} [%p] %t %c{2}: %m%n
설정하고

받는 소켓은 FATAL로 했습니다.(저는 맵리듀스가 어덯게 돌아가고싶은지 보고싶어서요.) 안그러면 잡스러운것이 다 날라노더군요 .

그리고 이걸 받는 서버에서는

log4j.rootLogger=FATAL, stdout

#delete filewrite


#stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} [%p] %t %c{2}: %m%n


이렇게해서 socket_log.properties 라는 설정파일 하나 만들고요 위치는 상관없습니다.
 java -classpath ./log4j-1.2.17.jar org.apache.log4j.net.SimpleSocketServer 8081 socket_log.properties

실행할때는 log4j로 실행하여서 서버를 열고 맵리듀를 돌리면, 소켓으로 로그들이 날라오시는걸 볼수 있습니다.


그런데 아직 제가 이해가 안가는건 getsplit부분은 왜 로그가 안날라오는지 이해가 안가네요 . 제가 하둡구조를 잘못이해하는걸수도 있는데,,, 

혹시 하둡사용하시는 분들중에서 어떻게 하면 맵리듀스로그를 쉽게 볼수 있는지 공유해주신다면 감사하겠습니다.





저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

Underlying File System Options

If mount the disks as noatime, then the file access times aren't written back; this speeds up reads. There is also relatime, which stores some access time information, but is not as slow as the classic atime attribute. Remember that any access time information kept by Hadoop is independent of the atime attribute of individual blocks, so Hadoop does not care what your settings are here. If you are mounting disks purely for Hadoop, use noatime.

Formatting and tuning options are important. Using tunefs to set the reserve to zero percent can save you over 25 GigaBytes on a 1 TeraByte disk. Also the underlying file system is going to have many large files, you can get more space by lowering the number of inodes at format time.

Ext3

Yahoo! has publicly stated they use ext3. Regardless of the merits of the filesystem, that means that HDFS-on-ext3 has been publicly tested at a bigger scale than any other underlying filesystem that we know of.

XFS

From Bryan on the core-user list on 19 May 2009:

  • We use XFS for our data drives, and we've had somewhat mixed results. One of the biggest pros is that XFS has more free space than ext3, even with the reserved space settings turned all the way to 0. Another is that you can format a 1TB drive as XFS in about 0 seconds, versus minutes for ext3. This makes it really fast to kickstart our worker nodes. We have seen some weird stuff happen though when machines run out of memory, apparently because the XFS driver does something odd with kernel memory. When this happens, we end up having to do some fscking before we can get that node back online. As far as outright performance, I actually *did* do some tests of xfs vs ext3 performance on our cluster. If you just look at a single machine's local disk speed, you can write and read noticeably faster when using XFS instead of ext3. However, the reality is that this extra disk performance won't have much of an effect on your overall job completion performance, since you will find yourself network bottlenecked well in advance of even ext3's performance. The long and short of it is that we use XFS to speed up our new machine deployment, and that's it.

Ext4

The Ext4 Linux filesystem has delayed allocation of data which makes it handle unplanned server shutdowns/power outages less well than classic ext3. Consider turning off the delalloc option in /etc/fstab unless you trust your UPS.

http://wiki.apache.org/hadoop/DiskSetup
저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License




master node

$ vi /etc/sysconfig/iptables

 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9000 -j ACCEPT
 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT
 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 50010 -j ACCEPT
 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 50030 -j ACCEPT
 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 50040 -j ACCEPT
 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 50050 -j ACCEPT
 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 50060 -j ACCEPT
 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 50070 -j ACCEPT

$ /etc/init.d/iptables restart

slave node

$ vi /etc/sysconfig/iptables

 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 50010 -j ACCEPT
 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 50040 -j ACCEPT
 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 50050 -j ACCEPT
 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 50060 -j ACCEPT

$ /etc/init.d/iptables restart


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
11/11/23 22:45:05 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = server01/블라블라
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 0.20.203.0
STARTUP_MSG:   build = http://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20-security-203 -r 1099333; compiled by 'oom' on Wed May  4 07:57:50 PDT 2011
************************************************************/
11/11/23 22:45:06 INFO util.GSet: VM type       = 32-bit
11/11/23 22:45:06 INFO util.GSet: 2% max memory = 19.33375 MB
11/11/23 22:45:06 INFO util.GSet: capacity      = 2^22 = 4194304 entries
11/11/23 22:45:06 INFO util.GSet: recommended=4194304, actual=4194304
11/11/23 22:45:06 INFO namenode.FSNamesystem: fsOwner=hadoop
11/11/23 22:45:06 INFO namenode.FSNamesystem: supergroup=supergroup
11/11/23 22:45:06 INFO namenode.FSNamesystem: isPermissionEnabled=true
11/11/23 22:45:06 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100
11/11/23 22:45:06 INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s)
11/11/23 22:45:06 INFO namenode.NameNode: Caching file names occuring more than 10 times
11/11/23 22:45:06 ERROR namenode.NameNode: java.io.IOException: Cannot create directory /data/name/current
    at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.clearDirectory(Storage.java:297)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:1219)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:1238)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1038)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1145)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1162)

11/11/23 22:45:06 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at server01/블라블라
************************************************************/


구글 신께서는 정말 모르시는것이 없는걸까요?
solution : http://askubuntu.com/questions/35551/error-when-formatting-the-hadoop-filesystem

sudo ./hadoop namenode -format

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

young life
young life by lorenzo cuppini verducci 저작자 표시비영리변경 금지

RSA 인증으로 로그인하려는 경우는 여러 경우가 있지만

저의 경우에는 hadoop 에서 ./slave 사용하기 위해서 인데

RSA 인증으로 접속 알될때(설정 파일가지 설정했는데.)

그럴경우는 접속받을 컴퓨터의 .ssh 퍼미션을 700으로 변겨해주시면 됩니다

chmod 700 -R .ssh




저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
waipio
waipio by paul (dex) 저작자 표시

지금 수증기들을 모아서 구름을 만들어보고 있습니다..;;ㅋㅋㅋ
라기 보다는. 리눅스 x86그냥 평범한 컴퓨터들에 하둡을 올리고 있는데,
포트문제가 걸리네요

저는 기본적으로 SSH는 22번 포트 안쓰거든요.. 모든 리눅스에 fail2ban을 설치해논건 아니지만.. 자꾸 어느 분들이 root로 접속하려고해서

물론 답은 구글신께서 알려주시네용
http://markmail.org/message/snipfx7z47e5477b

Use the HADOOP_SSH_OPTS variable in your conf/hadoop-env.sh config file.



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
1

+ Recent posts

티스토리 툴바