Hadoop 详细配置步骤

2019-03-28 14:19|来源: 网络

Hadoop 有三种分布模式,Standalone-distributemode, Pseudo-distribute mode, Full-distribute.

前期准备工作:

背景:

Fedora 15

两台计算机。johnny(10.63.0.230),cloud(10.63.0.17)。johnny作为Namenode和JobTracker。cloud作为DataNode和TaskTracker。

1、安装jdk,配置环境变量

2、安装Hadoop,配置环境变量

3、Hadoop要求集群计算机上用户名必须一致,所以现在cloud机上建立一个名为johnny的用户。

For hadoop, the accounts should have the same username on all ofthe nodes

但是节点计算机(cloud)无需使用johnny登陆。具体请参考Hadoopin Action第二章。

4、配置SSH(伪分布、全分布需要,单机分布不需要)

(更多关于SSH请看:http://www.linuxidc.com/Linux/2011-11/47238.htm

先对johnny机做如下操作:

修改/etc/hosts 文件

这个文件告诉本主机哪些域名对应那些ip,那些主机名对应哪些

一般情况下hosts文件的每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。
第一部份:网络IP地址;第二部份:主机名或域名;第三部份:主机名别名;

(更多关于/etc/hosts文件请看 http://www.linuxidc.com/Linux/2011-11/47239.htm

向此文件中加入:

10.63.0.230 johnny johnny

10.63.0.17 cloud cloud

试一试能否ping通。

$ ping cloud

开启sshd:

#service sshd start

开启ssh-agent

$ ssh-agent

将私钥加入到agent

$ ssh-add ~/.ssh/id_sra

(可能需要关闭防火墙 #serviceiptables stop,或者开启22端口)

生成公钥:

$ ssh-keygen -t -rsa

一路回车敲到底,不要输入密码,否则无法实现免密码登陆。

生成的公钥将储存在~/.ssh/下。有两个文件id_rsa.pub(公钥),id_rsa(私钥)。

将公钥发送给cloud机以便能与其相连:

$ ssh-copy-id johnny@cloud

代码含义:将自己的公钥拷贝给cloud(10.63.0.17)上的johnny用户。(此公钥内容将写入cloud上johnny用户的~/.ssh/authorized_keys中)

在此期间会要求输入johnny@cloud'spassword,johnny用户在cloud这台机器上的密码。

(这是一种比较快速的拷贝公钥的方法,另一种方法请看http://www.linuxidc.com/Linux/2011-11/47238.htm)

试一试能否与其建立链接sshjohnny@cloud

断开链接请使用命令:

$ logout

(伪分布是一台计算机既当NameNode又当DataNode,既当JobTracker又当TaskTracker,所以伪分布要求自己能够ssh连接自己,所以需要将公钥拷贝给自己,$ssh-copy-idjohnny@localhost,可以试验一下是否可以登陆自己sshjohnny@localhost,记得logout)

现在可以给 johnny@cloud传送文件了。使用scp命令(具体使用见下文)。这样等配置完主机的信息后,可以将整个hadoop、jdk目录传送给节点计算机(见下文)。

单机分布模式

无需配置,安装好Hadoop后默认为单机分布模式

相关问答

更多
  • 同样建议不要用cygwin,总会出现各种意想不到的错误。 非要在windows上做,就在虚拟机上做(vmware workstation),安装教程网上各种。
  • java是执行文件,不是目录 java path默认是java_home/bin/目录 这个目录底下应该 java和javac等文件
  • hadoop配置[2022-10-16]

    不是你的环境变量的问题。不知道楼主有没有看Hadoop官网上的介绍。Hadoop所使用的jdk需要修改 conf/hadoop-env.sh 文件,在其中设置 JAVA_HOME 环境变量: export JAVA_HOME="C:\Program Files\Java\jdk1.5.0_01” (因为路径中 Program Files 中间有空格,一定要用双引号将路径引起来) 这里必须是修改Hadoop的conf/hadoop-env.sh 文件,和机器的环境变量没有关系。 有中文文档的。在Hadoop目 ...
  • 现在hadoop1.0都出了 简单说一下吧 你的java jdk的环境变量没有设置吧? 最好按以下步骤再做一遍: 1 用root用户安装jdk1.6以上 2 用root用户 创建hadoop用户 3 在hadoop用户下安装hadoop(你上面说的1到4) 4 修改/home/hadoop/.bash_profile将JDK和hadoop的环境变量设置好 5 安装ssh(伪集群也需要ssh)
  • export PATH=$PATH:$HADOOPHOME/bin $HADOOPHOME就是你的hadoop安装目录。这个是只作用于一次session的。要是永久的话就把这句话加到/etc/profile目录下。
  • 方法步骤如下: 1在Windows下安装虚拟机Vmware,并新建一个虚拟机装好centos系统。 首先下载VMware-workstation并安装,在Vmware的主页上新建一个虚拟机,一路下一步,直到让选择系统镜像路径,这里选择centos系统映像,然后,需要输入linux的用户名,这个比较重要,最好填写hadoop,因为这个名字在后面要用到好多次。 接下来还是一路的“下一步”,直到让设置虚拟机的内存大小,建议为1024M。后面就是要选择和虚拟机的网络类型有关的设置了,建议为“使用网络地址转换NAT” ...
  • 我的eclipse是装在WINDOWS下的,HADOOP在CENTOS生产环境。 但原理是一样额 http://club.sm160.com/showtopic-937269.aspx HADOOP 版本是hadoop1.0.0(和你的hadoop1.0.4配置相同)
  • 这可能发生在作业仅检测到本地文件系统的情况下,它使用LocalFileSystem API与本地文件系统中的文件进行交互。 请参考以下链接, 使用MiniDFSCluster单元测试hadoop hdfs着作 这是我们在开发环境中开发的mapreduce / hdfs代码的单元测试选项之一。虽然在hadoop clsuter中部署相同的代码,但输入文件将在HDFS位置。 This probably happens in the scenario where the job only detects the ...
  • 目前尚不清楚您使用的是什么Python库,但假设您使用PySpark,您可以在客户端机器上复制或配置HADOOP_CONF_DIR ,并且可以与任何外部Hadoop系统进行通信。 至少,您需要配置core-site.xml以与HDFS和hive-site.xml进行通信以与Hive进行通信。 如果您使用的是PyHive库 ,则只需连接到user@hiveserver2:1000 It's not clear what Python library you are using, but assuming Py ...
  • 如果你正在使用cloudera发行版,那么它很可能在/usr/lib/hadoop ,否则它可能在任何地方(由你的系统管理员决定)。 您可以使用一些技巧来尝试找到它: locate hadoop-env.sh (假设已经安装了locate并且最近已经运行了updatedb) 如果你运行它的机器正在运行hadoop服务(例如数据节点,作业跟踪器,任务跟踪器,名称节点),那么你可以执行一个进程列表和grep for hadoop命令: ps axww | grep hadoop ps axww | grep h ...