资讯专栏INFORMATION COLUMN

(单机)CentOS 7_64位系统下搭建Hadoop_2.8.0分布式环境

未东兴 / 2028人阅读

摘要:准备条件位操作系统选择版本即可不带可视化桌面环境,也可以选择带完整版本文采用的是版本。从而导致两者的不一致,出现一系列错误。问题三在完全分布式模式下运行失败,无法登陆或没有访问权限解决办法修改添加

准备条件:

CentOS 7 64位操作系统 | 选择minimal版本即可(不带可视化桌面环境),也可以选择带完整版
Hadoop-2.8.0 | 本文采用的是Hadoop-2.8.0版本。
JDK1.8 | 本文采用jdk-8u131-linux-x64.tar.gz版本。


- 解压并配置JDK并配置Hadoop

1. 将下载好的jdk放入/usr 下并在/usr目录下新建java目录

[root@localhost /]# cd /usr
[root@localhost usr]# mkdir java
[root@localhost usr]# cd /usr/java/jdk1.8

进入该目录,并解压jdk到当前文件夹

  tar -xzvf jdk-8.tar.gz 

解压得到文件夹修改文件夹名为jdk1.8以方便使用。
修改JAVA环境变量:
编辑java环境 vi ~/.bash_profile
添加如下命令:

export JAVA_HOME=/usr/java/jdk1.8.0_121

export PATH=$JAVA_HOME/bin:$PATH

执行source ~/.bash_profile 使变量生效

