基于CentOS6.5系统Hadoop2.7.3完全分布式集群搭建详细步骤

 前言:本次搭建hadoop集群使用虚拟机克隆方式克隆slave节点,这样做可以省去很多不必要的操作,来缩短我们的搭建时间。

一、所需硬件,软件要求

使用 VMWare构建三台虚拟机模拟真实物理环境

操作系统:CentOS6.5

二、必备条件

hadoop搭建需要在三台机器上进行,并且不能是root用户,我们需要创建普通用户,进行下面的操作,三台机器分别都要创建普通用户,而且三台机器上的用户名称是相同的。

注意:以下操作除了修改/etc目录下文件内容,和创建用户等使用root权限,其他所有操作均使用普通用户权限

a.创建用户并设置密码

$>useradd scott
$>passwd scott

基于CentOS6.5系统Hadoop2.7.3完全分布式集群搭建详细步骤_第1张图片

三、设置静态ip

1.关闭DHCP

打开:VMWare-->编辑-->虚拟网络编辑器-->选中VMB--关闭DHCP

基于CentOS6.5系统Hadoop2.7.3完全分布式集群搭建详细步骤_第2张图片

 

2.开启虚拟机,修改相关网络文件

修改eth0文件【/etc/sysconfig/network-scripts/ifcfg-eth0】

$>gedit /etc/sysconfig/network-scripts/ifcfg-eth0

修改内容,没有的选项请补充:

BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址
ONBOOT=yes

#对应的子网广播地址,保持在同一个网段,末尾是255
BROADCAST=192.168.111.255

#设置自己喜欢的ip地址,保持在同一个网段
IPADDR=192.168.111.152
#网卡对应的网络掩码
NETMASK=255.255.255.0
#保持在同一网段,末尾设置为2
GATEWAY=192.168.111.2
#子网
NETWORK=192.168.111.0
#DNS1服务器地址,保持在同一个网段,末尾设置为2
DNS1=192.168.111.2
这两个GATEWAY,DNS必须按照上面的规则设置,否则是无法ping通的.

 

3.生效网络

 

 

$>service network restart

 

4.修改主机名和ip映射

 

$>su
$>vi /etc/hosts

追加内容:

 

192.168.111.151 master

重启生效:

$>reboot

 

5.windows设置静态ip

修改windows中的VMWare8的网络地址为静态ip,否则windows系统会ping不通虚拟机,也没有办法使用远程工具

基于CentOS6.5系统Hadoop2.7.3完全分布式集群搭建详细步骤_第3张图片

四、关闭防火墙,Selinux服务

说明:不关闭这两个我们的外部网络是不可以访问虚拟机CentOS系统的

1.关闭防火墙

永久关闭防火墙命令:

$>chkconfig iptables off
$>chkconfig ip6tables off

查看防火墙状态:

$>chkconfig iptables --list
$>chkconfig ip6tables --list

2.关闭selinux

 

$>vi /etc/sysconfig/selinux

修改内容:

找到:selinux=enforcing
更改为:selinux=disabled

3.重启系统,生效

$>su
$>reboot

 

五、解压JDK/HADOOP软件,并配置环境变量

 

可以使用SSH远程工具把软件上传到我们的虚拟机上,

SSH使用方法请参考博客:

https://blog.csdn.net/lg_49/article/details/80199602

1.解压相关软件

$>tar -zxvf jdk.xxx.tar.gz
$>tar -zxvf hadoop.2.7.3.tar.gz ~/soft

2.创建软链接

创建软链接便于我们以后的版本切换

$>ln -s jdk.xxx/ jdk
$>ln -s hadoop.xxx/ hadoop

4.配置环境变量

 

$>cd ~

$>vi .bash_profile 或使用:gedit

在文件最后追加一下内容:

#jdk install
export JAVA_HOME=/home/hyxy/soft/jdk
export PATH=$JAVA_HOME/bin:$PATH
#hadoop install
export HADOOP_HOME=/home/hyxy/soft/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

让环境变量生效:

$>source .bash_profile

说明:

1.我们这文件.bash_profile配置的环境变量,只有当前普通用户组的用户可以使用

2.刷新完之后,只有当前会话可用,建议reboot(重启),使用命令:

$>su
$>reboot

六、配置SSH免密登录

1.修改主机名称

$>su
$>vi /etc/sysconfig/network

修改内容:【HOSTNAME=master】

  重启生效:

$>reboot

2.生成密钥

$>ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa

说明:

-t:设置生成密钥的算法,采用rsa算法 

-P:设置密码,默认为空 

-f:设置密钥生成的文件位置,~/.ssh

3.生成认证库

$>cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

4.修改认证库(authorized_keys)的权限为600

$>chmod 600 ~/.ssh/authorized_keys

5.免密登录成功

ssh master

七、克隆两个节点

虚拟机克隆参考博客:

https://blog.csdn.net/lg_49/article/details/80412192

注意:三台机器上的ip地址都应是不同的,所以修改

/etc/sysconfig/network-scripts/ifcfg-eth0文件中的IPADDR为相同ip段不同ip地址

$>su
$>vi /etc/sysconfig/network-scripts/ifcfg-eth0

八、修改主机名【master(主)、slave1(从)、slave2(从)】

