实验2:Hadoop安装与配置(下)

安装Hadoop!


一、实验目的

  1. 学会配置环境变量
  2. 熟悉几种Hadoop的配置文件
  3. 掌握Hadoop的完全分布式安装

二、实验环境

xshell+xftp工具组合

安装在vm虚拟机上的 CentOS7 系统

VMware Workstation 16 PRO


三、实验内容和实验要求

  1. 安装和配置JDK
  2. Hadoop环境变量配置
  3. 分布式安装

四、实验过程与分析

  1. 上传安装包——》安装JDK——》配置环境变量

使用下载好的xshell工具连接虚拟机,点击新建文件传输打开xftp,直接将需要传输的文件夹拖动到masternode的根目录,就成功上传了。

实验2:Hadoop安装与配置(下)

#安装jdk
rpm -ivh jdk-7u79-linux-x64.rpm #-i:显示套件的相关信息;-v:显示指令执行过程;-h:套件安装时列出标记;可加--force忽略报错强制安装
#设置环境变量
[root@master ~]# vi .bash_profile
export JAVA_HOME=/usr/java/jdk1.7.0_79 #设置JAVA_HOME指向JDK根目录
export PATH=$PATH:$JAVA_HOME/bin
[root@master ~]# source .bash_profile
#检验
[root@master ~]# java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)


2. 给hadoop配置好环境变量
  • 同样地上传压缩包到合适位置进行解压:
tar -zxvf hadoop-2.7.0.tar.gz # -x表示解压(-c为建立,-t为查看),-v表示显示过程,-f为使用档名(必须在最后)
  • 修改.bash_profile配置文件,将bin和sbin添加为环境变量:
export JAVA_HOME=/usr/java/jdk1.7.0_79
export HADOOP_HOME=/opt/software/hadoop-2.5.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin #bin存放基本命令,sbin存放管理命令,将HADOOP_HOME路径下的这两个目录添加为环境变量
  • 在hadoop-env.sh文件中配置JAVA_HOME,原因是相对于直接获取系统JAVA_HOME,Hadoop采用的方案是利用配置文件里的JAVA_HOME提供jdk支持,需要特意配一下。

    过程略,不过要注意这一步配置文件中已经有一处“export JAVA_HOME=${JAVA_HOME}”,直接在该位置添加即可,不用另起一行。

  1. 修改core-site.xml和hdfs-site.xml——》配置masters和slaves——》拷贝所需文件——》格式化并启动集群
  • 修改core-site.xml和hdfs-site.xml文件
<!--core-site.xml-->
<configuration>
        <property>
                <name>fs.defaultFS</name> <!--使从外部也能找到Hadoop集群-->
                <value>hdfs://master:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name> <!--文件依赖的基础配置存放路径-->
                <value>/opt/software/hadoop-2.7.0</value>
        </property>
</configuration>
<!--hdfs-site.xml-->
<configuration>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>slave:50090</value>
        </property>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>slave:50091</value>
        </property>
</configuration>
  • 配置masters和slaves

    #在hadoop目录下,创建masters和slaves
    touch masters
    touch slaves
    

    将masters内容修改为master,slaves内容修改为master和slave。(master和slave为hosts中与ip地址对应的节点名称)

  • 复制相关文件使slave机与master机有相同的环境,需要复制Hadoop的整个文件夹、带有环境变量的.bash_profile、以及/etc/hosts文件,当然如果slave没有配置jdk环境,还要把java文件夹整个传到slave机的相同位置。

  • 初始化并启动集群

#初始化
hdfs namenode -format
#启动集群
start-dfs.sh

#当然如果由于粗心有时难免要重新配置,可能用到:
jps #查看当前进程
kill 12345 #杀死进程
stop-dfs.sh #停止Hadoop HDFS守护进程NameNode、SecondaryNameNode和DataNode
stop-all.sh #停止所有的Hadoop守护进程,包括NameNode、DataNode、ResourceManager、NodeManager、Secondary NameNode

在浏览器中访问http://ip:50070(http://192.168.245.150:50070),可以测试是否成功。

如下图说明已经安装成功!!

实验2:Hadoop安装与配置(下)


五、实验感想

安装Hadoop不仅需要配置好jdk系统环境,还需要配置好Hadoop自身的配置文件脚本,而后配置一些hadoop集群与hdfs的必要信息,最后在安装之前需要让主从机除了网络地址以外完全保持一致。一不小心又到凌晨了,已经挺累了,希望明天周末能好好休息一下,希望以后我能早点感觉到困,不要天天熬夜了叭。。????


六、疑问与探究

疑问

这部分在配置的时候有些“照葫芦画瓢”,有些配置还没有深入理解。比如新建的masters和slaves文件,比如hdfs-site.xml里面的配置有什么用处呢?

解答

乐乐同学你还小要少熬夜??,这个问题等下次学了一点理论再解决叭,晚安。????



技术小白一枚,一起学习!

实验2:Hadoop安装与配置(下)

上一篇:Linux常用命令整合


下一篇:[LeetCode]221. Maximal Square 动态规划解法转移方程