Hadoop平台的搭建

Centos7搭建Hadoop平台(最简单Hadoop平台)

1、 所需软件

1)VMware虚拟机(使用的是VMware Workstation 10)
2)Centos(使用的是Centos7)
3)jdk(使用jdk-7u51-linux-x64.gz)
4)Xshell(使用Xshell5,用于在window下远程连接虚拟机中的centos)

5)WinSCP(用于window与虚拟机中的centos传文件

6)hadoop(使用hadoop-1.2.1)

2、 虚拟机安装Centos

1)选择已经下载的Centos的镜像文件(后缀为.iso)进行安装, 注意在选择网络适配器的时候选择桥接模式。
Hadoop平台的搭建_第1张图片Hadoop平台的搭建_第2张图片
2)配置Centos虚拟机的IP地址。
     安装后重启,输入root和设置的密码即可进入系统,输入以下命令。
    ifconfig   #命令用于查看IP
Hadoop平台的搭建_第3张图片
     修改IP地址,输入以下命令:
    vi /etc/sysconfig/network-scripts/ifcfg-ens33
Hadoop平台的搭建_第4张图片
其中:
       BOOTPROTO:表示网卡类型(静态static,动态dhcp,none)。
       DEVICE:表示设备名称, 注意:该项不可更改,如果更改则网卡无法重启
       ONBOOT:表示开机是否自动启动网络连接。
       NM_CONTROLLED:表示是否实时生效,即是否可不重启自动生效。
       IPADDR:表示IPV4的地址,配置是需要与window主机保持在同一个网段(例如:window主机IP地址是192.168.20.35,此处配置的IP地址为:192.168.20.x。)
       NETMASK:表示子网掩码(与window主机的子网掩码相同即可)
       GATEWAY:表示默认网关( 与window主机的默认网关相同即可
       DNS1:dns域名解析器(采用谷歌的8.8.8.8即可)

       通过ping命令测试网络是否连通,输入以下命令:
     ping 192.168.20.x  #该测试是以IP在192.168。20网段作为测试
     ping www.baidu.com  #该测试是验证是否能够连接外网

3)通过IP、用户名及密码使用Xshell进行连接,这样做是为了操作的方便,同时也是为了搭建hadoop环境更加方便。

4)通过IP、用户名及密码使用WinSCP进行连接,并将下载window上下载的jdk传到Centos上。
Hadoop平台的搭建_第5张图片
     解压jdk的压缩包,并将解压后的jdk移动到信息目录(如果目录没有则需要使用mkdir命令进行创建),输入以下命令:
   tar -zxvf jdk-7u51-linux-x64.gz
   mv jdk1.7.0_51 /usr/java/
     配置Java的环境变量,输入以下命令:
   vi /etc/profile
并添加以下三条环境变量语句:


      重新加载配置文件,输入以下命令:

    source /etc/profile


     其他节点也完成对java环境的配置。

3、 搭建hadoop环境

       假设此次环境搭建需要三个节点(主机名为node1、node2、node3),其中node1作为NameNode,node2作为DataNode和SecondaryNode,node3作为DataNode。
1)修改主机名。如果需要显示修改后的主机名,请重启该节点。
     在主节点(此情景下的node1上添加其他节点的信息),输入以下命令:

注意:每一个节点都要修改名字

2)在node1中添加node2、node3的信息(格式:IP地址 主机名,例如:192.168.20.52 node2)
    vi /etc/hosts
        注意:其他DataNode中也要添加NameNode中的IP
3)在node1中搭建hadoop环境
        通过IP、用户名及密码使用 WinSCP 进行连接,并将下载window上下载的 jdk传到Centos上。在node1中进行解压并通过软链接的方式链接到/home文件夹下,输入以下命令:
   tar -zxvf hadoop-1.2.1.tar.gz
   ln -sf /root/hadoop-1.2.1 /home/hadoop-1.2

      进入到/home/hadoop-1.2/conf中,修改一下五个配置文件
     ①core-site.xml

Hadoop平台的搭建_第6张图片

       修改hadoop.tmp.dir属性值的原因:如果不设置该属性,默认就会在Linux下的tmp目录创建新的目录,但是tmp目录下的内容重启之后就会消失。并且很多hadoop的目录都会依赖该目录。该属性值在core-default.html文件中可以找到。

     ②hdfs-site.xml  

Hadoop平台的搭建_第7张图片

       这是设置副本存放的数量,默认值是3。但是此次环境搭建只有两个DataNode节点,所以要设置为2。

     ③slaves

       这是设置具体的DataNode,填写主机名或者IP地址皆可。

     ④master

       这是设置具体的SecondaryNode,  填写主机名或者IP地址皆可。

     ⑤hadoop-env.sh

       文件中找到JAVA_HOME,并设置为java环境变量配置的JAVA_HOME值。


4)免密码登录

       在每一个节点生成密钥,并将公钥内容复制到文本内容中,实现登录自己免密码的功能。输入以下语句:

     ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
     cat ~/.ssh/id_dsa.pub 
       将node1的公钥发送到node2和node3上,输入以下语句:

     scp id_dsa.pub root@node2:~
     scp id_dsa.pub root@node3:~
       在node2和node3上将node1发送过来的公钥复制到指定的文件,输入以下语句:

     cat id_dsa.pub >> ~/.ssh/authorized_keys


5)在node2和node3中搭建hadoop环境

       在node1中将hadoop的压缩包发送到node2和node3上,输入以下语句:

     scp -r ~/hadoop-1.2.1.tar.gz root@node2:~
     scp -r ~/hadoop-1.2.1.tar.gz root@node3:~
      在node2和node3中解压并软链接hadoop(方法同node1)


       在node1中进入/home/hadoop-1.2/conf/将hadoop所有配置文件复制到node2和node3上

     scp ./* root@node2:/home/hadoop-1.2/conf/
     scp ./* root@node3:/home/hadoop-1.2/conf/

6)所有节点关闭防火墙(firewall)和selinux

       centos7默认使用firewall作为防火墙

       systemctl stop firewalld.service   #关闭防火墙

       systemctl disable firewalld.service  #禁止防火墙开机启动

       firewall-cmd --state  #查看防火墙状态


       查看selinux状态:sestatus

       在/etc/selinux/config中关闭selinux

Hadoop平台的搭建_第8张图片

7)在node1中启动HDFS

       在node1中进入/home/hadoop-1.2/bin输入以下命令:

     ./start-dfs.sh

       在每个节点可以通过jps命令查看状态还可以在网页输入网址查看节点的状态。



你可能感兴趣的:(Hadoop学习)