목차
1. Kerberos安装
2. CDH5.0.2.tar.gz安装
2.1 下载相关tar包
2.2 YARN模式改成MRv1模式
2.3 配置HDFS
2.4 配置mapreduce
3. 总结
데이터 베이스 MySQL 튜토리얼 hadoop1.0 安全认证(kerberos)安装与总结

hadoop1.0 安全认证(kerberos)安装与总结

Jun 07, 2016 pm 04:41 PM
kerberos 보안인증 설치하다 요약

俗话说得好,万事开头难。在软件开发中,环境部署要算是第一门槛了。我最近折腾了一周时间把cdh5.0.2.tar.gz版本在MRv1模式下,成功集成了Kerberos安全认证,并且是在全分布式模式下。经过这次安装过程,对hadoop的了解又深入了一层。现在趁着自己刚搭建完环

俗话说得好,万事开头难。在软件开发中,环境部署要算是第一门槛了。我最近折腾了一周时间把cdh5.0.2.tar.gz版本在MRv1模式下,成功集成了Kerberos安全认证,并且是在全分布式模式下。经过这次安装过程,对hadoop的了解又深入了一层。现在趁着自己刚搭建完环境,脑子还时不时的闪现遇到的错误,把我的安装过程记录于此,一方面方便自己今后查阅,另一方面希望对今后遇到同样问题人有所启发。

首先说下为什么要用tarball安装,cdh提供了一种manager方式进行安装,对Debian系列提供apt-get,对Redhat系列提供yum安装,但是这些安装方式把一些细节都替我们做了,如果我们今后希望遇到出现什么情况,不方便调试。另外,作为一个爱折腾的人,tar.gz也是我按照软件的首选。

先说下我的搭建环境,4台Centos6.5服务器,一台做master,运行namenode、jobtracker;另外三台运行datanode、tasktracker。此外master机器上还运行Kerberos服务器。JDK的版本是1.7.60。关于5.0.2版本的环境要求可以参考http://www.cloudera.com/content/support/en/downloads/cdh/cdh-5-0-2.html#SystemRequirements。

这篇文章主要是我在参照cloudera官网的教程时遇到的坑。大家可以先去看看这个教程,再来看我的文章。

cdh5.0.2这里不再使用hadoop用户,取而代之的是mapred用户与hdfs用户,这里需要分别为它们生产ssh的公钥与秘钥,并且配置免密码登录(当然你可以为其中一个生产,然后直接copy过去)。

1. Kerberos安装

首先,Kerberos的原理、安装什么大家自己去维基百科去查,具体命令像kinit、kadmin怎么用也是大家自己查,以后有时间我会单独抽时间讲讲Kerberos。
大家现在可以按照这个文章来进行操作:Kerberos deploy guide。

后面需要为集群中每个节点的mapred与hdfs用户生成各自的principal与keytab,所以这里大家一定要熟悉kerberos的命令,把这些东西做成脚本,要不能烦死你。

2. CDH5.0.2.tar.gz安装

2.1 下载相关tar包

首先在这里http://archive.cloudera.com/cdh5/cdh/5/下载5.0.2的hadoop的tar包hadoop-2.3.0-cdh5.0.2.tar.gz,除了这个外,为了集成Kerberos,还需要下载bigtop-jsvc-1.0.10-cdh5.0.2.tar.gz。

2.2 YARN模式改成MRv1模式

这里需要讲一点是,5.0.2 tarball版本模式是YARN模式,我这里搭建的是MRv1(也就是普通的MapReduce)模式,所以需要对tar包解压出的文件做一些修改。

把hadoop-2.3.0-cdh5.0.2.tar.gz解压,假设你解压到了/opt目录下,把hadoop-2.3.0-cdh5.0.2直接重命名为hadoop(现在你的cdh根目录是/opt/hadoop),下面进行我们的修改工作:

  1. 把bin-mapreduce1的所以文件拷贝到bin下,对于相同的文件,直接覆盖即可。
  2. 在/opt/hadoop/share/hadoop文件夹下有如下的文件结构
    share/hadoop目录结构

把其中的mapreduce这个软链接文件删除,然后创建一个同名的软链接指向mapreduce1

cd /opt/hadoop/share/hadoop/
rm mapreduce -rf
ln -s mapreduce1 mapreduce
로그인 후 복사

经过上面这两步后,就默认启用了MRv1模式了,大家可以先把不带Kerberos安全认证的全分布式搭建起来,等到不带Kerberos安全认证的全分布式搭建起来后(可参考Hadoop全分布式搭建),再进行下面的操作。

2.3 配置HDFS

