资讯专栏INFORMATION COLUMN

hadoop集群搭建-hadoop3.1.1

leiyi / 1042人阅读

摘要:集群搭建环境虚拟机三台主节点一下如无特殊说明都是在主节点上配置下载安装参考文档文档自行选择版本安装本文按示例版本的配置参考文档解压上传到系统中解压配置配置文件位置环境因为要远程调用找不到变量使用的文件系统和的位置运行时产生的文件的

hadoop集群搭建

环境 centos6.7

虚拟机三台 yh01(主节点) yh02 yh03 一下如无特殊说明都是在主节点上配置

1.下载

http://mirrors.hust.edu.cn/ap...

hadoop-3.1.1.tar.gz

2.安装 2.1 参考文档

文档 http://hadoop.apache.org/docs/

自行选择版本安装 本文按3.1.1示例

版本 http://hadoop.apache.org/rele...

3.1.1的配置参考文档 http://hadoop.apache.org/docs...

2.2 解压

上传hadoop-3.1.1.tar.gz到centos6.7系统中 解压

2.3 配置

配置文件位置 /export/servers/hadoop-3.1.1/etc/hadoop/

hadoop-env.sh 27

#jdk 环境 因为要远程调用 ${java_home}找不到变量  
export JAVA_HOME=/export/servers/jdk1.8.0_141

core-site.xml


        
        #hadoop使用的文件系统(uri) hdfs 和hdfs的位置
            fs.defaultFS
            hdfs://yh01:9000
        
        
        #hadoop运行时产生的文件的存储位置
            hadoop.tmp.dir
            /export/data/HADOOP/apps/hadoop-3.1.1/tmp
        

hdfs-site.xml 都有默认值 也可以不配置


    ----------------
    
    #namenode上存储hdfs名字空间元数据
        dfs.namenode.name.dir
        /export/data/HADOOP/hdfs/name
    
    
    #hdfs datanode上数据块的物理存储位置
        dfs.datanode.data.dir
        /export/data/HADOOP/hdfs/data
    
    
    #hdfs数据副本数量 3分副本 应小于datanode机器数量
        dfs.replication
        3
    
    ----------------
    
        dfs.secondary.http.address
        yh01:50090
    

mapred-site.xml


        
            mapreduce.framework.name
            #mr运行的平台 默认local本地模式
            yarn
        
    

yarn-site.xml


        
            yarn.resourcemanager.hostname
            #yarn (MR)的ResourcesManager管理界面的地址 主机名称
            yh01
        
        
            #reducer获取数据的方式
            yarn.nodemanager.aux-services
            mapreduce_shuffle
        
    

添加hdfs权限 vim sbin/start-dfs.sh sbin/stop-dfs.sh 在顶部空白位置添加

HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

否则会报错 (缺少用户权限定义造成的)因此编辑启动和关闭

ERROR: Attempting to launch hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting launch.
Starting datanodes
ERROR: Attempting to launch hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting launch.
Starting secondary namenodes [localhost.localdomain]
ERROR: Attempting to launch hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting launch.

添加yarn权限 vim sbin/start-yarn.sh sbin/stop-yarn.sh

YARN_RESOURCEMANAGER_USER=root
HDFS_DATANODE_SECURE_USER=yarn
YARN_NODEMANAGER_USER=root

2.4 添加环境变量

vim /etc/profile

export JAVA_HOME=/export/servers/jdk1.8.0_141
export PATH=$PATH:$JAVA_HOME/bin

#hadoop
export HADOOP_HOME=/export/servers/hadoop-3.1.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile

临时简单验证下有没有问题

[root@yh01]# cd $HADOOP_HOME

[root@yh01 hadoop-3.1.1]#  bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jar grep input output "dfs[a-z.]+"

修改ssh (yh01 yh02 yh03 都需要执行ssh-keygen以下的命令)

