Hadoop分布式环境配置(4)

系列文章目录

Hadoop分布式环境配置(1)
Hadoop分布式环境配置(2)
Hadoop分布式环境配置(3)
Hadoop分布式环境配置(4)
Hadoop分布式环境配置(5)



前言

在 CentOS7 系统快速配置Hadoop,仅需配置主节点,配置完成后将Hadoop文件及jdk文件发送给从节点,即可完成分布式集群部署,本节主要介绍设置SSH免密登录。


SSH协议

SSH(Secure Shell),建立在应用层基础上的安全协议。SSH 是较可靠的,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

SSH提供两种级别的安全验证方式:基于口令的安全验证和基于密钥的安全验证,我们接下来采用的是第二种方式。两种方式的区别:

  • 基于口令的安全验证
    知道账号和密码,即可远程登录主机,所有传输数据均会加密,但是不能保证当前正在连接的主机是否为目标主机,有可能是冒充真正的主机。
  • 基于密钥的安全验证
    需要依靠密匙,也就是必须为自己创建一对密匙,并把公用密匙放在需要访问的主机上。该方式不需要传送口令,因此可实现免密登录。

设置SSH免密登录

免密登录原理

A免密登录B (A -> B)

  1. A生成密钥对(私钥和公钥)
  2. A把公钥复制发送给B
  3. B把A的公钥放置到authorized_key认证文件中
  4. A向B发出登录请求
  5. B收到登录请求后从authorized_key认证文件中查找相应的用户名和IP地址,如果有,则B随机生成一个字符串,并用A的公钥加密,发送给A
  6. A收到B的加密信息后,A用私钥解密,并将解密后的字符串信息发送回给B
  7. B将收到的解密后的字符串与生成的字符串比对,如果一致,则允许登录

具体设置方法

  1. 删除所有主机上的 /root/.ssh/*

    rm /root/.ssh/*
    
  2. 在当前主机(s201)上生成密钥对

    ssh-keygen -t rsa
    # 或者
    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    
  3. 将当前主机(s201)的公钥文件 id_rsa.pub 远程复制到其他主机上(s202~s204),放置在 /root/.ssh/authorized_keys

    1. 可先放置在其他位置(ps:/home/id_rsa.pub)

      scp id_rsa.pub root@s202:/home/id_rsa.pub_s201	# 复制到s202
      scp id_rsa.pub root@s203:/home/id_rsa.pub_s201	# 复制到s203
      scp id_rsa.pub root@s204:/home/id_rsa.pub_s201	# 复制到s204
      
    2. 再添加到 authorized_keys 认证文件中

      cat id_rsa.pub_s201 >> /root/.ssh/authorized_keys	# 自己免密登录自己
      cat id_rsa.pub_s202 >> /root/.ssh/authorized_keys	# 免密登录s202
      cat id_rsa.pub_s203 >> /root/.ssh/authorized_keys	# 免密登录s203
      cat id_rsa.pub_s204 >> /root/.ssh/authorized_keys	# 免密登录s204
      
  4. 验证是否实现免密登录,使用ssh操作其他主机

    1. 登录

      ssh s202
      # 或者
      ssh s202 ps -Af
      
    2. 返回

      # 切换成功后返回
      exit
      
    3. 查看端口

      netstat -naop | grep 50010
      

总结

以上就是今天要讲的内容,本文仅仅简单介绍了SSH协议的工作原理,而Hadoop集群利用SSH协议可以减少密码操作,更加方便。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hadoop是一个分布式的计算框架,它的分布式模式需要在多个节点上进行配置和安装。以下是Hadoop分布式模式的配置步骤: 1. 在每个节点上安装JDK,并配置环境变量。 2. 在每个节点上下载Hadoop的二进制安装包,并将其解压到一个目录下。 3. 配置Hadoop环境变量: 在每个节点的`~/.bashrc`文件中添加以下内容: ``` export HADOOP_HOME=/path/to/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 然后运行`source ~/.bashrc`命令,使配置生效。 4. 配置Hadoop的核心文件`core-site.xml`: 在每个节点的`$HADOOP_HOME/etc/hadoop/core-site.xml`文件中添加以下内容: ``` <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> </configuration> ``` 其中,`master`是Hadoop集群中的主节点的主机名或IP地址,`9000`是Hadoop的默认端口号。 5. 配置Hadoop的HDFS文件系统`hdfs-site.xml`: 在每个节点的`$HADOOP_HOME/etc/hadoop/hdfs-site.xml`文件中添加以下内容: ``` <configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/data/hadoop/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/data/hadoop/dfs/data</value> </property> </configuration> ``` 其中,`dfs.replication`指定了数据块的副本数量,`dfs.namenode.name.dir`指定了主节点存储元数据的目录,`dfs.datanode.data.dir`指定了数据节点存储数据块的目录。 6. 配置Hadoop的YARN资源管理器`yarn-site.xml`: 在每个节点的`$HADOOP_HOME/etc/hadoop/yarn-site.xml`文件中添加以下内容: ``` <configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> ``` 其中,`yarn.resourcemanager.hostname`指定了资源管理器运行的主机名或IP地址,`yarn.nodemanager.aux-services`指定了运行在节点上的附属服务。 7. 配置Hadoop的MapReduce框架`mapred-site.xml`: 在每个节点的`$HADOOP_HOME/etc/hadoop/mapred-site.xml`文件中添加以下内容: ``` <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ``` 其中,`mapreduce.framework.name`指定了MapReduce框架运行的模式。 8. 启动Hadoop集群: 在主节点上执行以下命令启动Hadoop集群: ``` $HADOOP_HOME/sbin/start-dfs.sh $HADOOP_HOME/sbin/start-yarn.sh ``` 然后在任意一个节点上执行以下命令验证Hadoop集群是否正常工作: ``` hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar pi 10 1000 ``` 该命令将会启动一个计算圆周率的MapReduce作业。如果作业能够成功运行并输出正确的结果,则说明Hadoop集群已经正常工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值