下面大家就可以按照官网的教程进行操作,下面说下我遇到的坑:

  • 在STEP 2中,必须参照MRv1 cluster deploy,在hdfs中创建/tmp,与mapred.system.dir制定的目录,并且修改为相应的权限。
  • 在STEP 7中,最后的dfs.http.policy这个property不用配置,否则在后面启动namnode是会报.keystore文件找不到的异常。
  • STEP 8、9、10可选,配不配都行
  • 在STEP 11中,需要配置JSVC_HOME这个属性,这里把我们一开始下载的bigtop-jsvc-1.0.10-cdh5.0.2.tar.gz解压后,放到它制定的位置上即可。
  • 在STEP 12、13,启动datanode、namenode时,用sbin下的命令
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemons.sh start datanode
로그인 후 복사

这两条命令都是用root用户执行。

在这过程中,如果遇到什么logs文件夹不能写入,将其权限改为777即可。

2.4 配置mapreduce

配置mapreduce接着参考官方的教程,下面继续说我遇到的坑:

  • 首先是taskcontroller.cfg文件问题,hadoop会在/../../conf/下去找这个文件,所以我们需要在/opt/hadoop下面(也就是我们解压后的根目录下),创建一个conf文件,然后在按照官方说的配置就行了,官方教程中有一条
banned.users=mapred,hdfs,bin
로그인 후 복사

这里这样配置后,后面运行wordcount会报异常,这里可直接将其值配置为bin即可

  • 然后就是task-controller这个文件的权限问题了,一定要用下面命令进行修改
chown root:mapred task-controller
chmod 4754 task-controller
로그인 후 복사

其解释也在官网上有。

  • 当这一切都配置好后,启动jobtracker与tasktracker还是有错,这个错误是
2014-07-15 18:15:25,722 ERROR org.apache.hadoop.mapred.TaskTracker: Can not start task tracker because java.io.IOException: Secure IO is necessary to run a secure task tracker.
        at org.apache.hadoop.mapred.TaskTracker.checkSecurityRequirements(TaskTracker.java:943)
        at org.apache.hadoop.mapred.TaskTracker.initialize(TaskTracker.java:976)
        at org.apache.hadoop.mapred.TaskTracker.<init>(TaskTracker.java:1780)
        at org.apache.hadoop.mapred.TaskTracker.main(TaskTracker.java:4124)
</init>
로그인 후 복사

这个错误是因为缺少native包所致,这个包应该是在/opt/hadoop/lib/native/,很遗憾,这些东西需要我们自己编译,因为每个版本都不一样,我把apache hadoop的native直接copy过去也不行。这里我偷了个懒,直接从同事那里copy过来了。以后会说说如何从源码编译。下面说说如何编译。
cdh的源码都放在src文件夹下,安装好maven后直接到这个文件夹下编译就可以,我这里使用的是centos6.5编译的,遇到的问题主要有:

1. maven repository经常连接不上,需要多次重复操作。以后最好做一个本地repo
2. centos上需要自己安装一些依赖,否则回报各种错误,可以用下面这条命令 
   yum install -y glibc-headers gcc-c++ zlib-devel openssl-devel 
3. 一些test通过不了,需要跳过,用下面这条命令进行编译
   mvn package -Pdist,native -DskipTests
로그인 후 복사

好了,如果在编译过程中还是遇到什么依赖缺失,直接去google下就ok了。

  • 在用root启动jobtracker与tasktracker命令行会有错误信息,提示我们不能直接用root启动这两个进程,在haooop-env.sh配置下面的信息就好了
export HADOOP_JOBTRACKER_USER=mapred
export HADOOP_TASKTRACKER_USER=mapred
로그인 후 복사

启动的命令是

sbin/hadoop-daemon.sh start jobtracker
sbin/hadoop-daemons.sh start tasktracker
로그인 후 복사

也有由root启动。

3. 总结

这次搭建过程前前后后用了一个星期,麻烦是一回事,各种权限问题,最主要是还是我对hadoop的基本组成不够了解,hadoop的各个部分都是分开的,在share/hadoop目录下的每个文件夹都对应与一个功能,我一开始就想着把他们都放一起,导致不同模块的配置文件重复并产生冲突,最后导致进程起不来,今后还是要加强对基本概念的理解。其次是遇到错误多看看日志文件,很多错误能够直接根据错误信息就能够改正。

还有需要吐槽的就是不能完全按部就班的照着教程来操作,应该先看看像faq这些信息,做到有个整体上的把握,不至于拆了东墙补西墙,到最后也没能完全解决问题。

下面进行HA的环境搭建,这次一定要提高效率了!!!

