Hadoop 伪分布式配置(保姆级)


目录

0.主要代码:

1.导入

2.解压缩包:(这里我是解压到了usr文件中)

3.配置Hadoop和jdk的环境变量

4 ssh免密配置

5.修改Hadoop的相关配置文件

重要的内容不多。大多都是解释

0.主要代码:

删除jdk:

rpm -e --nodeps (jdk 的包名字)

配置环境变量:

export JAVA_HOME=/usr/jdk1.8.0_341
export PATH=$PATH:$JAVA_HOME/bin:$PATH
export HADOOP_HOME=/usr/hadoop-3.3.4
export PATH=$PATH:$HADOOP_HOME/bin:$PATH:$HADOOP_HOME/sbin

配置SSH无密码登录:

  $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  $ chmod 0600 ~/.ssh/authorized_keys


修改Hadoop的相关配置文件:
etc/hadoop/core-site.xml:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>


etc/hadoop/hdfs-site.xml:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>
修改配置文件etc/hadoop/hadoop-env.sh
export JAVA_HOME=

修改配置文件etc/hadoop/hadoop-env.sh
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root

$ bin/hdfs namenode -format

 $ sbin/start-dfs.sh


在进行伪分布式配置时,需要先进行jdk和Hadoop的环境变量配置,其次再进行.ssh免密设置最后进行伪分布式配置

1.导入

这里我是将压缩包导入到了我创建的文件夹export中

rz -E  %导入压缩包

2.解压缩包:(这里我是解压到了usr文件中)


tar -zxvf jdk-8u341-linux-x64.tar.gz -C/usr

tar -zxvf hadoop-3.3.4.tar.gz -C/usr
 

3.配置Hadoop和jdk的环境变量

1).删除之前的jdk

#检测 JDK 的安装包

rpm -qa | grep java   

#删除jdk

rpm -e --nodeps jdk包名  (一次只能删除一个)

2)配置Hadoop和jdk的环境变量

(进入hadoop-3.3.4  使用pwd可查看当前目录的路径 ,然后复制路径)

截图:

进入环境变量,并配置坏境变量  (字母i 进行插入模式 esc退出插入  :wq 保存退出)

代码:

vim /etc/profile  
export JAVA_HOME=/usr/jdk1.8.0_341
export PATH=$PATH:$JAVA_HOME/bin:$PATH
export HADOOP_HOME=/usr/hadoop-3.3.4
export PATH=$PATH:$HADOOP_HOME/bin:$PATH:$HADOOP_HOME/sbin

重启环境变量

source /etc/profile

检验jdk和hadoop

java -version
hadoop version

配置完成后的截图

4 ssh免密配置

1)生成密钥对(敲三次回车!!!)

ssh-keygen -t rsa
#或者
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
#ssh-keygen: 这是一个用于创建、管理和转换身份验证密钥的工具,通常用于SSH协议。
-t rsa: 这个选项指定了要生成的密钥对的类型。在这里,我们选择了RSA类型。RSA是一种广泛使用的公钥加密算法。
-P '': 这个选项允许你设置一个空密码短语(passphrase)。-P 后面跟着的是密码短语的内容,而 '' 表示一个空字符串,即没有密码短语。这意味着生成的密钥对将没有密码保护,可以很容易地被访问,但这也可能带来安全风险。在安全性要求较高的环境中,建议使用密码短语来保护密钥对。
-f ~/.ssh/id_rsa: 这个选项指定了密钥对的输出文件路径。~ 是当前用户的主目录的简写,.ssh/id_rsa 是默认的SSH私钥文件的路径。这意味着生成的私钥将被保存在 ~/.ssh/id_rsa,而相应的公钥将被保存在 ~/.ssh/id_rsa.pub。
综合起来,这个命令将生成一个RSA类型的SSH密钥对,私钥保存在 ~/.ssh/id_rsa,公钥保存在 ~/.ssh/id_rsa.pub,并且没有设置密码短语。

2)查看密钥对

在root目录下的 .ssh 中查看

截图

3)复制公钥

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

#cat ~/.ssh/id_rsa.pub: cat命令用于显示文件内容。这里,它显示~/.ssh/id_rsa.pub文件的内容,即SSH公钥。
>>: 这是一个重定向操作符,用于将前面命令的输出追加到指定的文件中。如果文件不存在,它会创建文件;如果文件已经存在,它会在文件的末尾追加内容,而不是覆盖文件内容。
~/.ssh/authorized_keys: 这是一个文件路径,指向用户主目录下的.ssh子目录中的authorized_keys文件。这个文件包含了允许无密码SSH登录到该用户的公钥列表。
综合起来,这个命令的作用是将你的公钥添加到authorized_keys文件中,从而允许你使用对应的私钥进行无密码SSH登录。这是SSH密钥认证的一个常见步骤。

