Hadoop平台的搭建

    xiaoxiao2021-04-17  42

    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)进行安装, 注意在选择网络适配器的时候选择桥接模式。 2)配置Centos虚拟机的IP地址。      安装后重启,输入root和设置的密码即可进入系统,输入以下命令。 ifconfig #命令用于查看IP      修改IP地址,输入以下命令: vi /etc/sysconfig/network-scripts/ifcfg-ens33 其中:        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上。      解压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.tmp.dir属性值的原因:如果不设置该属性,默认就会在Linux下的tmp目录创建新的目录,但是tmp目录下的内容重启之后就会消失。并且很多hadoop的目录都会依赖该目录。该属性值在core-default.html文件中可以找到。

         ②hdfs-site.xml  

           这是设置副本存放的数量,默认值是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

    7)在node1中启动HDFS

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

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

    转载请注明原文地址: https://ju.6miu.com/read-673650.html

    最新回复(0)