现在检查您是否可以在没有密码的情况下ssh到localhost:
 ssh yh01
 
 如果在没有密码短语的情况下无法ssh到localhost,请执行以下命令:

 ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
 chmod 0600 ~/.ssh/authorized_keys
 
 添加本机ssh到本机ssh中 当使用start-all.sh启动works下的所有机器时能直接无秘钥启动
 同时分发yh01主机的秘密到其他机器中
 ~/.ssh/authorized_keys 包含 当前机器 及主节点机器的秘钥
 

修改/etc/ssh/sshd_config 文件

需要修改的 如果有注释 就发开注释

RSAAuthentication yes 
PubkeyAuthentication yes #这两项为打开公钥模式 
AuthorizedKeysFile .ssh/authorized_keys #配置公钥记录文件 
PasswordAuthentication yes #打开密码验证模式

2.4.1 分发hadoop文件

分发$HADOOP_HOME的文件到其他机器

[root@yh01 hadoop-3.1.1]# pwd
/export/servers/hadoop-3.1.1
[root@yh01 hadoop-3.1.1]# scp -r hadoop-3.1.1/ root@yh02:$PWD
[root@yh01 hadoop-3.1.1]# scp -r hadoop-3.1.1/ root@yh03:$PWD

修改works文件 文件中的所有工作者主机名或IP地址,每行一个

添加hadoop节点

vim hadoop-3.1.1/etc/hadoop/works
  假设有3台
 
  yh01
  yh02
  yh03
  
  要添加本机ssh链接
  ssh yh01

3 启动 3.1 先格式化HDFS 启动HDFS 然后启动yarn
如果配置了workds文件
只需要在yh01上执行即可 分割线一下的可以忽略

hdfs namenode -format 
启动 
$HADOOP_HOME/sbin/start-dfs.sh 
$HADOOP_HOME/sbin/start-yarn.sh
$HADOOP_HOME/bin/mapred --daemon start historyserver
关闭
$HADOOP_HOME/sbin/stop-dfs.sh
$HADOOP_HOME/sbin/stop-yarn.sh
$HADOOP_HOME/bin/mapred --daemon stop historyserver
===========================



在主节点 yh01上执行
$HADOOP_HOME/bin/hdfs --daemon start namenode
在副节点 yh02 yh03上执行
$HADOOP_HOME/bin/hdfs --daemon start datanode
#格式化成功
2018-08-24 16:41:04,983 INFO common.Storage: Storage directory /export/data/HADOOP/data/name has been successfully formatted.
3.2 批量操作
启动所有
start-all.sh 
关闭所有
stop-all.sh
3.3 验证
[root@yh01 logs]# jps
5633 Jps
4498 ResourceManager
4020 DataNode
5556 JobHistoryServer
3879 NameNode
4247 SecondaryNameNode
4635 NodeManager

[root@yh02 hadoop-3.1.1]# jps
5856 Jps
3969 Bootstrap
5345 NodeManager
5235 DataNode
3919 QuorumPeerMain


[root@yh03 hadoop-3.1.1]# jps
3729 QuorumPeerMain
4820 NodeManager
4711 DataNode
3768 Bootstrap
5050 Jps
4访问manager页面
Daemon Web Interface Notes
NameNode http://nn_host:port/ Default HTTP port is 9870.
ResourceManager http://rm_host:port/ Default HTTP port is 8088.
MapReduce JobHistory Server http://jhs_host:port/ Default HTTP port is 19888.

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

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

相关文章

  • 基于Docker搭建Hadoop集群之升级版

    摘要:总之,项目还算很受欢迎吧,这篇博客将介绍项目的升级版。一项目介绍将打包到镜像中,就可以快速地在单个机器上搭建集群,这样可以方便新手测试和学习。之前的版本使用为集群提供服务,由于网络功能更新,现在并不需要了。运行参考第二部分启动,并运行。 摘要: kiwenlau/hadoop-cluster-docker是去年参加Docker巨好玩比赛开发的,得了二等奖并赢了一块苹果手表,目前这个项目...

    Zoom 评论0 收藏0

发表评论

0条评论

leiyi

|高级讲师

TA的文章

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