栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

hadoop安装

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

hadoop安装

文章目录
  • 一、伪分布集群安装(单机适合自己学习使用)
    • 1.1 基本环境
    • 1.2 ssh免密
    • 1.3 安装伪分布集群
  • 二、分布集群安装
    • 2.1配置免密登录
    • 2.2配置hadoop


一、伪分布集群安装(单机适合自己学习使用) 1.1 基本环境

     ps 基本环境 1.基于虚拟机搭建 配置静态ip(参考我之前的linux学习) ,2.java环境,3.关闭防火墙(参考我之前的linux学习),4.ssh免密登录,这边我们着重看下ssh免密登录的配置

1.2 ssh免密

     ssh是使用的非对称加密,加密有两种对称,非对称。非对称不可逆所以会比较安全。非对称加密会有两种秘钥,公钥和私钥,公钥顾名思义就是公共的,私钥是自己留着的
过程:

  1. a机器吧自己的公钥给b机器
  2. a机器要和第二台机器通信的时候 a机器会发一个随机字符串,b机器会使用这个公钥对齐加密,同时a机器也对这个字符串加密,然后也传给b机器,这时候b机器对这两份进行匹配,如果ok就可信,可以登录。
  3. 这边以bigdata01 机器免密登录自己为例
[root@bigdata01 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root

[root@bigdata01 ~]# ll ~/.ssh/

[root@bigdata01 ~]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

# 测试连接
[root@bigdata01 ~]# ssh bigdata01
1.3 安装伪分布集群

因为我们会用到bin目录和sbin目录下面的一些脚本,为了方便使用,我们需要配置一下环境变量

[root@bigdata01 hadoop-3.2.0]# vi /etc/profile
#加入下列环境
export JAVA_HOME=/data/soft/jdk1.8
export HADOOP_HOME=/data/soft/hadoop-3.2.0
export PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH
[root@bigdata01 hadoop-3.2.0]# source /etc/profile

进入hadoop安装目录主要修改 一下配置
hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml workers

hadoop-env.sh
#JAVA_HOME:指定java的安装位置
#HADOOP_LOG_DIR:hadoop的日志的存放目录
export JAVA_HOME=/data/soft/jdk1.8
export HADOOP_LOG_DIR=/data/hadoop_repo/logs/hadoop

core-site.xml
# 这边主机名要和你自己的名字一致

    
        fs.defaultFS
        hdfs://bigdata01:9000
    
    
        hadoop.tmp.dir
        /data/hadoop_repo
   





hdfs-site.xml
#配置
# 副本数为一应为我们这边只有一个

    
        dfs.replication
        1
    


# 修改workers,设置集群中从节点的主机名信息,在这里就一台集群,所以就填写bigdata01即可
[root@bigdata01 hadoop]# vi workers
bigdata01


mapred-site.xml
# 设置mapreduce使用的资源调度框架

    
        mapreduce.framework.name
        yarn
    





yarn-site.xml
#设置yarn上支持运行的服务和环境变量和白名单

    
        yarn.nodemanager.aux-services
        mapreduce_shuffle
    
    
        yarn.nodemanager.env-whitelist
   JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME
    





workers
bigdata01





start-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root


stop-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root


start-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root


stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root


修改完还不行记得格式化

# successfully formatted看到这个就成功了
[root@bigdata01 hadoop-3.2.0]# bin/hdfs namenode -format
# 启动集群
[root@bigdata01 hadoop-3.2.0]# sbin/start-all.sh
二、分布集群安装 2.1配置免密登录

ps:前置条件是jdk,防火墙,host都配置好了

bigdata01 192.168.64.101
bigdata01 192.168.64.102
bigdata01 192.168.64.103

# 分别配置dns解析
vi /etc/hosts
bigdata01 192.168.64.101 bigdata02
bigdata01 192.168.64.102 bigdata03
bigdata01 192.168.64.103 bigdata04

# 集群节点之间时间同步
# 默认是没有ntpdate命令的,需要使用yum在线安装,执行命令 yum install -y ntpdate
#  ntpdate -u ntp.sjtu.edu.cn检查是不是安装成功
[root@bigdata02 ~]# yum install -y ntpdate
#在三台机器上分别配置上定时的同步任务
vi /etc/crontab
* * * * * root /usr/sbin/ntpdate -u ntp.sjtu.edu.cn

# 免密登录 
# ssh-keygen -t rsa 执行以后会在~/.ssh目录下生产对应的公钥和秘钥文件
# 伪分布式集群的时候我们  cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 自己免密登录自己
# 现在吧data02公钥信息拷贝到两个从节点
scp ~/.ssh/authorized_keys bigdata03:~/
scp ~/.ssh/authorized_keys bigdata04:~/
# 然后再bigdata03 bigdata04 分别运行
# 如果这边提示.ssh/xx找不到文件 可以手动建
 cat ~/authorized_keys >> ~/.ssh/authorized_keys
有没有必要实现从节点之间互相免密码登录呢?
这个就没有必要了,因为在启动集群的时候只有主节点需要远程连接其它节点。

2.2配置hadoop
# 还是在/data/soft 
tar -zxvf hadoop-3.2.0.tar.gz
#解压完修改配置
core-site.xml

    
        fs.defaultFS
        hdfs://bigdata02:9000
    
    
        hadoop.tmp.dir
        /data/hadoop_repo
   


hdfs-site.xml 

    
        dfs.replication
        2
    
    
        dfs.namenode.secondary.http-address
        bigdata02:50090
    




mapred-site.xml

    
        mapreduce.framework.name
        yarn
    



yarn-site.xml

    
        yarn.nodemanager.aux-services
        mapreduce_shuffle
    
    
        yarn.nodemanager.env-whitelist
        JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME
    
	
		yarn.resourcemanager.hostname
		bigdata02
	


vi workers(注意这个命令要在/data/soft/hadoop-3.2.0/etc/hadoop执行)
bigdata03
bigdata04


start-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root


stop-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root


start-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root


stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root


# 修改完同步hadoop到03 04
[root@bigdata02 soft]# scp -rq hadoop-3.2.0 bigdata03:/data/soft/
[root@bigdata02 soft]# scp -rq hadoop-3.2.0 bigdata04:/data/soft/

#在bigdata02上 如果在后面的日志信息中能看到common.Storage: Storage directory /data/hadoop_repo/dfs/name has been successf 说明成功格式化
[root@bigdata02 hadoop-3.2.0]# bin/hdfs namenode -format
#验证集群
[root@bigdata02 hadoop-3.2.0]# jps
 NameNode
 ResourceManager
SecondaryNameNode

[root@bigdata03 ~]# jps
NodeManager
 DataNode

[root@bigdata04 ~]# jps
NodeManager
 DataNode


#启动集群
[root@bigdata02 hadoop-3.2.0]# sbin/start-all.sh
#关闭集群
[root@bigdata02 hadoop-3.2.0]# sbin/stop-all.sh

链接: hadoop官网文档连接.
ps:业务机器上安装Hadoop,只需要保证业务机器上的Hadoop的配置和集群中的配置保持一致即
可,这样就可以在业务机器上操作Hadoop集群了,此机器就称为是Hadoop的客户端节点(客户端节点可以有多个)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/320873.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号