Hadoop集群的搭建及配置
Posted 陌白网客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop集群的搭建及配置相关的知识,希望对你有一定的参考价值。
本文章对虚拟机的安装配置、jdk的安装以及hadoop完全分布式集群的搭建进行了讲解。
1、安装虚拟机、操作系统
2、设置IP、虚拟机在线安装软件
3、搭建hadoop完全分布式集群
修改配置文件
克隆虚拟机
配置ssh免密码登录
配置时间同步服务
启动 关闭集群
操作环境
1.VMware
2.CentOS6.8系统
3.xshell5
4.linux 进入编辑文件,保存退出相关命令
1.进入文件 vi、vim 文件名(vim test.txt)
2.编辑完成之后,按ESC键 跳到命令模式(命令前面冒号是必要的):
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
:q 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
5.关闭防火墙的方法:
service iptables stop 关闭防火墙
chkconfig iptables off 永久关闭防火墙
操作步骤
VMware Workstation安装
解压 双击vmware.exe,选择安装目录 输入产品序列号
2.1.1 创建Linux虚拟机
(1)首先我们在桌面上打开我们安装好的VMware虚拟机,然后选择创建新的虚拟机。
这里是选择磁盘的容量的,如果你的磁盘太小的话,也可以降低一点。然后选择将虚拟磁盘拆分成多个文件,点击下一步。
点击这里的自定义硬件,选择第三个,然后选择iso使用映像文件来创建这个虚拟机。点击关闭,然后点击完成。就完成master虚拟机的设置了。
2.1.1 安装操作系统
Install or upgrade an existing system 安装或升级现有系统
Install system with basic video driver 安装过程中采用基本的显卡驱动
Rescue installed system 进入系统修复模式
Boot from local drive 退出安装,从磁盘启动
Memory test 内存检测
弹出“Disc Found”对话框,选择“OK”来测试安装媒体,即DVD光盘,如图所示。选择“Skip”表示跳过,进入下一个界面之后直接单击“NEXT”按钮。
这里是选择它的安装语言的,我们选择英语。
这个是选择键盘语言的,我们也选择英语。
选择安装的存储设备,我们一般都是安装到本地硬盘,所以选择“Basic storage”,然后继续下一步。
这时会弹出警示信息对话框,提醒用户是否需要删除检测到的这个硬盘的所有数据,在这里我们选择“yes”。
设置主机名为“master.centos.com”,然后单击下一步,继续。
设置主机名为“master.centos.com”,然后单击下一步,继续。
设置管理员密码,我们在整本课程中所以节点的管理员密码都设置为“123456”,然后单击下一步。
提示我们密码太弱,但是我们还是使用这个密码,选择 use anyway,确认。
选择使用所有的空间,点击下一步
点击下一步,会提示确认格式化并写入数据,单击“write changes to disk”
选择安装Centos组件,这里选择“minimal”. 提示:centos的默认安装是最小安装。您现在可以选择另一套软件。 在这里我们选择minimum 最小号版本,最小号版本需要加载的东西比较少一点。然后点击下一步,就开始安装了。 please select any additional repositories that you want to use for software installation:请选择要用于软件安装的任何其他存储库
现在开始安装,这个过程等待的比较久一点,因为它有228个包需要下载、安装。
等它下载完了,就出现以下界面,然后它的右下角有一个 按钮,点击这个按钮,重启虚拟机。
设置固定IP
为新建的虚拟机master,配置固定IP
查看IP
它现在已经进入到这个虚拟机里面了,那我们来查看一下它目前的ip. 那我们输入ifconfig 来查看IP。它目前所有虚拟机的IP是127.0.0.1。每个虚拟机创建之后都是这个IP,所以呢,我们链接到指定的虚拟机就需要重新设置IP。
新建虚拟机后配置固定IP
1重启服务 service network restart
2、修改配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0
接下来我们看一下,我们修改一些什么样的配置文件,固定IP它在一个文件里,在 /etc/sysconfig/network-scripts/ifcfg-eth0 这个文件里。 vi /etc/sysconfig/network-scripts/ifcfg-eth0 vi表示要编辑这个文件。 然后我们输好之后按enter键进入,可以看到如下图: 按“A”“I”或”O”键,进入编辑状态
然后我们按esc退出编辑,然后按:wq(按冒号的时候按着shift键),然后再按enter,这样它就把这个内容保存了。完成之后我们拉到页面最下方,我们重新输入 service network restart重启网络服务
可以cat /etc/sysconfig/network-scripts/ifcfg-eth0查看修改内容
3、再次重启服务并查看IP
service network restart
配置完再查看:ifconfig
这时你会发现固定IP已经设好
远程连接虚拟机(xshell5)
准备工作:SSH连接工具Xme5.exe
过程:使用Xmanager连接工具远程连接master
新建
之后呢,我们需要去点击用户身份验证,在用户身份验证里边需要输入用户名的身份和密码,就是我们登陆虚拟机的时候所输入的用户名和密码。(记得打对勾,下次不用输密码)
点击确定之后,出现了一个会话,然后我们点击连接。
出现这种情况,要么是电脑卡,要么是连接不上,在这里呢是连接不上
解决方法:我们来看一下虚拟机的网络- - 打开VMware虚拟机 点击 工具栏中的编辑下边有一个虚拟网络编辑器 我们使用的模式是 VMnet8的NAT的模式 选择VM8网卡 VM0是桥接,直接连接物理路由器的 VM1是主机模式,无法连接外网
选中 VM8 NAT模式,然后我们找到它的子网IP,可以看到它现在的IP和我们虚拟机设置的固定IP(192.168.128.130)不在同一个网段,所以它连接不上,那我们把它修改到一个网段,将236修改成128
然后点击NAT设置,这里的236也改为128网段,点击确定。
然后再进入DHCP设置,也将它的IP地址修改为128网段,然后点击确定。 然后点击应用,这个时候它会重启NAT、DHCP的设置,然后再点击确定
。
重新设置完成之后,接下来我们再打开Xshell窗口再判断一下进行连接,看看能不能连接上。 现在我们看到如下图,就是已经连接上的。
现在你在这个窗口所做的操作,就等同在master虚拟机所做的操作,因为它已经连接到虚拟机了
虚拟机在线安装软件
配置本地yum源的主要步骤如下
1、进入 /etc/yum.repos.d目录。命令“cd /etc/yum.repos.d”
2、将除yum本地源以外的其他yum源禁用 命令“mv CentOS-Base.repo CentOS-Base.repo.bak”。 查看 yum.repos.d 目录下的文件,会看到 CentOS-Base.repo 、 CentOS-Vault.repo 、 CentOS-Debuginfo.repo 、 CentOS-fasttrack.repo 、 CentOS-Media.repo 5个文件,其中CentOS-Media.repo是yum本地源的配置文件。配置本地yum源,需要将除本地源以外的其他yum源禁用,可将 CentOS-Base.repo 、 CentOS-Vault.repo 、 CentOS-Debuginfo.repo 、 CentOS-fasttrack.repo 重新命名为 CentOS-Base.repo.bak 、 CentOS-Vault.repo.bak 、 CentOS-Debuginfo.repo.bak 、 CentOS-fasttrack.repo.bak 执行重命名命令mv CentOS-Base.repo CentOS-Base.repo.bak
3、执行命令 vi CentOS-Media.repo 打开文件,如下图,修改其内容 Baseurl 就是它下载软件的位置,这里它提供了3个位置,我们只保留一个位置,其它两个位置删除。 将gpgcheck的值改为0 将enabled的值改为1
4、挂载。执行命令“mount /dev/dvd /media” 如果返回 mount:you must specify the filesystem type 的信息提示,说明挂载没有成功。解决方案:打开虚拟机,然后右击master找到“设置”命令,在“虚拟机设置”对话框中的“硬件”选择“CD/DVD(IDE)”在右边设备状态点击“已连接”。
再次执行挂载命令。执行命令“mount /dev/dvd /media”,如下图,返回mount:block..... 信息提示,代表挂载成功
5、更新yum源。挂载成功之后,我们要通过 yum clean all 更新整个 yum源。,如下图,代表更新成功。
配置本地yum源的主要步骤如下
1、进入 /etc/yum.repos.d目录。 命令“cd /etc/yum.repos.d”
2、将除yum本地源以外的其他yum源禁用 命令“mv CentOS-Base.repo CentOS-Base.repo.bak”。 3、修改 Centos-Media.repo文件
4、挂载。 命令“mount /dev/dvd /media”
5、更新yum源。 命令“yum clean all”
在Linux下安装Java
操作环境(xshell)
上传JDK安装包到/opt目录下
进入/opt目录,执行命令“rpm –ivh jdk-7u80-linux-x64.rpm”安装JDK
总结方法
安装软件:执行 rpm -ivh rpm包名,如: rpm -ivh apache-1.3.6.i386.rpm
2.升级软件:执行 rpm -Uvh rpm包名
3.反安装(卸载):执行 rpm -e rpm包名 卸载前一定要先用第7步,先来查询出来这个软件安装后的真正名称是啥,因为安装包名字和安装后的名字不一样
4.查询软件包的详细信息:执行 rpm -qpi rpm包名
5.查询某个文件是属于那个rpm包的:执行 rpm -qf rpm包名
6.查该软件包会向系统里面写入哪些文件:执行 rpm -qpl rpm包名
7.查看某个包是否被安装 rpm -qa | grep XXXX(moudle name) 或者 rpm –q XXXX(moudle name)
搭建Hadoop完全分布式集群
准备工作:
1.新建虚拟机4台,分别命名master、slave1、slave2、slave3;
2.每台虚拟机设置固定IP;
3.每台虚拟机安装必要软件;
4.master: 1.5G ~2G内存、20G硬盘、NAT 和 slave1~slave3: 1G内存、20G硬盘、NAT
具体做法:
1.新建虚拟机master,配置固定IP,关闭防火墙,安装必要软件;
2. 克隆master到salve1、slave2、slave3;
3.修改slave1~slave3的IP,改为固定IP
过程:
hadoop安装
1. 通过xmanager的Xftp上传hadoop-2.6.4.tar.gz文件到/opt目录(配置前 首先将Hadoop安装包上传到虚拟机master的opt目录下)
2. 解压缩hadoop-2.6.4.tar.gz 文件 (然后对Hadoop安装包进行解压,并将解压后的文件放到虚拟机master 的 /usr/local目录下。) 执行命令: tar -zxf hadoop-2.6.4.tar.gz -C /usr/local
3.解压缩之后去 /usr/local/的目录下查看一下解压缩之后的信息 cd /usr/local/ 然后通过 ls 看到有一个 hadoop-2.6.4 的文件夹,这个就是我们解压缩之后的文件包,进入这个文件夹下查看相关信息 cd hadoop-2.6.4/ 然后通过ls 查看 hadoop-2.6.4文件夹下的信息
4.对Hadoop进行文件配置。需要的配置文件在 etc 下。进入到 etc 目录下通过 ls 查看 hadoop 的文件夹名称 ,然后进入到 hadoop 下进行配置
修改配置文件
(1)修改 core-site.xml文件。这个是hadoop的核心配置文件,在这个文件下需要配置两个属性: fs.defaultFS配置了hadoop的HDFS系统的命名,位置为主机的8020端口,改名称为NameNode所在机器的机器名;hadoop.tmp.dir配置了hadoop临时文件的位置。 执行命令:[root@master hadoop]# vi core-site.xml(在底部Configuration标签内添加以下Configuration标签内的 内容,其他文件也是
<configuration>
<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>
(2)修改 hadoop-env.sh文件。该文件是 hadoop运行基本环境的配置,需要修改为JDK的实际位置,也就是在该文件中修改 JAVA HOME值为本机安装位置。
执行命令: vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_80
(3)修改hdfs-site.xml文件。这个是HDFS相关的配置文件,dfs.namenode.name.dir和dfs.datanode.data.dir分别指定了NameNode元数据和DataNode数据存储位置。dfs.namenode.secondary.http-address配置的是secondary.namenode的地址;dfs.replication配置了文件块的副本个数。 执行命令:vi hdfs-site.xml
<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>
(3)修改hdfs-site.xml文件。这个是HDFS相关的配置文件,dfs.namenode.name.dir和dfs.datanode.data.dir分别指定了NameNode元数据和DataNode数据存储位置。dfs.namenode.secondary.http-address配置的是secondary.namenode的地址;dfs.replication配置了文件块的副本个数。
(4)修改mapred-env.sh文件。该文件是关于MapReduce运行环境的配置,同样修改JDK所在位置,也就是在该文件中修改 JAVA HOME值为本机安装位置。
执行命令:vi mapred-env.sh
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
export JAVA_HOME=/usr/java/jdk1.7.0_80
(5)修改mapred-site.xml文件。该文件是关于MapReduce的相关配置。 mapred-site.xml文件是复制mapred-site.xml.template文件得到的,复制命令为 cp mapred-site.xml.template mapred-site.xml 执行命令:vi mapred-site.xml 在hadoop2.0使用了YARN框架,MapReduce的运行是在YARN框架的基础上,所以必须在 ①mapreduce.framework.name下配置的。 ②mapreduce.jobhistory.address(任务日志服务地址),在主节点的10020端口 ③mapreduce.jobhistory.webapp.address(任务日志服务地址),在主节点的19888端口
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- jobhistory properties -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
(6)修改slaves文件。该文件里面保存有slave节点的信息。 执行命令: vi slaves
在salves文件里面添加代码。 slave1 slave2 slave3
(7)修改yarn-env.sh文件。该文件是YARN框架运行环境的配置,同样需要修改为JDK所在位置,也就是在该文件中修改 JAVA HOME值为本机安装位置。 执行命令:vi yarn-env.sh
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
export JAVA_HOME=/usr/java/jdk1.7.0_80
(8)修改yarn-site.xml文件。该文件是YARN框架的配置。执行命令:vi yarn-site.xml
<configuration>
<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>
<description>URL for job history server</description>
</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>
9)编辑系统文件。在最下面把 JAVA_HOME和HADOOP_HOME的路径加进去。 执行命令:vi /etc/profile 添加以下内容
export JAVA_HOME=/usr/java/jdk1.7.0_80
export HADOOP_HOME=/usr/local/hadoop-2.6.4 export PATH=$PATH:$HADOOP_HOME/bin:$JAVA_HOME/bin (路径之间用冒号分割)
(10)最后通过 source 命令对相关的配置生效
执行命令:source /etc/profile
2.3.2 克隆虚拟机 在虚拟机master上配置完成hadoop之后,将虚拟机master克隆,生成3个新的虚拟机slave1、slave2、slave3。在虚拟机master的安装目录下建立3个文件slave1、slave2、slave3。 下面克隆master,生成slave1为例。 (1)将master处于关机状态。右键单击虚拟机master,选择“管理”——“克隆”命令,来到欢迎使用克隆虚拟机向导的界面,直接单击“下一步”按钮。
2)选择克隆源。这里选择“虚拟机中的当前状态”按钮。
(3)选择创建完整克隆
(4)设置新虚拟机的名称。新虚拟机名称为slave1,选择安装位置为之前建好的位置,单击完成按钮,虚拟机开始克隆。
(5)开启虚拟机slave1,修改相关配置。进入slave1的用户名和密码,和master一样。 ①执行命令:rm -rf /etc/udev/rules.d/70-persistent-net.rules 删除 /etc/udev/rules.d/70-persistent-net.rules 文件。 ②执行命令:“ifconfig -a”,查看 HWADDR,记录下新虚拟机的 HWADDR 为 00:0C:29:76:05:5E
③修改 /etc/sysconfig/network-scripts/ifcfg-eth0,修改设备名(eth0)、HWADDR、IPADDR以及注释掉或删除UUID开头的一行代码。 执行命令:vi /etc/sysconfig/network-scripts/ifcfg-eth0
④修改机器名。 执行命令: vim /etc/sysconfig/network 修改机器名为 slave1.centos.com
⑤重启虚拟机。 执行命令:reboot
(6)重复(1)-(5)的相关步骤,克隆master到slave2、slave3,并修改slave2、slave3的相关配置
配置SSH免密码登录
插播 修改ip与hostname映射,在节点(master、slave1、slave2、slave3)修改 vi /etc/hosts文件。 执行命令 vi /etc/hosts
192.168.128.130 master master.centos.com
192.168.128.131 slave1 slave1.centos.com
192.168.128.132 slave2 slave2.centos.com
92.168.128.133 slave3 slave3.centos.com
过程:
(1)使用ssh-keygen 产生公钥与私钥对。 输入命令 “ssh-keygen -t rsa”,接着按3次“Enter”键,如图所示,生成私有密钥 id_rsa 和公有密钥 id_rsa.pub 两个文件。ssh-keygen用来生成RSA类型的密钥以及管理该密钥,参数 “-t”用于指定要创建的SSH密钥的类型为RSA。
(1)使用ssh-keygen 产生公钥与私钥对。 通过 cd /root/.ssh/ 查看私有密钥和公有密钥文件。
(2)用ssh-copy-id 将公钥复制到远程机器中。执行下边命令 将公钥复制到远程机器中的命令 ssh-copy-id -i /root/.ssh/id_rsa.pub master //依次输入 yes ,123456(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
(2)用ssh-copy-id 将公钥复制到远程机器中。
(3)验证SSH是否能够无密钥登录。 在master下分别输入ssh slave1、ssh slave2、ssh slave3,如图所示,说明配置SSH免密码登录成功。
2.3.4配置NTP时间同步服务
背景:NTP是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源做同步化,提供高精准度的时间校正。hadoop集群对时间要求很高,主节点与各从节点的时间都必须要同步。配置时间同步服务主要是为了进行集群间的时间同步.
(1)安装NTP服务。 在任务2.1的时候已经配置了yum源,可以直接使用yum来安装NTP服务,在各节点执行命令 yum install -y ntp即可。若是最终出现了“Complete”信息,就说明安装NTP服务成功。
执行操作: 首先:先去挂载 yum 源,通过 mount /dev/dvd /media/
其次:通过 yum install -y ntp 安装ntp
然后:去各个子节点上(slave1、slave2、slave3)分别 挂载 yum 源,安装ntp
执行: mount /dev/dvd /media/ yum install -y ntp
(2)设置master节点为NTP服务主节点,那么其配置如下。 使用命令 “vim /etc/ntp.conf”来打开 /etc/ntp.conf文件,注释掉以server开头的行,并添加代码
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
server 127.127.1.0
fudge 127.127.1.0 stratum 10
(3)分别在slave1、slave2、slave3中配置NTP,同样修改/etc/ntp.conf 文件,注释掉server开头的行,并添加代码
server master
执行操作:vim /etc/ntp.conf
(4)执行命令“service iptables stop & chkconfig iptables off”,永久性关闭防火墙,主节点和从节点(master、slave1、slave2、slave3)都要关闭。
(5)启动NTP服务。
①在master节点执行命令“service ntpd start & chkconfig ntpd on”,如图所示,说明NTP服务启动成功。
②在slave1、slave2、slave3上执行命令“ntpdate master”,即可同步时间,如图所示
③在slave1、slave2、slave3上分别执行“service ntpd start & chkconfig ntpd on”即可永久启动NTP服务,如图所示
2.3.5 启动关闭集群之前--格式化
背景:做完Hadoop的所有配置后,即可执行格式化NameNode操作,该操作会在NameNode所在机器初始化一些HDFS的相关配置,并且该操作在集群搭建过程中只需执行一次,执行格式化之前可以先配置环境变量。
过程:
配置环境变量是在master、slave1、slave2、slave3上修改 /etc/profile 文件,在文件末尾添加代码 如下所示内容,文件修改完保存退出。
执行命令: vi /etc/profile source /etc/profile 来使配置生效 export JAVA_HOME=/usr/java/jdk1.7.0_80
export HADOOP_HOME=/usr/local/hadoop-2.6.4
export PATH=$PATH:$HADOOP_HOME/bin:$JAVA_HOME/bin
配置环境变量是在master、slave1、slave2、slave3上修改 /etc/profile 文件,在文件末尾添加代码 如下所示内容,文件修改完保存退出。
格式化执行命令:hdfs namenode -format 若出现 common storage ,则格式化成功。如图。
格式化执行命令:hdfs namenode -format 若出现 以下图,代表失败
2.3.5 Hadoop启动
启动集群命令
启动集群只需要在master节点直接进入hadoop安装目录
cd $HADOOP_HOME // 进入Hadoop安装目录
/usr/local/hadoop-2.6.4
sbin/start-dfs.sh //启动HDFS相关服务
sbin/start-yarn.sh //启动YARN相关服务
sbin/mr-jobhistory-daemon.sh start historyserver //启动日志相关服务
启动集群
cd $HADOOP_HOME // 进入Hadoop安装目录
启动集群命令
集群启动之后,在主节点master,子节点slave1、slave2、slave3分别执行“jps”命令,说明集群启动成功。
关闭集群命令
关闭集群也只需要在master节点直接进入hadoop安装目录
cd $HADOOP_HOME // 进入Hadoop安装目录
sbin/stop-yarn.sh //关闭YARN相关服务
sbin/stop-dfs.sh //关闭HDFS相关服务
sbin/mr-jobhistory-daemon.sh stop historyserver //关闭日志相关服务
关闭集群
2.3.5 Hadoop关闭
sbin/stop-yarn.sh //关闭YARN相关服务
sbin/stop-dfs.sh //关闭HDFS相关服务
sbin/mr-jobhistory-daemon.sh stop historyserver //关闭日志相关服务
2.3.6Hadoop 监控—任务监控
为了能够顺利在浏览器打开Hadoop集群相关服务的监控界面,需要修改本地hosts文件。本地的hosts文件可在 C:\\Windows\\System32\\drivers\\etc下找到,之后再文件末尾添加如下代码。 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
查看网址
http://master:50070
http://master:50070/dfshealth.jsp
Hadoop集群—问题
1.集群节点相关服务没有启动?
1.检查对应机器防火墙状态;
2. 检查对应机器的时间是否与主节点同步
2.集群状态不一致,clusterID不一致
1.删除dfs.namenode.name/data.dir配置的目录;
2./data/hadoop/hdfs/name (maser)
3./data/hadoop/hdfs/data (slave1、slave2、slave3)
4.cd /data/hadoop/
5.重新执行hadoop格式化;
以上是关于Hadoop集群的搭建及配置的主要内容,如果未能解决你的问题,请参考以下文章