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