Hadoop分布式部署

  1. 准备硬件环境

    此次用到三台计算机,三台计算机的系统都是Linux,并且以安装好JAVA。IP地址和角色为:

    namenode:192.168.0.1

    datanode:192.168.0.2

    datanode:192.168.0.3

    三台计算机之间能够正确解析彼此。因此需要修改/etc/hosts文件,主节点上需要将所有节点的IP地址以及相对应的主机名添加到文件中。作datanode的节点则只需将自己以及主节点的IP地址以及相对应的主机名添加到文件中即可。

  2. 安装Hadoop

    由于Hadoop要求所有机器上hadoop的部署目录结构要相同,并且都有一个相同的用户名的帐户。所以要在三台计算机上先创建好hadoop用户并且切换到hadoop用户。

    选择将hadoop解压在hadoop用户的家目录中。为了方便以后hadoop版本更新,可以创建一个软链接:ln -s hadoop-版本 hadoop

  3. 建立ssh

    hadoop的主节点是通过ssh来控制其他节点的进程的,则需要两台计算机之间不需要输入密码,所以要公钥私钥的方式来认证。

    首先要确保每台计算机上都有ssh服务并且正常启动。然后在主节点生成一对密钥,再将公钥发给其他的节点。为了方便管理文件,可在hadoop用户家目录中生成新的文件来保存公钥私钥。紧接着将所有的公钥文件的权限修改:chmod 644 authorized_keys,确保其他人不可有写权限。最后需要对三台计算机上的sshd服务进行配置,修改文件/etc/ssh/sshd_config。修改如下:

    PasswordAuthentication no

    AuthorizedKeysFile /home/hadoop/.ssh/authorized_keys

    配置完成后可ssh连接看是否是不是不用输入密码就可连接(若两台主机第一次连接则需要输入yes)

  4. hadoop环境变量

    在/home/hadoop/hadoop/conf配置文件目录中找到hadoop-env.sh,设置JAVA_HOME变量

  5. hadoop配置文件

    这conf中找到slaves文件,此文件是指定datanode的,一行指定一个主机名。master文件是用来指定namenode的,则将主节点的主机名填入即可。

    在安装目录中找到core-site.xml、hdfs-site.xml以及mapred-site.xml并进行修改。

    core-site.xml:

    <property>

    <name>hadoop.tmp.dir</name>

    <value>/home/hadoop/hadoop/tmp</value>

    </property>

    <property>

    <name>fs.defaultFS</name>

    <value>hdfs://(master IP):9000</value>

    </property>

    mapred-site.xml:
    <property>

    <name>mapreduce.jobtracker.address</name>

    <value>(master IP):9001</value>

    <description>NameNode</description>

    </property>

    hdfs-site.xml不需要修改

  6. 部署hadoop

    将配置好的文件传给其他节点,保证目录结构一致

  7. 启动hadoop

    启动之前要先格式化namenode,进入/home/hadoop/hadoop下执行:bin/hadoop namenode -format

    bin/下有许多启动脚本,根据需要来使用:

    start-all.sh  启动所有守护

    start-mapred.sh  启动map/reduce守护。Jobtracker和Tasktracker

    start-dfs.sh  启动hadoop DFS守护。Namenode和Datanode

    有启动脚本也自然都相对应的停止脚本

  8. hadoop在线添加节点

    在slaves文件添加新节点的IP或者主机名,然后新节点上启动服务并执行start-balance.sh

  9. hadoop在线删除节点

    在master上修改mapred-site.xml:

    <property>

    <name>dfs.hosts.exclude</name>

    <value>/home/hadoop/hadoop/conf/datanode-excludes</value>

    </property>

    然后创建datanode-excludes文件,并添加要删除的主机,一行一个。接着执行:bin/hadoop dfsadmin -refreshNodes进行节点刷新,此操作后会进行后台迁移数据,等删除节点的状态为Decommissioned即可安全关闭。

  10. datanode白名单

    http://www.tuicool.com/articles/zINvYbf

时间: 2024-10-02 09:06:22

Hadoop分布式部署的相关文章

CentOS7 下 Hadoop 分布式部署

Hadoop 服务划分 使用三台节点,集群部署规划如下 服务\主机 hadoop1 hadoop2 hadoop3 HDFS NameNode DataNode DataNode SecondaryNameNode DataNode YARN NodeManager ResourceManager NodeManager NodeManager IP地址规划 hadoop1 192.168.123.11 hadoop2 192.168.123.12 hadoop3 192.168.123.13

