Hadoop-2.4.1集群搭建步骤

来源:互联网 发布:echart json 地图 编辑:程序博客网 时间:2024/06/06 09:18

首先说明,博主以前也没学过Hadoop,更别提Linux。只不过买了点资料,觉得不看也是浪费,索性找了时间学习了一下,别说,还真是吸引人。

言归正传,博主机器:笔记本 Y50-70 美版的

搭建环境:VM11(VMware Workstation 11),使用的是CenOS 6.5 64位

所需软件:SecureCRT


1.先在VM上安装Linux虚

1.1 打开文件----新建虚拟机-----自定义(高级)-----按下一步,然后选择稍后安装系统



1.2  选择机器配置

1.3 选择网络类型,使用仅主机模式,因为这样可以使用静态IP,以免造成IP变动引起的无法解析hosts文件映射问题


1.4 选择磁盘容量大小后,按下一步完成,然后该虚拟机,在CD/DVD光驱中加载你的CentOS6.5镜像文件



1.6 启动VM虚拟机,进行Linux安装,进入安装页面后会出现Media Test 此时选择SKIP 直接进行安装,然后一直按下一步,出现如下显示信息,选择Yes,discard any data,下面的hostname你按自己喜欢的来设定,其余的时间地点什么的你自己选,root密码自己设定(别忘记就行),wirte changes to disks.

以上安装完成,然后克隆这个虚拟机,克隆两个。

2.进入虚拟机,进行IP设置以及文件修改。另外两台虚拟机也照这样修改,不过IP地址你自己设定,不要一样就行

2.1 进行IP设置等

2.2 修改eth0配置文件 ,将onboot=no改为yes即可,



2.3 建立hadoop运行账户

即为hadoop集群专门设置一个用户组及用户,这部分比较简单,参考示例如下:

sudo groupadd hadoop    //设置hadoop用户组

sudo useradd –s  /bin/bash  –d  /home/ding  –m  ding  –g  hadoop –G root   //添加一个ding用户,此用户属于hadoop用户组,且具有root权限。

sudo passwd ding   //设置用户ding登录密码

su ding   //切换到ding用户中

不过这些操作你也可以在图形界面完成

   system----Administration-----Users and Groups


2.4 修改host文件 三台hosts文件都一样


        关闭防火墙
        #查看防火墙状态
        service iptables status
        #关闭防火墙
        service iptables stop
        #查看防火墙开机启动状态
        chkconfig iptables --list
        #关闭防火墙开机启动
        chkconfig iptables off

克隆完的每台虚拟机需要修改下主机名:

vi /etc/sysconfig/network 

hostname=XXXX 即是你的主机名


命令:vi /etc/hosts        (PS:我换了另外一台虚拟机 所以IP地址跟上面有所区别 不过意思不变)

我的三台主机名:


2.5 为了操作便捷,转战SecureCRT这个软件

hostname填入你的IP地址,username填入你的hadoop用户组里面的,例如:hostname:192.168.0.120 username :ding

其余两个虚拟机连接也这么干

3.配置SSH无密码登录

PS:每个机器的hosts文件都要设置好,且要一样的啊

3.1 产生密钥

在secureCRT键入 cd .ssh 命令 进入.ssh隐藏文件夹 (隐藏文件夹 使用 ll -a 才会显示出来)

键入命令 ssh-keygen -t rsa

其余2个虚拟机也进行如此步骤

3.2 将master的公钥复制给node01和node02,这里说下ssh无密码登录的原理:



也就是说A想要无密码登录B,必须要将自己的公钥发给B,B将其加入到授权列表才行

在node01、node02主机上将master主机上的公钥复制过来

例如在node01上将master上的公钥复制到node01上来,此操作是在node01主机上完成

命令:scp ding@master:~/.ssh/id_rsa.pub ./master_rsa.pub        //此命令是将master主机上,文件夹.ssh下的id_rsa.pub文件复制到node01上的根目录下,且命名为master_rsa.pub

在node02上也进行如此操作,然后进行测试:

在master主机上键入命令:ssh node01 ,如果没有问题只需要输入yes即可

3.2.1 对自己进行无密码登录 ssh master 操作同上 在.ssh文件目录下输入命令 cat id_rsa.pub >> authorized_keys 即可完成

4.下载安装JDK,HADOOP,配置环境变量

4.1 下载JDK,并且安装

tar -zxvf jdk-7u79-linux-x64.tar.gz -C /usr/lib/jvm      //我是将jdk安装到/usr/liv/jvm中的,此时使用的权限是root(切换root用户命令su,抱歉我没有操作sudoer这个文件,所以没法使用sudo这个命令)

4.2 下载hadoop jar包

tar -zxvf hadoop-2.4.1tar.gz -C  /home/ding/hadoop      //需要在你的目录下先创建文件夹 hadoop (mkdir hadoop)

4.2 配置环境变量

命令:vi /etc/profile

保存后,source /etc/profile 让配置文件生效,其余node01,node02也需要进行如此操作,当然,前提是你的用户名与jdk安装目录,hadoop安装目录都是一样的

4.3 配置hadoop文件

配置文件都在 /hadoop-2.4.1/etc/hadoop目录下面

4.3.1 配置core-site.xml文件

4.3.2 配置hdfs-site.xml

4.3.3 配置 mapred-site.xml文件

首先发现没有这个文件,而是有一个名为 mapred-site.xml.template ,现将此文件重命名,键入命令:mv mapred-site.xml.template mapred-site.xml,然后对文件进行修改


4.3.4 配置yarn-site.xml

4.3.5 配置 hadoop-env.sh ,slaves

配置文件1:hadoop-env.sh
修改JAVA_HOME值(export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_79)

配置文件2:slaves (这个文件里面保存所有slave节点)

5.将hadoop复制到其它节点 node01,node02

scp -r ~/hadoop ding@node01:~/                //注释将hadoop文件夹复制node01下主目录  ~/表示用户主目录,例如用户是ding 主目录就是 /home/ding

scp -r ~/hadoop ding@node02:~/


6.格式化namenode

键入命令: hdfs hadoop -format

注意:上面只要出现“successfully formatted”就表示成功了。

7.启动hadoop

分别启动start-dfs.sh和start-yarn.sh命令

 

8.检查

在master和node上检查是否启动

在master检查,键入命令jps

在node01检查,键入命令jps


键入命令:hdfs dfsadmin -report

9.上传一个文件试试

先创建一个文件夹upload

上传文件至文件夹upload下

hadoop fs -put ~/hadoop-2.4.1.tar.gz /upload


查看upload目录

hadoop fs -ls /upload




0 0
原创粉丝点击