Apache-Hadoop2.7.3分布式集群搭建

一、环境准备

1、准备五台linux机器或者VMware做几个CentOs虚拟机,如下

2、给各机器分别设置hostname,集群配置时直接使用hostname,避免IP变动时修改各组件的核心配置。
查看centos系统hostname,执行以下命令:hostname

修改centos系统hostname,root权限下执行以下命令:vi /etc/sysconfig/network;修改HOSTNAME=自定义hostname 后重启机器生效
机器名称 hostname
WebAnalysisMaster WAMaster
WebAnalysisSlave1 WASlave1
WebAnalysisSlave2 WASlave2
WebAnalysisSlave3 WASlave3
WebAnalysisSlave4 WASlave4

3、分别配置hostname与各主机IP映射,访问hostname时,可映射到本机。

root权限下执行以下命令:vi /etc/hosts

4、防火墙配置:关闭防火墙或添加服务端口,以免hadoop对外服务端口被拦截

查看防火墙状态(root权限下):`service iptables status`
停止防火墙(root权限下)    :`service iptables stop`
启动防火墙(root权限下)    : `service iptables start`
重启防火墙(root权限下)    : `service iptables restart`
永久关闭防火墙(root权限下): `chkconfig iptables off`
永久关闭后启用(root权限下): `chkconfig iptables on

5、配置java环境

将linux版jdk(下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)上传至各主机后,解压并配置环境变量。

jdk解压命令:tar -xvf jdk-8u112-linux-x64.tar.gz
java环境变量配置:centos下环境变量文件分以下几种:‘/etc/environment’、‘/ect/profile(全局) ’、‘ ~/.bash_profile(用户变量)’;
这里配置用户变量,执行以下命令:vi ~/.bash_profile
在其后追加:export JAVA_HOME=/usr/java/jdk1.8.0_102/
           export PATH=$JAVA_HOME/bin:$PATH


验证java环境是否搭建成功,执行以下命令:java -version   

6、Master节点到Slave几点免密登录配置(若不设免密登录,会在hadoop启动阶段频繁输入密码;或须单独启动各节点服务)

在WAMaster节点终端生成密钥,命令如下:ssh-keygen -t rsa(一路点击回车生成密钥)

复制公钥文件:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
修改 authorized_keys 文件的权限:chmod 600 ~/.ssh/authorized_keys
将 authorized_keys文件分别复制到slave节点:scp ~/.ssh/authorized_keys 用户名@WAslave1:~/;如果提示输入yes/no,输入yes回车
在Slave节点终端分别生成密钥:ssh-keygen -t rsa(一路点击回车生成密钥)
各slave节点将从Master节点复制的authorized_keys移动到.ssh目录下:mv authorized_keys ~/.ssh/
修改各slave节点authorized_keys文件权限:chmod 600 ~/.ssh/authorized_keys

验证免密登录是否成功,在WAMaster节点终端输入:ssh WASlave1,结果如下:


二、Apache-hadoop安装包准备

将下载好的Hadoop压缩包(下载地址:http://hadoop.apache.org/releases.html#Download)上传至各主机上,解压缩。

hadoop解压缩命令:tar -xvf hadoop-2.7.3.tar.gz

解压后的目录结构如下


hadoop安装目录下各目录及其用途
目录 用途
bin Hadoop基本管理脚本和使用脚本目录,是sbin目录下脚本的实现基础
sbin Hadoop管理脚本目录,包括hdfs、yarn等的服务使用脚本
etc Hadoop配置文件目录
share Hadoop各模块编译后的jar包目录,开发时须引用的jar包
include 编程库头文件所在目录
lib Hadoop native库
libexec Hadoop 各服务配置的脚本文件目录

三、Hdfs集群物理架构


四、Hadoop集群配置

第一步、配置WAMaster节点

1、配置环境变量hadoop-env.sh

进入hadoop配置目录下:cd  hadoop-2.7.3/etc/hadoop/;后执行:vi hadoop-env.sh

2、配置core-site.xml

修改core-site.xml:vi core-site;将下面代码复制到<configuration>标签内,配置访问连接和临时数据目录
<property>
	<name>fs.defaultFS</name>
	<value>hdfs://WAMaster:9000</value>
</property>
<property>
	<name>hadoop.tmp.dir</name>
	<value>/home/lsh/hadoopdata</value>
</property>

3、配置hdfs-site.xml

修改hdfs-site.xml:vi hdfs-site;将下面代码复制到<configuration>标签内,配置副本数
<property>
	<name>dfs.replication</name>
	<value>3</value>
</property>

4、配置yarn-site.xml

修改yarn-site.xml:vi yarn-site;将下面代码复制到<configuration>标签内
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>
<property>
	<name>yarn.resourcemanager.address</name>
	<value>WAMaster:18040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
	<value>WAMaster:18030</value>
	</property>
<property>
	<name>yarn.resourcemanager.resource-tracker.address</name>
	<value>WAMaster:18025</value>
</property>
<property>
	<name>yarn.resourcemanager.admin.address</name>
	<value>WAMaster:18141</value>
</property>
<property>
	<name>yarn.resourcemanager.webapp.address</name>
	<value>WAMaster:18088</value>
</property>

5、配置mapred-site.xml

复制mapred-site.xml.template文件,并改名为:mapred-site.xml:cp mapred-site.xml.template mapred-site.xml
修改mapred-site.xml:vi mapred-site;将下面代码复制到<configuration>标签内
<property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
</property>

6、配置slave文件

修改slaves:vi slaves;将slave节点添加到文件内

第二步,将WAMaster节点的hadoop-2.7.3文件分别复制到其他slave节点

scp -r hadoop-2.7.3 WASlave1:~/

第三步、启动Hadop集群

1、配置hadoop环境变量

修改用户环境变量:vi ~/.bash_profile,文件下追加一下内容


2、分别在各slave节点创建core-site.xml文件中配置的数据目录

home目录下新建文件:mkdir hadoopdata

3、格式件文件系统

WAMaster节点上执行格式化命令:hdfs namenode -format;看到下图的打印信息表示格式化成功,如果出现Exception/Error,则表示出问题


4、启动hadoop

hadoop安装目录sbin目录下执行:./start-all.sh


5、验证是否启动成功

1、进程验证是否启动成功,分别在各节点终端中执行:jps命令,其中WAMaster节点应启动进程见图1,slave节点应启动进程见图2


2、web UI访问 查看集群是否启动成功:浏览器打开http://WAMaster:50070/

3、web界面检查yarn是否正常启动:浏览器输入http://WAMaster:18088




猜你喜欢

转载自blog.csdn.net/huaidandaidai1/article/details/80789492