2. 解压hadoop-2.8.0
将下载好的Hadoop压缩包解压到目标文件夹下,(本文解压目录为:/usr/local
修改解压后得到Hadoop的文件夹名为:Hadoop-2.8.0 并得到如下文件:

Hadoop不需要安装,下面进行环境配置

下面的修改过程可使用vi命令,或者vim命令,或使用xftp直接对文件进行修改

再次修改bash_profile 添加hadoop的文件路径:
加上之前修改的配置的jdk环境,改该文件整体修改为:

PATH=$PATH:$HOME/bin
export PATH
export JAVA_HOME=/usr/java/jdk1.8
export HADOOP_HOME=/usr/local/hadoop-2.8.0
export PATH=$JAVA_HOME/bin:$PATH:$HOME/bin:$HADOOP_HOME/bin

再次执行 source ~/.bash_profile 使得文件立即生效

修改etc/hadoop/core-site.xml将configurarion标签修改为:
注意: 192.168.0.181是本文的测试地址,相应的,需要修改成自己虚拟机的ip地址,如果虚拟机不是桥接方式,则可以改为:127.0.0.1 9000是Hadoop的默认端口,建议先不要修改

        
             
                fs.defaultFS
                hdfs://192.168.0.181:9000
            
            
                hadoop.tmp.dir
                file:/usr/local/hadoop-2.8.0/tmp
            
            
                io.file.buffer.size
                131702
            
            
                hadoop.proxyuser.hadoop.hosts
                *
            
            
                hadoop.proxyuser.hadoop.groups
                *
            
        

修改etc/hadoop/hdfs-site.xml

   
       
           dfs.namenode.name.dir
           file:/usr/local/hadoop-2.8.0/hdfs/name
       
       
           dfs.datanode.data.dir
           file:/usr/local/hadoop-2.8.0/hdfs/data
       
       
           dfs.replication
           3
       
       
           dfs.namenode.secondary.http-address
           192.168.0.181:9001
       
       
           dfs.webhdfs.enabled
           true
       
        
           dfs.permissions
           false
           
   

以上,分别配置的是相应的几个节点和安全认证,文件目录会在服务开启时自动创建

dfs.permissions设置为false可以允许完全分布式模式下的多机访问

修改etc/hadoop/yarn-site.xml

   
   
   
       
           yarn.nodemanager.aux-services
           mapreduce_shuffle
       
       
           yarn.nodemanager.auxservices.mapreduce.shuffle.class
           org.apache.hadoop.mapred.ShuffleHandler
       
       
           yarn.resourcemanager.address
           192.168.0.181:8032
       
       
           yarn.resourcemanager.scheduler.address
           192.168.0.181:8030
       
       
           yarn.resourcemanager.resource-tracker.address
           192.168.0.181:8031
       
       
           yarn.resourcemanager.admin.address
           192.168.0.181:8033
       
       
           yarn.resourcemanager.webapp.address
           192.168.0.181:8088
       
       
           yarn.nodemanager.resource.memory-mb
           6078
       
   

修改etc/hadoop/hadoop-env.sh

   # The java implementation to use.

export JAVA_HOME=/usr/java/jdk1.8

   以上修改JAVA_HOME为绝对路径
   

修改 etc/hadoop/mapred-site.xml
注意: etc/hadoop/目录下并没有这个xml文件,仔细查找,有个mapred-site.xml.template把这个文件复制,重命名为 mapred-site.xml并修改为:

            
                
                    mapreduce.framework.name
                    yarn
                
                
                    mapreduce.jobhistory.address
                    192.168.0.181:10020
                
                
                    mapreduce.jobhistory.webapp.address
                    192.168.0.181:19888
                
            

修改 etc/hadoop/yarn-env.sh
在其中找到 export JAVA_HOME 并去掉注释,编辑java地址 export JAVA_HOME=/usr/java/jdk1.8

修改etc/hadoop/slaves
添加当前主机ip

至此,基本配置已经完毕

3. 列表项目

hadoop目录下执行如下指令,进行编译

 ./bin/hdfs namenode –format


出现如上图,表示编译成功。

4. 关闭防火墙:
关闭防火墙服务systemctl stop firewalld.service
使防火墙服务不随机器启动systemctl disable firewalld.service
开启Hadoop服务

./sbin/start-all.sh


输入jps查看相关节点是否开启
打开浏览器:地址栏输入http://192.168.0.181:8088

使用过程中遇到的问题:

问题一:nameNode节点无法启动,jps目录缺少相应活动程序
在第一次格式化dfs后启动并使用了Hadoop,后来又重新执行了格式化命令hdfs namenode –format
这时namenodeclusterID会重新生成,而datanodeclusterID 保持不变。
从而导致两者的id不一致,出现一系列错误。
解决办法:
hadoop/hdfs目录下分别查看data/current下的VERSIONname/current下的VERSION文件对比两文件中的clusterID是否相同,若不同,使用name/current下的VERSION中的clusterID覆盖data/current下的clusterID. 修改后重新启动Hadoop即可

问题二:如何配置单机互信?
每次启动和关闭Hadoop的时候,都需要频繁输入多次密码,通过配置单机互信或者多机互信来简化操作:
解决办法:
使用指令:ssh-keygen -t dsa -P "" -f ~/.ssh/id_dsa
随后:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
并执行:chmod 600 .ssh/authorized_keys
即可。

问题三:在完全分布式模式下运行失败,无法登陆或没有访问权限
解决办法:
修改etc/hadoop/hdfs-site.xml
添加


      dfs.permissions
      false
 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/45773.html

相关文章

  • 单机CentOS 7_64系统搭建Hadoop_2.8.0布式环境

    摘要:准备条件位操作系统选择版本即可不带可视化桌面环境,也可以选择带完整版本文采用的是版本。从而导致两者的不一致,出现一系列错误。问题三在完全分布式模式下运行失败,无法登陆或没有访问权限解决办法修改添加 准备条件: CentOS 7 64位操作系统 | 选择minimal版本即可(不带可视化桌面环境),也可以选择带完整版Hadoop-2.8.0 | 本文采用的是Hadoop-2.8.0版本。...

    Caicloud 评论0 收藏0
  • 我的服务器养成计划 -- hadoop搭建

    摘要:起因在一周前,突然心血来潮,想整理一下我的服务器群,我放下一个暂时在研究的库,开始研究其实就是一开始脑抽了,想搭个分布式文件系统用来共享数据而已,后来选了因为可以顺便做做云计算于是就开始了每天数小时的搭建旅程当时我有的服务器代理服务器上面挂 起因 在一周前,突然心血来潮,想整理一下我的服务器群,我放下一个暂时在研究的node库,开始研究hadoop(其实就是一开始脑抽了,想搭个分布式文...

    Donne 评论0 收藏0
  • Ubuntu16.04安装Hadoop2.7.4伪布式环境

    摘要:按打开终端窗口,执行如下命令安装并设置免密登陆注意每次配置时,需要注意当前目录为。的配置文件位于中,伪分布式需要修改个配置文件和。的配置文件是格式,每个配置以声明的和的方式来实现。 1.创建Hadoop用户三部曲:添加用户,设置密码,给该用户设置管理员权限为 hadoop 用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题 sudo useradd -m hadoop ...

    lei___ 评论0 收藏0
  • Ubuntu16.04安装Hadoop2.7.4伪布式环境

    摘要:按打开终端窗口,执行如下命令安装并设置免密登陆注意每次配置时,需要注意当前目录为。的配置文件位于中,伪分布式需要修改个配置文件和。的配置文件是格式,每个配置以声明的和的方式来实现。 1.创建Hadoop用户三部曲:添加用户,设置密码,给该用户设置管理员权限为 hadoop 用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题 sudo useradd -m hadoop ...

    Jochen 评论0 收藏0
  • Hadoop HA集群 与 开发环境部署

    摘要:伪分布模式在单节点上同时启动等个进程,模拟分布式运行的各个节点。完全分布式模式正常的集群,由多个各司其职的节点构成。在之前在集群中存在单点故障。正确的下载链接会有,这个就是公司需要用户在下载时提供的注册信息。每一次 Hadoop 生态的更新都是如此令人激动像是 hadoop3x 精简了内核,spark3 在调用 R 语言的 UDF 方面,速度提升了 40 倍所以该文章肯定得配备上最新的生态h...

    番茄西红柿 评论0 收藏2637

发表评论

0条评论

最新活动
阅读需要支付1元查看
<