4)权限设置

chmod 0600 ~/.ssh/authorized_keys

#
chmod: 这是“change mode”的缩写,用于改变文件或目录的权限。

0600: 这是一个八进制数,表示文件权限。其中,第一个数字(0)表示特殊权限位(如setuid、setgid和sticky bit),在这个例子中没有被设置。接下来的三个数字(600)被分为三组,每组一个数字,分别代表文件所有者的权限、文件所属组的权限和其他用户的权限。

6(即二进制的110)代表读和写权限,但没有执行权限。
0(即二进制的000)代表没有任何权限。
因此,0600 的权限设置意味着:

文件所有者(通常是创建文件的用户)有读和写权限。

文件所属组和其他用户没有任何权限。

~/.ssh/authorized_keys: 这是目标文件的路径,指向用户主目录下的 .ssh 子目录中的 authorized_keys 文件。这个文件包含了允许无密码SSH登录到该用户的公钥列表。

综合起来,chmod 0600 ~/.ssh/authorized_keys 命令的作用是设置 ~/.ssh/authorized_keys 文件的权限,使得只有文件的所有者(即当前用户)可以读和写这个文件,而文件所属组和其他用户则没有任何权限。这是一个推荐的安全设置,因为 authorized_keys 文件包含了用于SSH无密码登录的公钥,因此应该保护它免受未经授权的访问。
5)测试是否正确

ssh localhost

#

ssh localhost 是一个命令行指令,用于通过SSH(Secure Shell)协议连接到本地计算机。localhost 是一个特殊的主机名,它指代当前计算机本身。

当你运行 ssh localhost 时,你的SSH客户端会尝试连接到运行在你当前计算机上的SSH服务器。这通常用于测试SSH配置是否正确,或者如果你想要在一个隔离的环境中运行命令(例如,使用SSH的转发功能或连接到本地的一个容器或虚拟机)。

如果你之前已经设置了无密码登录(比如通过将你的公钥添加到 ~/.ssh/authorized_keys 文件中),那么这个命令应该会直接登录,而不会要求你输入密码。

如果SSH服务器需要密码或者你没有正确设置无密码登录,那么系统会提示你输入密码。

请注意,连接到 localhost 通常不需要网络连接,因为所有的通信都在本地计算机内部进行。但是,你仍然需要确保SSH服务器在本地计算机上正确安装和配置。

如果你只是想测试SSH是否可以正常工作,而不关心实际登录到某个会话,你也可以使用 -q 选项来静默地执行连接测试,

例如:ssh -q localhost exit   这个命令会尝试连接到 localhost 并立即退出。如果连接成功,则命令不会输出任何内容并返回状态码0;如果连接失败,则会返回非零状态码并可能输出错误信息。

截图

6)登出

exit

截图:

5.修改Hadoop的相关配置文件

先进入到 hadoop-3.3.4

1)配置 etc/hadoop/core-site.xml
 

vim etc/hadoop/core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

2)配置 etc/hadoop/hdfs-site.xml

vim etc/hadoop/hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

3)修改配置文件etc/hadoop/hadoop-env.sh

vim etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/jdk1.8.0_341

在末尾输入以下代码

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root

截图:

4)格式化

bin/hdfs namenode -format

#

bin/hdfs namenode -format 是一个用于格式化 Hadoop 分布式文件系统(HDFS)的 NameNode 的命令。这个命令通常在你首次安装 Hadoop 或在 NameNode 的元数据丢失或损坏后需要重置时使用。

5)启动

sbin/start-dfs.sh

#

sbin/start-dfs.sh 是一个用于启动 Hadoop 分布式文件系统(HDFS)的脚本。Hadoop 是一个开源的分布式计算框架,而 HDFS 是 Hadoop 的一个核心组件,用于存储和管理大数据集。一旦 sbin/start-dfs.sh 脚本执行成功,HDFS 就会开始运行,我们就可以开始使用它来存储和管理数据了。

6)查看进程 (查看当前运行的 Java 进程及其主类名。)

jps

截图

#

jps 并不是 Hadoop 的一个命令或脚本。它实际上是 Java 提供的一个命令行工具,用于列出当前系统中运行的 Java 虚拟机(JVM)进程。

7)最后返回到vmware中

点击 Firefox -输入localhost:9870

出现以下这个界面即算成功

  • 29
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

做个尘世俗人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值