hadoop2.8+centos7集群搭建

本集群搭建于以下软件:

VMware Workstation12 Pro

SecureCRT 7.3

Xftp 5

CentOS-7-x86_64-Everything-1611.iso

hadoop-2.8.0.tar.gz

jdk-8u121-linux-x64.tar.gz
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

这里的集群是 
192.168.195.132 Master、Namenode、SecondNameNode、DataNode 
192.168.195.133 Slaver1 DataNode 
192.168.195.134Slaver2 DataNode

一、虚拟机的安装 
VMware Workstation Pro的安装步骤不再赘述,next、next就行,只做Centos的安装步骤详解 
1.VMware Workstation12 Pro选择新建虚拟机 
这里写图片描述

2.选择典型 
这里写图片描述

3.安装程序光盘映像文件,选择你的CentosISO文件,下一步 
这里写图片描述

4.输入新建的虚拟机名:Master|Slaver1|Slaver2 
这里写图片描述 
5.分配磁盘大小,指定文件拆分类型,下一步 
这里写图片描述 
6.网络选择桥接模式、复制主机物理地址,内存和磁盘根据自己的条件选择就好了,关闭 
备注:选择桥接模式能虚拟出一台和真是主机没有多大区别的虚拟机 
这里写图片描述 
7.创建后开启此虚拟机 
这里写图片描述

8.选择Install Centos 7 
这里写图片描述
9.Next、Next、Next我选择的是最小化安装,在安装的过程中设置自己的root密码,直到下面这一步

10.Login,修改主机名

hostnamectl --static set-hostname <host-name> 
  • 1

之后注销重新登录,就可以看到主机名已经成功地被修改了 
这里写图片描述 
11.修改网卡

 vi /etc/sysconfig/network-scripts/ifcfg-ens33 
  • 1

把Onboot修改为Yes 
这里写图片描述

这里写图片描述

:wq保存,然后service network restart 
这里写图片描述

12.查看IP地址:ifconfig

这里写图片描述 
从图中得到IP地址:172.17.11.110,子网掩码:255.255.255.0 
13.查看DNS:

nmcli dev show|grep DNS
  • 1

这里写图片描述

14.查看网关:

route -n
  • 1

这里写图片描述

15.修改网卡

 vi /etc/sysconfig/network-scripts/ifcfg-ens33 
  • 1

修改静态IP地址,添加IP地址、子网掩码、网关、DNS

这里写图片描述

保存, 
16.重启网关 
service network restart 
这里写图片描述

17.查看防火墙状态

systemctl status firewalld
  • 1

我这里显示防火墙没有关闭

这里写图片描述

18.关闭防火墙

systemctl stop firewalld
  • 1

禁止防火墙

systemctl disable firewalld
  • 1

这里写图片描述 
19.进制Selinux

vi /etc/sysconfig/selinux
  • 1

这里写图片描述

这里写图片描述

其他的机器按照一样的步骤来,虚拟机安装准备到此结束 
二、免密码登录

分别在每一台机器上执行

ssh-keygen -t rsa
  • 1

一路回车,然后到/root/.ssh文件夹下 
这里写图片描述

在Master上将id_rsa.pub重定向到authorized_keys

cat id_rsa.pub>>authorized_keys
  • 1

将Slaver1/Slaver2的id_rsa.pub追加到authorized_keys

ssh slaver1的IP地址 cat /root/.ssh/id_rsa.pub>>authorized_keys
  • 1

查看id_rsa.pub中的内容:

这里写图片描述
将authorized_keys分发到Slaver1、Slaver2的/root/.ssh目录下

scp authorized_keys slaver1/slaver2的IP地址 /root/.ssh/
  • 1

这里写图片描述

可以试一下ssh slaver1/slaver2

这里写图片描述

可以看到现在Master上登录在Slaver1、Slaver2并不需要手动输入密码了

如果不能直接ssh slavername,需要先手动配置一下master 上的/etc/hosts文件 
然后再通过scp命令分发到每台从节点的对应位置 
这里写图片描述

三、JDK的安装

通过xftp链接虚拟机,新建链接

这里写图片描述

这里写图片描述

在Windows中找到JDK文件,然后双击传输到Centos中/usr/local路径下 
这里写图片描述

在终端中解压:

tar -xvf jdk-8u121-linux-x64.tar.gz
  • 1
  • 2

这里写图片描述

然后将解压后的文件夹重命名为java

配置环境变量:

vi /etc/profile 
在profile文件末尾追加:

export JAVA_HOME=/usr/local/java/jdk1.8.0_121
export PATH=$PATH:$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  • 1
  • 2
  • 3

保存,

source /etc/profile
  • 1

在终端输入:java -version,出现以下内容说明JDK安装成功

java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
  • 1
  • 2
  • 3

最后通过scp命令将整个文件夹分发到从节点Slaver1、Slaver2上