【Hadoop 分布式部署 四:配置Hadoop 2.x 中主节点(NN和RM)到从节点的SSH无密码登录】

*******************                一定要使这三台机器的用户名相同,安装目录相同          ************* SSH 无密钥登录的简单介绍(之前再搭建本地伪分布式的时候,就生成了,现在这三台机器的公钥私钥都是一样的,所以下面这个不用配置) 单机操作: 生成密钥:命令  ssh-keygen -t rsa   然后四个回车 将密钥复制给本机  :命令   ssh-copy-id hadoop-senior.zuoyan.com 正式操作开始 在主

配置SSH无密码登陆(为Hadoop分布式部署准备)

SSH 无密 码原理简介 :首先在 hadoop1 上生成一个密 钥对,包括一个公钥和一个私钥,并将公钥复制到所有的 slave(hadoop2-hadoop4) 上.然后当 master 通 过 SSH 连接 slave 时, slave 就会生成一个随机数并用 master 的公 钥对随机数进行加密,并发送给 master .最后 master 收到加密数之后再用私 钥解密,并将解密数回传给 slave , slave 确 认解密数无误之后就允许 master 不 输入密码进行连接了 2 ,

【Hadoop 分布式部署 五:分布式部署之分发、基本测试及监控】

1.对  hadoop 进行格式化 到  /opt/app/hadoop-2.5.0  目录下 执行命令:    bin/hdfs namenode -format 执行的效果图如下  (  下图成功   格式化     不要没事格式化  )          2.启动dfs 执行命令(在  /opt/app/hadoop-2.5.0/目录下):    sbin/start-dfs.sh 执行之后的效果就如下图 (可以看到  3个DataNode已经启动起来了,NameNode  和 secon

【Hadoop 分布式部署 九:分布式协作框架Zookeeper架构 分布式安装部署 】

1.首先将运行在本地上的  zookeeper 给停止掉 2.到/opt/softwares 目录下  将  zookeeper解压到  /opt/app 目录下 命令:  tar -zxvf zookeeper-3.4.5.tar.gz -C /opt/app/ 3.修改配置文件 将文件   zoo_sample.cfg   重命名为   zoo.cfg 创建文件目录    mkdir -p data/zkData       完整的路径:/opt/app/zookeeper-3.4.5/da

windows下hadoop的集群分布式部署

下面我们进行说明一下hadoop集群的搭建配置. 本文假设读者具有hadoop单机配置的基础,相同的部分不在重述. 以三台测试机为例搭建一个小集群,三台机器的ip分别为 192.168.200.1;192.168.200.2;192.168.200.3 cygwin,jdk的安装同windows下hadoop的单机伪分布式部署(1),这里略过. 1.配置 hosts 在三台机子的hosts文件中加入如下记录: 192.168.200.1 hadoop1  #master namenode 192

windows下hadoop的单机伪分布式部署(3)

下面介绍myeclipse与hadoop的集成. 我用的myeclipse版本是8.5. 1.安装hadoop开发插件 在hadoop1.2.1版本的安装包contrib/目录下,已经不再提供hadoop-eclipse-pligin-1.2.1.jar; 而是提供了源代码文件,需要我们自行重新编译成jar包文件:这里方便,大家可以从这里下载: hadoop-eclipse-plugin-1.2.1.jar.pdf 由于博客上传文件的类型限制,故添加了pdf后缀,下载之后重命名,去掉".pdf&

windows下hadoop的单机伪分布式部署(1)

hadoop的运行环境应该是在linux环境.如果想在windows环境下安装和运行hadoop,一般有两种方式:一种是VM的方式linux操作系统,这样可以实现全linux环境的hadoop运行:另一种方式安装cygwin模拟linux环境,该方法相对比较简单方便. 本文采取cywin的方式.下面将介绍下cygwin的安装与配置: (1)cygwin的安装 下载cygwin安装文件:http://cygwin.com; 我用的是64位版:操作系统为win7: 下载的setup文件实际上只是一个

windows下hadoop的单机伪分布式部署(2)

下面开始hadoop的安装与配置: (1)安装jdk 我安装的是JDK1.7.0_40,windows x64版的 下载完之后,直接点击安装, 我的安装路径为默认路径:C:\Program Files\Java\jdk1.7.0_40: 安装完毕后,设置环境变量: JAVA_HOME指向JDk安装目录 PATH指向JDK的bin目录 设置完成之后,在cmd中 输入java命令,如果出现一下画面,即为安装成功: (2)安装hadoop 下载hadoop,http://hadoop.apache.o