俗话说得好,万事开头难。在软件开发中,环境部署要算是第一门槛了。我最近折腾了一周时间把cdh5.0.2.tar.gz版本在MRv1模式下,成功集成了Kerberos安全认证,并且是在全分布式模式下。经过这次安装过程,对hadoop的了解又深入了一层。现在趁着自己刚搭建完环境,脑子还时不时的闪现遇到的错误,把我的安装过程记录于此,一方面方便自己今后查阅,另一方面希望对今后遇到同样问题人有所启发。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Win11 시스템에서 중국어 언어 팩을 설치할 수 없는 문제에 대한 해결 방법 Win11 시스템에서 중국어 언어 팩을 설치할 수 없는 문제에 대한 해결 방법 Mar 09, 2024 am 09:48 AM

Win11 시스템에서 중국어 언어 팩을 설치할 수 없는 문제 해결 Windows 11 시스템이 출시되면서 많은 사용자들이 새로운 기능과 인터페이스를 경험하기 위해 운영 체제를 업그레이드하기 시작했습니다. 그러나 일부 사용자는 업그레이드 후 중국어 언어 팩을 설치할 수 없어 경험에 문제가 있다는 사실을 발견했습니다. 이 기사에서는 Win11 시스템이 중국어 언어 팩을 설치할 수 없는 이유에 대해 논의하고 사용자가 이 문제를 해결하는 데 도움이 되는 몇 가지 솔루션을 제공합니다. 원인 분석 먼저 Win11 시스템의 무능력을 분석해 보겠습니다.

VirtualBox에 게스트 추가 기능을 설치할 수 없습니다 VirtualBox에 게스트 추가 기능을 설치할 수 없습니다 Mar 10, 2024 am 09:34 AM

OracleVirtualBox의 가상 머신에 게스트 추가 기능을 설치하지 못할 수도 있습니다. Devices>InstallGuestAdditionsCDImage를 클릭하면 아래와 같이 오류가 발생합니다. VirtualBox - 오류: 가상 디스크를 삽입할 수 없습니다. C: 우분투 시스템에 FilesOracleVirtualBoxVBoxGuestAdditions.iso 프로그래밍 이 게시물에서는 어떤 일이 발생하는지 이해합니다. VirtualBox에 게스트 추가 기능을 설치할 수 없습니다. VirtualBox에 게스트 추가 기능을 설치할 수 없습니다. Virtua에 설치할 수 없는 경우

Baidu Netdisk를 성공적으로 다운로드했지만 설치할 수 없는 경우 어떻게 해야 합니까? Baidu Netdisk를 성공적으로 다운로드했지만 설치할 수 없는 경우 어떻게 해야 합니까? Mar 13, 2024 pm 10:22 PM

바이두 넷디스크 설치 파일을 성공적으로 다운로드 받았으나 정상적으로 설치가 되지 않는 경우, 소프트웨어 파일의 무결성에 문제가 있거나, 잔여 파일 및 레지스트리 항목에 문제가 있을 수 있으므로, 본 사이트에서 사용자들이 주의깊게 확인해 보도록 하겠습니다. Baidu Netdisk가 성공적으로 다운로드되었으나 설치가 되지 않는 문제에 대한 분석입니다. 바이두 넷디스크 다운로드에 성공했지만 설치가 되지 않는 문제 분석 1. 설치 파일의 무결성 확인: 다운로드한 설치 파일이 완전하고 손상되지 않았는지 확인하세요. 다시 다운로드하거나 신뢰할 수 있는 다른 소스에서 설치 파일을 다운로드해 보세요. 2. 바이러스 백신 소프트웨어 및 방화벽 끄기: 일부 바이러스 백신 소프트웨어 또는 방화벽 프로그램은 설치 프로그램이 제대로 실행되지 않도록 할 수 있습니다. 바이러스 백신 소프트웨어와 방화벽을 비활성화하거나 종료한 후 설치를 다시 실행해 보세요.

Linux에 Android 앱을 설치하는 방법은 무엇입니까? Linux에 Android 앱을 설치하는 방법은 무엇입니까? Mar 19, 2024 am 11:15 AM

Linux에 Android 애플리케이션을 설치하는 것은 항상 많은 사용자의 관심사였습니다. 특히 Android 애플리케이션을 사용하려는 Linux 사용자의 경우 Linux 시스템에 Android 애플리케이션을 설치하는 방법을 익히는 것이 매우 중요합니다. Linux에서 직접 Android 애플리케이션을 실행하는 것은 Android 플랫폼에서만큼 간단하지는 않지만 에뮬레이터나 타사 도구를 사용하면 여전히 Linux에서 Android 애플리케이션을 즐겁게 즐길 수 있습니다. 다음은 Linux 시스템에 Android 애플리케이션을 설치하는 방법을 소개합니다.

