大数据学习系列(八)Hadoop1.X全分布式项目及环境搭建

一、环境准备

1.准备四台虚拟机,虚拟机安装及克隆,配置ip请移步另一篇博客:https://blog.csdn.net/qq_40825301/article/details/105214440

2.每台虚拟机修改hostname,我四台虚拟机配置的是 eleven-2,eleven-3,eleven-4,eleven-5.

命令:
vi    /etc/sysconfig/network

编辑后保存:

3.每台虚拟机配置hosts.:  命令    vi   /etc/hosts

4.永久性的关闭防火墙,四台虚拟机。避免之后启动hadoop发生错误找不到原因。

最终配置的四台虚拟机为 :(再次提示关闭防火墙)

hostname ip 该机上要配置的角色
eleven-2 192.168.40.33 namenode
eleven-3 192.168.40.34 secondary namenode ,datanode
eleven-4 192.168.40.35 datanode
eleven-5 192.168.40.36 datanode

二、环境搭建

2.1从节点要对主节点免密访问,即eleven-2要能免密访问 eleven-5,eleven-4 eleven-3。

1.将eleven-2下的.ssh文件下的公钥文件id_dsa.pub 分发至另外三台虚拟机的同目录下
scp  id_dsa.pub   root@eleven-3:/root/.ssh/
2.在另外三台服务器上操作,将eleven-2的公钥添加至验证文件中
cat  id_dsa.pub  >>  authorized_keys

3.验证eleven-2是否能免密访问另外三台虚拟机

ssh  eleven-3...

2.2 安装jdk,注意是oracle的jdk,如果安装了open jdk,先卸载掉

hadoop3.0之前的版本可用jdk1.7,3.0之后的版本需要用jdk1.8

我要安装的hadoop是3.0之前的版本,所以jdk用的是:jdk-7u80-linux-x64.rpm,提取码:d531。

将jdk上传至每台虚拟机,切换至存放的路径下,执行命令进行安装   
 rpm  -i   jdk-7u80-linux-x64.rpm

2.3配置jdk环境变量,

配置环境变量的文件:  /etc/profile

命令 :  vi  /etc/profile

在文件末尾追加
export  JAVA_HOME=/usr/java/jdk1.7.0_80
PATH=$PATH:$JAVA_HOME/bin

保存退出

重新编译环境变量配置文件
.  /etc/profile

验证,查看java进程
命令   :   jps

2.4安装hadoop,我用的版本为hadoop-2.6.5.tar.gz,提取码为 sqty

三台虚拟机都要操作,可先在一台服务器上操作,然后分发至另外三台

1.将hadoop上传至虚拟机

2.解压,这里我的解压路径为  /opt/sxt/

3.配置环境变量

1.vi  /etc/profile
2.在末尾追加,
export  HADOOP_HOME=/opt/sxt/hadoop-2.6.5
并修改path为
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
3.保存退出

4.配置hadoop,hadoop的配置文件存放在   /安装路径下/hadoop-2.6.5/etc/hadoop  ,启动hadoop时,会自动来读取hadoop下的文件,所以这个文件夹名称不要改。

1.配置hadoop中用到的jdk环境变量(二次环境变量配置),切换到 /opt/sxt/hadoop-2.6.5/etc/hadoop 目录下。

编辑   hadoop-env.sh 文件 ,改成下图这样

大数据学习系列(八)Hadoop1.X全分布式项目及环境搭建_第1张图片

编辑  mapred-env.sh (计算框架用的配置脚本) 配置成如下图

大数据学习系列(八)Hadoop1.X全分布式项目及环境搭建_第2张图片

编辑   yarn-env.sh  (资源管理) 配置成如下图

大数据学习系列(八)Hadoop1.X全分布式项目及环境搭建_第3张图片

2.配置hadoop相关配置,,可查看官网,有详细讲解。

编辑  core-site.xml  (主配置文件),增加如下配置


    #######配置主节点(namenode),这里将eleven-2作为namenode服务器,可更改成你自己的#######
    
        fs.defaultFS
        hdfs://eleven-2:9000
    


    #######配置元数据,及数据信息存放路径##########
    #####默认是一个临时文件路径,真是环境中可能会发生丢失的风险,所以需要自定义一个路径存放那些数据,需要将此文件夹创建
    ###格式化的时候在此路径下会生成name文件夹,生成fsimage即时快照,和custmid(集群id)
    ###hadoop启动后会生成 data及secondary namenode的文件夹,存放元数据及数据信息。
    
        hadoop.tmp.dir
        /var/sxt/hadoop/full
    

效果如下:

大数据学习系列(八)Hadoop1.X全分布式项目及环境搭建_第4张图片

编辑  hdfs-site.xml  ,配置副本数量及secondary namenode服务器。


    ####配置副本数量,最好小于等于从节点的数量,多了没什么用
    
        dfs.replication
        3
    
    ####配置secondary namenode的服务器为eleven-3,可改成你自己的
    
        dfs.namenode.secondary.http-address
        eleven-3:50090
    

效果如下:

大数据学习系列(八)Hadoop1.X全分布式项目及环境搭建_第5张图片

编辑 slaves 文件,配置从节点服务器,datanode.

#####增加以下三行,表明将eleven-3。eleven-4,eleven-5作为从节点服务器。(datanode的服务器)
eleven-3
eleven-4
eleven-5

效果如下:

3.将eleven-2配置好的hadoop分发至另外三台服务器同目录下,也可以每台服务器做以上同样的配置 

命令:
scp -r hadoop-2.6.5 eleven-4:/opt/sxt/

4.三台从节点服务器上配置hadoop的环境变量,可以eleven-2配置好的/etc/profile  分发至另外三台服务器同目录下,然后编译下环境变量文件

##将eleven-2配置好的/etc/profile  分发至另外三台服务器
scp /etc/profile eleven-3:/etc/

##编译下
source  /etc/profile

三,hadoop启动,在主节点namenode上操作

1.格式化,格式化后会在配置的full目录下生成name文件夹,存放namenode的信息

命令
hdfs  namenode  -format

成功后效果如下:

大数据学习系列(八)Hadoop1.X全分布式项目及环境搭建_第6张图片

2.启动hadoop,启动成功后会在从节点的每台服务器上的full文件夹下生成对应角色的文件夹。

启动命令:
start-dfs.sh

成功后效果如下:可以看到启动了相关角色。可在每个服务器的full文件夹下看到对应的文件夹。

大数据学习系列(八)Hadoop1.X全分布式项目及环境搭建_第7张图片

3.浏览器请求验证

hadoop提供可视化管理工具 ,可以用外部浏览器访问管理页面,

解释:所有的计算和文件管理操作都是在datanode节点上执行的,但是都是通过namenode节点去操作的datanode节点,也就是namenode管理着所有的datanode。所以此处访问的管理界面也就是namenode。

浏览器请求  当前虚拟机ip:端口号

先查看当前服务器对外提供的浏览器端口,执行命令  ss  -nal
大数据学习系列(八)Hadoop1.X全分布式项目及环境搭建_第8张图片

浏览器请求 eleven-2:50070  注意:前提是windows下配置了hosts.否则用ip访问

大数据学习系列(八)Hadoop1.X全分布式项目及环境搭建_第9张图片

5.关闭

stop-dfs.sh

 

你可能感兴趣的:(技术分享)