$>su
$>vi /etc/sysconfig/network

修改内容格式例:【HOSTNAME=slave1】

九、修改ip和主机名的映射:【/etc/hosts】

$>su
$>vi /etc/hosts

 追加内容:

192.168.111.151 master
192.168.111.152 slave1
192.168.111.153 slave2

主机和克隆机这个文件都要追加

十、修改hadoop配置文件

进入~/soft/hadoop/etc/hadoop

使用命令:

cd ~/soft/hadoop/etc/hadoop

1.vi core-site.xml

添加内容:

 
     
        fs.defaultFS 
        hdfs://Master:9000 
    

     
        hadoop.tmp.dir 
        /home/hyxy/tmp/hadoop  
    
 	

2.vi hdfs-site.xml

 
     
        dfs.replication
        3
        
           默认块复制。副本数
           创建文件时可以指定实际的复制次数。
           如果在创建时未指定复制,则使用默认值。
        
     
     
        dfs.namenode.name.dir
        file://${hadoop.tmp.dir}/dfs/name 
     
     
        dfs.datanode.data.dir 
        file://${hadoop.tmp.dir}/dfs/data
     

3.vi mapred-site.xml

增加内容:

 
     
        mapreduce.framework.name
        yarn 
        用于执行MapReduce作业的运行时框架。
           可以是local,classic或yarn之一。
    
    
    
        mapreduce.jobhistory.address
        master:10020
    MapReduce JobHistory服务器IPC主机:端口
    
    
 	mapreduce.jobhistory.webapp.address 				 
        master:19888
        MapReduce JobHistory服务器Web UI主机:端口
    
< /configuration>

注:发现我们没有这个文件,我们需要把mapred-site.xml .template复制一份,命名成mapred-site.xml ,

执行命令:

cp mapred-site.xml.template mapred-site.xml 

4.vi yarn-site.xml

增加内容:

 



    

        yarn.resourcemanager.hostname

        master

        RM的主机名。

    

    

        yarn.nodemanager.aux-services

        mapreduce_shuffle

        以逗号分隔的服务名称应该仅限于服务名称列表

       包含a-zA-Z0-9_并且不能以数字开头

     

 

5.vi slaves

把原来的localhost删除,添加:

slave1
slave2

注意:这里是初学者比较纠结的事情,所以不用纠结不管是主机还是从机内容都是一样的,这里也可以是从机的ip地址,因为我们配置了/etc/hosts这个文件,所以我们可以使用名称来找到对应的ip地址。

 

6.vi hadoop-env.sh

 

 

找到这个位置,并修改

# The java implementation to use.

#export JAVA_HOME=${JAVA_HOME} 

修改内容:

export JAVA_HOME=/home/llg/soft/jdk

jdk的安装路径

 

7.vi yarn-env.sh

添加JAVA_HOME

我们需要改变的文件为下面几个:

基于CentOS6.5系统Hadoop2.7.3完全分布式集群搭建详细步骤_第4张图片

注意:

1)将hosts文件分发到所有节点

$>scp /etc/hosts hyxy@slave1:/etc/

2) 将hadoop目录分发到所有从节点

$>scp -r ~/soft/hadoop/etc/hadoop hyxy@slave1:~/soft/hadoop/etc

十一、格式化

a. 删除hadoop.tmp.dir路径下的所有文件(所有节点)

b. 删除HADOOP_LOG_DIR设置路径下的日志文件(所有节点)

c. 格式化:

$>hdfs namenode -format(主节点)

注:

1.这个是命令使用普通用户执行的,不能使用root权限,会报错,并且是在主节点上运行的

2.如果你的hadoop集群搭建成功了,这个格式化只需要执行一次,你想再格式化之前,请把上面a、b两个文件删除干净

十二、开启完全分布式:

 

$>start-all.sh

 

基于CentOS6.5系统Hadoop2.7.3完全分布式集群搭建详细步骤_第5张图片

 

 

使用命令查看工作进程

$>jps

基于CentOS6.5系统Hadoop2.7.3完全分布式集群搭建详细步骤_第6张图片

 

 

 

浏览器上输入:http://192.168.111.151:50070/,出现:

 

基于CentOS6.5系统Hadoop2.7.3完全分布式集群搭建详细步骤_第7张图片

并且可以查看到有两个存活节点,表示搭建成功,如果不成功不要气馁,查看日志文件~/soft/hadoop/logs找到错误

我们可以使用命令:

$>hadoop fs -put ./test.txt /

上传文件到我们hadoop根目录

查看我们是否上传成功:

出现:

基于CentOS6.5系统Hadoop2.7.3完全分布式集群搭建详细步骤_第8张图片

 

十三、关闭完全分布式:

$>stop-all.sh

到此我们的hadoop环境就搭建成功了!!!

十四、补充知识:

1.解决CentOS6.5sudo不可用问题

修改/etc/sudoers文件

$>su
$>visudo

root ALL=(ALL)  ALL

下插入:

hyxy ALL=(ALL)  ALL

2.补充命令:

 

安全模式解除指令:

$>hadoop dfsadmin -safemode leave

删除hadoop集群文件指令:

$>hadoop fs -rm /test.txt

 

你可能感兴趣的:(hadoop)