求解是真的不会了有没有会linux的

上机操作题(30分)
ABC公司要在企业内部搭建大数据处理分析平台。请按照如下要求完成如下环境搭建。
主机名 IP
Host1192.168.1.1/24 Host2 192.168.1.2/24 Host3 192.168.1.3/24
要求:(1)三台主机安装Centos7操作系统,IP配置和主机名如上。
(2)主机间可互相通信。
(3)三台主机间可以通过SSH免密登录。

以下是步骤:

  1. 在三台主机上安装CentOS 7操作系统。
  2. 配置IP地址和主机名。在每台主机上打开终端,使用root用户登录,并编辑/etc/hosts文件,添加如下内容:
192.168.1.1 Host1
192.168.1.2 Host2
192.168.1.3 Host3

这样可以将IP地址与主机名进行绑定,方便在集群中进行通信。

  1. 安装必要的软件和工具。在每台主机上运行以下命令:
yum install java-1.8.0-openjdk-devel wget ntp -y

这些软件和工具将用于后续的环境搭建。

  1. 安装Hadoop分布式文件系统。在Host1上运行以下命令:
wget https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
tar -xzvf hadoop-3.3.0.tar.gz
mv hadoop-3.3.0 /usr/local/hadoop
  1. 配置Hadoop环境变量。在Host1上编辑/etc/profile文件,添加如下内容:
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

然后运行以下命令使配置生效:

source /etc/profile
  1. 配置Hadoop集群。在Host1上编辑/usr/local/hadoop/etc/hadoop/core-site.xml文件,添加如下内容:
<configuration>
   <property>
      <name>fs.defaultFS</name>
      <value>hdfs://Host1:9000</value>
   </property>
</configuration>

然后编辑/usr/local/hadoop/etc/hadoop/hdfs-site.xml文件,添加如下内容:

<configuration>
   <property>
      <name>dfs.replication</name>
      <value>3</value>
   </property>
   <property>
      <name>dfs.namenode.name.dir</name>
      <value>/usr/local/hadoop/data/nameNode</value>
   </property>
   <property>
      <name>dfs.datanode.data.dir</name>
      <value>/usr/local/hadoop/data/dataNode</value>
   </property>
</configuration>

这里将数据副本数设置为3,同时指定了NameNode和DataNode的存储路径。

  1. 启动Hadoop集群。在Host1上运行以下命令:
hdfs namenode -format
start-dfs.sh

这样就可以启动Hadoop集群并格式化NameNode。

  1. 安装Apache Spark分布式计算框架。在Host1上运行以下命令:
wget https://www.apache.org/dyn/closer.cgi/spark/spark-3.1.2/spark-3.1.2-bin-hadoop3.2.tgz
tar -xzvf spark-3.1.2-bin-hadoop3.2.tgz
mv spark-3.1.2-bin-hadoop3.2 /usr/local/spark
  1. 配置Spark环境变量。在Host1上编辑/etc/profile文件,添加如下内容:
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

然后运行以下命令使配置生效:

source /etc/profile
  1. 启动Spark集群。在Host1上运行以下命令:
start-all.sh

这样就可以启动Hadoop和Spark集群,完成大数据处理分析平台的搭建。

以上步骤仅为题1示例,需要根据具体情况进行调整和修改。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    解决方案:

    1. 在三台主机上安装Centos7操作系统并配置IP和主机名,这个具体步骤可以参考网络上的教程或者系统自带的帮助文档。

    2. 实现主机间可互相通信和SSH免密登录:

    首先,在每一台主机上都执行以下命令生成公钥私钥:

    ssh-keygen -t rsa
    

    然后,在每一台主机上都执行以下命令将公钥文件传输到其他主机,例如在node1上将公钥文件传输到node2:

    ssh-copy-id -i ~/.ssh/id_rsa.pub mpiuser@node2
    

    其中,mpiuser为目标主机的用户名,node2为目标主机的IP地址或主机名。这个命令会要求输入目标主机账号的密码,成功后在node1就可以免密登录node2了。

    确保每个节点都可以免密登录其他节点。

    1. 如果遇到ssh登录慢或者无法登录的问题,可以根据以下步骤解决:

    (1) 关闭反向解析,在目标主机的/etc/ssh/sshd_config文件中加上:

    UseDNS no
    

    (2) 开放22端口,使得其他主机可以连接该主机,在目标主机上执行以下命令:

    sudo firewall-cmd --zone=public --add-port=22/tcp --permanent
    sudo service firewalld restart
    

    (3) 仅使用证书登录SSH,使得密码不会被窃取,在目标主机的/etc/ssh/sshd_config文件中加上:

    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile  %h/.ssh/authorized_keys
    

    (4) 检查网络连接状态,在目标主机上执行以下命令:

    ssh root@远程服务器IP地址 -p ssh端口号
    

    如果能够成功连接则说明网络正常。

    (5) 禁止用户以密码认证身份的方式登录,在目标主机的/etc/ssh/sshd_config文件中加上:

    PasswordAuthentication no
    

    然后重启SSH服务。

    (6) 使用服务器的KeepAlive功能保持连接,在客户端的~/.ssh/config文件中加上:

    Host *
        ServerAliveInterval 60
    

    如果有多个人管理服务器,可以在服务器的/etc/ssh/sshd_config中加上:

    ClientAliveInterval 60
    

    这样就可以实现主机间可互相通信和SSH免密登录,并且解决了一些常见的与SSH登录相关的问题。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^