本学期本人学校开设了华为认证大数据课程,课程实验要求做头歌内部分实验,本人在此前不具备相关知识,所以打算慢慢摸索,顺便讲讲心得体会,探索一些问题解决方法。

 该内容仅在头歌实验环境下使用,不适用于本地,仅可作为参考。

 !!!头歌平台实验一定注意,做完一关一定要连续做下一关,不然配置过的内容会丢失,要从第一关开始重做......

目录

第1关:配置开发环境 - JavaJDK的配置

第2关:配置开发环境 - Hadoop安装与伪分布式集群搭


第1关:配置开发环境 - JavaJDK的配置

  首先我们创建一个app文件夹(注意,在实验中所有命令中的空格都绝对不要省略,不然命令无法运行)

mkdir /app

  这里可以切换到/opt目录下,使用ll命令,查看提供的压缩包,发现压缩包里已经存在JDK和Hadoop的安装文件了,作者已经在实验环境中准备好了所以不需要再单独下载。(这也是为什么开头说仅在头歌实验环境使用,若要用于本地,很多内容需要单独下载,头歌关卡里也介绍了如何在本地使用,有需要的可自行参考,这里不进行赘述。)

  我们解压JDK并将其移动到/app目录。

tar -zxvf jdk-8u171-linux-x64.tar.gz
mv jdk1.8.0_171/ /app

  和之前一样,我们可以切换到/app目录下查看解压好的文件夹。(使用ll查看可看可不看,按照步骤来一般不会出错,实在不放心可以用该命令检查一下)

cd /app
ll

  做完以上步骤就算解压好jdk了,接下来我们来配置环境变量。

  首先编辑文件。

vim /etc/profile

  输入该命令之后会进入文件内部,有一堆代码,看不懂没关系,我们直接进行编辑。

  这里先按键盘上的i键进入编辑模式,将光标放置到文件末尾,在最后输入如下代码。

JAVA_HOME=/app/jdk1.8.0_171
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

  输入完保存退出,先按键盘Esc键,输入:wq即可保存退出至操作区。

  最后输入命令使刚刚的编辑生效。

source /etc/profile

  完成了所有步骤,使用代码进行测试,检查是否配置成功。

java -version

  出现下图情况就是成功了。

第2关:配置开发环境 - Hadoop安装与伪分布式集群搭

  第一关完成我们就可以紧接着开始第二关,!!!!!注意千万不要中断。(这个头歌非常烦人,必须两关连着做,中途退出环境直接重置,要做第二关还必须重做第一关......)

  这里操作过多,为了方便简洁,省略了ll操作(偷懒了,需要的可自行使用)

  首先解压Hadoop的压缩包,然后将解压好的文件移动到/app目录下,顺便在/app里修改一下hadoop文件夹的名字。

cd /opt
tar -zxvf hadoop-3.1.0.tar.gz -C /app
cd /app
mv hadoop-3.1.0 hadoop3.1

  接下来设置SSH免密登录。输入第一行代码后直接回车进行后续操作。

ssh-keygen -t rsa -P ''
//在此回车,无需输入其他内容
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

  修改配置ssh:找到相关代码,改成如下格式(其实就多一个#号,去掉即可),更改时的编辑保存操作参考第一关。

vim /etc/ssh/sshd_config

RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile %h/.ssh/authorized_keys # 公钥文件路径

  编辑完这里实验提示你重启,千万不要重启!!!!!!!否则后果很严重!!!!!!(这里本人按步骤重启后才发现作者的马后炮,发现时为时已晚,如果你也不慎和本人一样.......恭喜你可以从第一关从头开始了......)

  这里就不放重启相关代码了,以免误导,有需要的自行去实验里查找。

  接下来就是本实验最麻烦的编辑部分,这里我们需要一个一个编辑如下文件,保持耐心......

hadoop-env.sh
yarn-env.sh 
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml

  切换目录。

cd /app/hadoop3.1/etc/hadoop/

  首先是两个需要插入代码的文件(只需插入相关内容,无需删除原有内容,之前已经多次提到如何编辑文件,这里不再赘述)

vim hadoop-env.sh

# The java implementation to use.  
#export JAVA_HOME=${JAVA_HOME}  
export JAVA_HOME=/app/jdk1.8.0_171



vim yarn-env.sh

export JAVA_HOME=/app/jdk1.8.0_171

  其次是需要删改替换的,这里以其中一个文件为例,演示应该替换后编辑成什么样(见下图,绿色部分为主要编辑内容)

vim core-site.xml

<configuration>  
 <property>  
    <name>fs.default.name</name>  
    <value>hdfs://localhost:9000</value>  
    <description>HDFS的URI,文件系统://namenode标识:端口号</description>  
</property>  
  
<property>  
    <name>hadoop.tmp.dir</name>  
    <value>/usr/hadoop/tmp</value>  
    <description>namenode上本地的hadoop临时文件夹</description>  
</property>  
</configuration>  


vim hdfs-site.xml

<configuration>  
<property>  
    <name>dfs.name.dir</name>  
    <value>/usr/hadoop/hdfs/name</value>  
    <description>namenode上存储hdfs名字空间元数据 </description>   
</property>  
  
<property>  
    <name>dfs.data.dir</name>  
    <value>/usr/hadoop/hdfs/data</value>  
    <description>datanode上数据块的物理存储位置</description>  
</property>  
  
<property>  
    <name>dfs.replication</name>  
    <value>1</value>  
</property>  
</configuration>  


vim mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>


vim yarn-site.xml

<configuration>  
<property>  
        <name>yarn.nodemanager.aux-services</name>  
        <value>mapreduce_shuffle</value>  
</property>  
<property>  
        <name>yarn.resourcemanager.webapp.address</name>  
        <value>192.168.2.10:8099</value>  
        <description>这个地址是mr管理界面的</description>  
</property>  
</configuration>  

 编辑了以上一大堆后,建立tmp、hdfs/name、hdfs/data目录。

mkdir -p /usr/hadoop/tmp 
mkdir /usr/hadoop/hdfs 
mkdir /usr/hadoop/hdfs/data 
mkdir /usr/hadoop/hdfs/name

  继续编辑,将Hadoop添加到环境变量中,在末尾插入即可,本次编辑结束保存后需要source /etc/profile命令使其生效,之前的编辑不需要这个命令。

vim /etc/profile

#set Hadoop Enviroment
export HADOOP_HOME=/app/hadoop3.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile

  接下来格式化,启动,这里启动失败,说明需要继续操作,先转到相应目录。

hadoop namenode -format
start-yarn.sh
cd /app/hadoop3.1/sbin

  又要再编辑四个文件,前两个后两个编辑内容两两相同,这次要在文件顶部添加,也无需删改,这里再以其中一个为例说明。

vim start-dfs.sh

#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root


vim stop-dfs.sh

#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root


vim stop-yarn.sh

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root


vim start-yarn.sh

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

  编辑完成后再次使用命令启动,最后验证即可。

start-dfs.sh
jps

  一定要严格按照代码操作,这里关于如何操作已经讲的很详细了,更多的理论知识可以自行去头歌了解,这个操作一步错步步错,一定要有耐心,稍有不慎就得从头来,太浪费时间精力了......最后祝大家都能一遍速通(*^=^)/。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