1:创建一个CentOS6.8虚拟系统
1.1:选择自定义
1.2:选择默认
1.3:操作系统选择稍后安装
1.4:系统选择CentOS 6 64位
1.5:根据自己电脑性能选择
(下面全部选择默认)
1.6:改主机名为:master
2:安装操作系统
2.1: 选择“编辑虚拟机设置”
2.2:选择系统ios映像
2.3:左下角“完成”别忘了
2.4:开机
2.5:选择第一个
2.6:选择skip(鼠标不能用请使用键盘)
2.7:选择右下角next(下一步)
2.8:选择语言,然后选择右下角next
2.9:选择键盘布局,然后选择右下角next
2.10:选择本地硬盘,然后选择右下角next
2.11:选择yes
2.12:设置主机名为master.centos.com,然后选择右下角next
2.13:选择时区,选择Asia/Shanghai,然后选择右下角next
2.14:设置管理员密码,然后选择右下角next
密码过于简单提醒,可以跳过
2.15:选择分区(选择自动分区)
2.16:选择组件
2.17:选择右下角reboot(重启)就安装好了
3:设置固定IP地址
3.1:修改VM软件网络环境
3.2:编辑网卡配置文件
位置:/etc/sysconfig/network-scripts/ifcfg-eth0
1改
BOOTPROTO=static
并添加以下内容
IPADDR=192.168.128.130
NETMASK=255.255.255.0
GATEWAY=192.168.128.2
DNS1=192.168.128.2
3.3:修改完成后重启网卡
service network restart
4:远程连接虚拟机(如果配置正常但连接不了,可以通过下载)
yum install openssh-server
5:挂载系统映像
mount /dev/dvd/media
6:修改本地yum源
baseurl=file:///media/
gpgcheck=0
eenable=1
7:更新yum源
yum clean all
8:安装yum软件
yum install -y vim zip openssh-server openssh-clients
9: 在Windows下安装java
9.1:Windows的java环境安装
9.1.1:java的jdk安装(jdk=软件开发工具包)
:9.1.2:java的jre的安装(jre=运行环境)
9.1.3::配置环境变量
1:此电脑右键点击属性找到环境变量
2:进入环境变量配置
3:配置变量
JAVA_HOME
D:\java\jdk
CLASSPATH
,:%JAVA_HOME%\jre\lib\re.jar:,:
4:验证java是否安装完成
进入cmd窗口
输入命令
java -version
10:linux安装java
1上传JDK安装包
2:进入/opr目录,执行命令“ rpm -ivh jdk-7u80-linux-x64.rpm ”,安装JDK
[root@localhost ~]# cd /opt
[root@localhost ~]# rz #上传Linux版java软件包(jdk-7u80-linux-x64.rpm)
[root@localhost opt]# rpm -ivh jdk-7u80-linux-x64.rpm
准备中... ################################# [100%]
正在升级/安装...
1:jdk-2000:1.7.0_80-fcs ################################# [100%]
Unpacking JAR files...
rt.jar...
jsse.jar...
charsets.jar...
tools.jar...
localedata.jar...
jfxrt.jar...
3:验证JDK是否安装成功并执行以下命令
11:搭建hadoop完全分布式集群
11.1安装软件包
把hadoop-2.6.4.tar.gz上传到master的/opt目录下
并执行此命令 tar -zxf hadoop-2.6.4.tar.gz -C /usr/local 将Hadoop安装包解压到虚拟机master的/usr/local目录下。
11.2修改配置文件
Hadoop配置涉及的文件有七个:core-site.xml ,hadoop-env.sh ,yarn-env.sh,mapred-site.xml,yarn-site.xml,slaves,hdfs-site.xml,
11.3修改core-site.xml
核心配置文件,修改主机名和临时文件位置
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/log/hadoop/tmp</value>
</property>
</configuration>
在这里插入代码片
11.4修改hadoop-env.sh文件,该文件是Hadoop运行基本环境的配置,需要修改JDK的实际位置。故在该文件修改JAVA_HOME值为本机安装位置
#The java implementation to use.
export JAVA_HOME=/usr/java/jdk1.7.0_80
11.5修改yarn-env.sh文件
配置yarn框架运行环境配置,修改jdk位置
#some Java parameters
export JAVA_HOME=/home/y/libexec/jdk1.6.0/
export JAVA_HOME=/usr/java/jdk1.7.0_80
11.6修改mapred-site.xml文件
修改MapReduce相关配置,修改master机器名
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
11.6修改yarn-site.xml文件
这个是yarn框架的配置,设置变量
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>${yarn.resourcemanager.hostname}:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>${yarn.resourcemanager.hostname}:8030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.https.address</name>
<value>${yarn.resourcemanager.hostname}:8090</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>${yarn.resourcemanager.hostname}:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>${yarn.resourcemanager.hostname}:8033</value>
</property>
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>/data/hadoop/yarn/local</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>/data/tmp/logs</value>
</property>
<property>
<name>yarn.log.server.url</name>
<value>http//master:19888/jobhistory/logs/</value>
<descripion>URL for job history server</descripion>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<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.nodemanager.resource.memory-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>512</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>4096</value>
</property>
<property>
<name>mapreduce.map.memory.mb</name>
<value>2048</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>1</value>
</property>
</configuration>
11.7修改slaves文件
该文件保存了slave节点信息
localhost
slave1
slave2
slave3
11.8修改hdfs-site.xml文件
hdfs相关配置文件制定NameNode云数据和DataNode数据存储位置和文件块副本个数
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///data/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///data/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
11.8修改/etc/hosts文件
主机名及ip地址映射
192.168.128.130 master master.centos.com
192.168.128.131 slave1 slave1.centos.com
192.168.128.132 slave2 slave2.centos.com
192.168.128.133 slave3 slave3.centos.com
12:克隆虚拟机
12.1.slave1
13:打开虚拟机,修改相关配置(slave1.2.3)
13.1.删除文件
13.2.网络配置
ifconfig -a
修改/etc/config/network-scripts/ifcfg-eth0文件,修改HWADDR IPADDR以及注释掉或删除UUID开头的一行代码,并修改HWADDR的内容为实际的地址,修改内容如下
slave1-3IP地址分别为
192.168.128.131
192.168.128.132
192.168.128.133
13.3 修改机器名 注:三个虚拟机的机器名都要修改内容如下
slave1机器
修改成
NETWORKING=yes
HOSTNAME=slave1.centos.com
slave2机器
NETWORKING=yes
HOSTNAME=slave2.centos.com
slave3机器
NETWORKING=yes
HOSTNAME=slave3.centos.com
13.4 执行reboot命令重新启动虚拟机,验证master主机是否能pingslave1
14:配置SSH免密登录
注意:四台机器都要在开机状态下
master机器配置
1.ssh-keygen -t rsa
在连按三次Enter键出现这个画面
2.用ssh-copy-id将公钥复制到远程机器中执行下面这些命令
ssh-copy-id -i /root/.ssh/id_rsa.pub master #依次输入yes ,root用户密码
ssh-copy-id -i /root/.ssh/id_rsa.pub slave1
ssh-copy-id -i /root/.ssh/id_rsa.pub slave2
ssh-copy-id -i /root/.ssh/id_rsa.pub slave3
3.验证SSH是否能够无秘钥登录
在master下分别输入ssh slave1,ssh slave2,ssh slave3,如图所示说明SSH免密码登录成功
15.配置时间同步服务
1.安装NTP服务
配置好yum源,可以直接使用yum来安装NTP服务,在各节点执行命令yum install - y ntp 即可,最终出现了"Complete"信息,就说明安装NTP服务成功。
2.设置master为主节点,那么其配置如下
使用命令 vim /etc/ntp.conf 来打开/etc/ntp.conf文件,注释掉以server开头的行,并添加代码如图所示
修改master主节点的ntp.conf文件
3.分别在slave1,slave2,slave3中安装NTP,同样修改/etc/ntp.conf文件,注释掉以server开头的行,并添加代码如图所示
修改子节点的ntp.conf文件
4. 执行命令“service iptables stop & chkconfig iptables off”永久性关闭防火墙,主节点和从节点都要关闭。
5. 启动NTP服务
(1)在maste节点执行命令“service ntpd start & chkconfig ntpd on”,如图所示说明NTP服务启动成功
(2)在slave1,slave2,slave3,上执行命令“ntpdate master”,即可同步时间,如图所示 (3)在slave1,slave2,slave3,上分别执行“service ntpd start & chkconfig ntpd on”,即可永久启动NTP服务,如图所示
16.启动关闭集群
1.做完Hadoop的所有配置,即可执行格式化NameNode操作,该操作会在NameNode所在机器初始化一些HDFS的相关配置,并且该操作在集群搭建过程中只需执行一次,执行格式化前可以先配置环境变量
配置环境变量是在master ,slave1,slave2,slave3,上修改/etc/profile文件,在文件末行添加代码如图所示,文件修改完保存退出,执行命令"source /etc/profile"来使配置文件生效。
2.格式化只需执行命令“hdfs namenode -format”,“若出现“Storage directory /data/hadoop/hdfs/name has been successfully formatted” 提示, 则格式化成功。如图所示
3.格式化完成之后即可启动集群,启动集群只需要在master节点直接进入Hadoop安装目录,分别执行所显示的命令即可
启动集群命令:
cd /usr/local/hadoop #进入hadoop安装目录
sbin/start-dfs.sh #启动hdfs相关服务
sbin/start-yarn.sh #启动yarn相关服务
sbin/mr-jobhistory-daemon.sh start historyserver #启动日志相关文件
4.集群启动后,在主节点master,子节点slave1,slave2,slave3,分别执行“jps”命令出现如图所示,说明集群启动成功。
同理,关闭集群也只需在master节点直接进入Hadoop安装目录,在想要关闭的时候执行以下这些命令
cd /usr/local/hadoop #进入hadoop安装目录
sbin/stop-dfs.sh #关闭hdfs相关服务
sbin/stop-yarn.sh #关闭yarn相关服务
sbin/mr-jobhistory-daemon.sh stop historyserver #关闭日志相关文件
17.监控集群
为了能够顺利的在浏览器打开Hadoop集群相关服务的监控界面,
需要修改本地host文件。
文件位置:C:\Windows\System32\drivers\etc
之后在文件末行添加图2所示的代码
图1 本地的host文件地址
图2 添加的代码如下图所示
17.1HDFS监控
浏览器地址栏输入:http://master:50070/
图1 HDFS监控1
注释:
(1):Overview
记录了NameNode启动时间,版本号,编译版本等基本信息
(2):Summary
记录集群信息,提供了集群环境的一些信息,从图中可以看见所有DataNode节点的基本存储信息,例如硬盘大小以及有多少被HDFS使用等一些数据信息,同时标注了当前集群环境中DataNode的信息,对活动状态的DataNode也专门做了记录
(3):NameNode Storage
提供了NameNode的信息,最后的State标示此节点为活动节点,可正常提供服务
----------------------------------------------------这是一个华丽的分割线--------------------------------------------------------------
以下菜单可以查看HDFS上面的文件信息
如图所示,选择“Utilities” -------- “Browse the file system” 菜单命令可以查看HDFS上文件信息。
图2 查看HDFS文件
17.2 NameNode节点信息
浏览器地址栏输入:http://master:50070/dfshealth.jsp
就能等到图1所示的界面
图1 HDFS监控2
单击“Browse the filesystem” 超链接可以打开文件存储目录,如图2所示的界面
图2 HDFS文件存储目录
"NameNode logs"为用户提供NameNode节点log的信息,如图3所示
图3 Name Node 节点的信息
17.3YARN监控
浏览器地址栏输入:http://master:8088
即可看到YARN的监控界面
17.4 日志监控
在浏览器的地址栏输入:http://master:19888
即可看到日志监控界面