目录
重要的内容不多。大多都是解释
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/usrtar -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
出现以下这个界面即算成功