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
# 这边主机名要和你自己的名字一致
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://bigdata01:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/data/hadoop_repo</value>
   </property>
</configuration>




hdfs-site.xml
#配置
# 副本数为一应为我们这边只有一个
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

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


mapred-site.xml
# 设置mapreduce使用的资源调度框架
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>




yarn-site.xml
#设置yarn上支持运行的服务和环境变量和白名单
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
   <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
</configuration>




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
bigdata02 192.168.64.102
bigdata03 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
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://bigdata02:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/data/hadoop_repo</value>
   </property>
</configuration>

hdfs-site.xml 
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>bigdata02:50090</value>
    </property>
</configuration>



mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>


yarn-site.xml
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>bigdata02</value>
	</property>
</configuration>

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的客户端节点(客户端节点可以有多个)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值