Ubuntu 24.04에서 Ubuntu Notes 앱을 설치하고 실행하는 방법 Ubuntu 24.04에서 Ubuntu Notes 앱을 설치하고 실행하는 방법 Mar 22, 2024 pm 04:40 PM

고등학교에서 공부하는 동안 일부 학생들은 매우 명확하고 정확한 필기를 하며, 같은 수업을 받는 다른 학생들보다 더 많은 필기를 합니다. 어떤 사람들에게는 노트 필기가 취미인 반면, 어떤 사람들에게는 중요한 것에 대한 작은 정보를 쉽게 잊어버릴 때 필수입니다. Microsoft의 NTFS 응용 프로그램은 정규 강의 외에 중요한 메모를 저장하려는 학생들에게 특히 유용합니다. 이 기사에서는 Ubuntu24에 Ubuntu 애플리케이션을 설치하는 방법을 설명합니다. Ubuntu 시스템 업데이트 Ubuntu 설치 프로그램을 설치하기 전에 Ubuntu24에서 새로 구성된 시스템이 업데이트되었는지 확인해야 합니다. 우분투 시스템에서 가장 유명한 "a"를 사용할 수 있습니다

Ubuntu 24.04에 Podman을 설치하는 방법 Ubuntu 24.04에 Podman을 설치하는 방법 Mar 22, 2024 am 11:26 AM

Docker를 사용해 본 적이 있다면 데몬, 컨테이너 및 해당 기능을 이해해야 합니다. 데몬은 컨테이너가 시스템에서 이미 사용 중일 때 백그라운드에서 실행되는 서비스입니다. Podman은 Docker와 같은 데몬에 의존하지 않고 컨테이너를 관리하고 생성하기 위한 무료 관리 도구입니다. 따라서 장기적인 백엔드 서비스 없이도 컨테이너를 관리할 수 있는 장점이 있습니다. 또한 Podman을 사용하려면 루트 수준 권한이 필요하지 않습니다. 이 가이드에서는 Ubuntu24에 Podman을 설치하는 방법을 자세히 설명합니다. 시스템을 업데이트하려면 먼저 시스템을 업데이트하고 Ubuntu24의 터미널 셸을 열어야 합니다. 설치 및 업그레이드 프로세스 중에 명령줄을 사용해야 합니다. 간단한

creo-creo 설치 튜토리얼 설치 방법 creo-creo 설치 튜토리얼 설치 방법 Mar 04, 2024 pm 10:30 PM

많은 초보 친구들은 아직 creo 설치 방법을 모르므로 아래 편집기에서 creo 설치에 대한 관련 튜토리얼을 가져오면 도움이 될 것입니다. 1. 다운로드한 설치 패키지를 열고 아래 그림과 같이 License 폴더를 찾습니다. 2. 그런 다음 아래 그림과 같이 C 드라이브의 디렉터리에 복사합니다. 3. 두 번 클릭하여 입력하고 라이센스가 있는지 확인합니다. 아래 그림과 같이 라이센스 파일이 있습니다. 그림과 같습니다. 4. 그런 다음 아래 그림과 같이 이 파일에 라이센스 파일을 복사합니다. 5. C 드라이브의 PROGRAMFILES 파일에 새 PLC 폴더를 생성합니다. 6. 라이센스 파일도 복사합니다. 아래 그림과 같이 클릭합니다. 7. 메인 프로그램의 설치 파일을 더블클릭합니다. 설치하려면 새 소프트웨어를 설치하는 확인란을 선택하세요.

solidworks2018 설치 방법-solidworks2018 설치 튜토리얼 solidworks2018 설치 방법-solidworks2018 설치 튜토리얼 Mar 04, 2024 pm 09:00 PM

많은 사용자가 방금 solidworks2018 소프트웨어를 다운로드했지만 여전히 solidworks2018 설치 방법을 모르십니까? 다음으로, 관심 있는 사용자는 아래에서 solidworks2018 설치 튜토리얼을 확인할 수 있습니다. 1. 다운로드한 소프트웨어를 연 다음 _SolidSQUAD_ 폴더를 찾고 내부에서 SolidWorks.2017-2018.Activator.SSQ 파일을 찾아 두 번 클릭하여 열면 다음 인터페이스가 나타납니다. 첫 번째 항목을 차례로 클릭합니다. , 오른쪽 아이콘 항목, 마지막으로 아래 동의 버튼을 클릭하면 다음과 같은 팝업 창이 나타납니다. YES를 클릭하고 대화 상자에서 확인을 클릭하면 팝업 창이 계속됩니다. 2. 그런 다음 클릭합니다.

See all articles