四、Hadoop的安装

1.通过xftp将Hadoop传到master:/usr/local路径下: 
然后解压,将解压后的文件重命名为hadoop,配置环境变量: 
vi /etc/profile,在文件末尾追加:

export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_HOME=$HADOOP_HOME/etc/hadoop/
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
  • 1
  • 2
  • 3

source /etc/profile 
使配置文件生效

2.修改配置文件

  • vi /usr/local/hadoop/etc/hadoop-env.sh文件添加
export JAVA_HOME=/usr/local/java/jdk1.8.0_121
  • 1
  • vi /usr/local/hadoop/etc/yarn-env.sh文件添加
export JAVA_HOME=/usr/local/java/jdk1.8.0_121
  • 1
  • 配置core-site.xml
<configuration>
 <property>
 <name>fs.defaultFS</name>
 <value>hdfs://192.168.195.132:9000</value>
 </property>
 <property>
 <name>io.file.buffer.size</name>
 <value>131072</value>
 </property>
 <property>
 <name>hadoop.tmp.dir</name>
 <value>file:/usr/local/hadoop/tmp</value>
 <description>Abase for other temporary directories.</description>
 </property>
 <property>
 <name>hadoop.proxyuser.root.hosts</name>
 <value>*</value>
 </property>
 <property>
 <name>hadoop.proxyuser.root.groups</name>
 <value>*</value>
 </property> 
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 配置yarn-site.xml
<configuration>

<!-- Site specific YARN configuration properties -->

<property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
  </property>
  <property>
            <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
            <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>
  <property>
             <name>yarn.resourcemanager.address</name>
             <value>192.168.195.132:8032</value>
  </property>
  <property>
             <name>yarn.resourcemanager.scheduler.address</name>
             <value>192.168.195.132:8030</value>
  </property>
  <property>
             <name>yarn.resourcemanager.resource-tracker.address</name>
             <value>192.168.195.132:8035</value>
  </property>
  <property>
             <name>yarn.resourcemanager.admin.address</name>
             <value>192.168.195.132:8033</value>
  </property>
  <property>
             <name>yarn.resourcemanager.webapp.address</name>
             <value>192.168.195.132:8088</value>
  </property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 修改hdfs-site.xml文件
<configuration>
 <property>
 <name>dfs.namenode.name.dir</name>
 <value>file:/usr/local/hadoop/hdfs/name</value>
 </property>
 <property>
 <name>dfs.datanode.data.dir</name>
 <value>file:/usr/local/hadoop/hdfs/data</value>
 </property>
 <property>
 <name>dfs.replication</name>
 <value>3</value>
 </property>
 <property>
 <name>dfs.namenode.secondary.http-address</name>
 <value>192.168.195.132:9001</value>
 </property>
 <property>
 <name>dfs.webhdfs.enabled</name>
 <value>true</value>
 </property> 
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 修改mapred-site.xml
<configuration>
<property>
 <name>mapreduce.framework.name</name>
 <value>yarn</value>
 </property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 修改slaves文件
192.168.195.133
192.168.195.134
192.168.195.132
  • 1
  • 2
  • 3

都配置完毕之后,将master上的Hadoop文件夹发送到Slaver1、Slaver2上,然后配置对应机器上的环境变量vi /etc/profile

五、格式化Hadoop

/usr/local/hadoop/bin/hadoop namenode -format
  • 1

六、启动Hadoop集群

start-all.sh
  • 1

Master: 
这里写图片描述

这里写图片描述 
Slaver1: 
这里写图片描述 
Slaver2: 
这里写图片描述

在任意能联网的浏览器输入Master的IP地址+50070 
这里写图片描述

Master+8088 
这里写图片描述

在任意一台机器上创建两个文件夹:file1.txt和file2.txt 
vi file.txt

Hello Hadoop
  • 1

vi file2.txt

Welcome to Hadoop
  • 1

然后通过dfs命令上传到HDFS上的/input目录下: 
hadoop -put file*.txt /input 
运行Hadoop命令:

首先还要创建文件夹

hadoop fs -mkdir -p /user/hduser/input

hadoop fs -put <datafile>  /user/hduser/input

 hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.0.jar wordcount /input/file*.txt /output/wordcount0
  • 1

这里写图片描述

查看运行结果

[root@Slaver1 ~]# hadoop fs -ls -r /output/wordcount0
Found 2 items
-rw-r--r--   3 root supergroup       2278 2017-05-01 02:43 /output/wordcount0/part-r-00000
-rw-r--r--   3 root supergroup          0 2017-05-01 02:43 /output/wordcount0/_SUCCESS
[root@Slaver1 ~]# hadoop fs -cat /output/wordcount/part-r-00000
  • 1
  • 2
  • 3
  • 4
  • 5

到这里集群已经搭建完毕,备忘!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值