zoukankan      html  css  js  c++  java
  • Hadoop安装与配置详细教程

    【确保服务器集群安装和配置已经完成!】
    前言
    请根据读者的自身情况,进行相应随机应变。
    我的三台CentOS7服务器:
    主机:master(192.168.56.110)
    从机:slave0(192.168.56.111)
    从机:slave1(192.168.56.112)
    每一个节点的安装与配置是相同的,在实际工作中,通常在master节点上完成安装和配置后,然后将安装目录复制到其他节点就可以,没有必要把所有节点都配置一遍,那样没有效率。
    注意:所有操作都是root用户权限
    下载Hadoop安装包
    Hadoop官网:http://hadoop.apache.org/
    我这里用的Hadoop版本下载地址:http://archive.apache.org/dist/hadoop/core/hadoop-2.7.5/
    解压Hadoop安装包(只在master做)
    确保network网络已经配置好,使用Xftp等类似工具进行上传,把hadoop-2.7.5.tar.gz上传到/opt/hadoop目录内。
    上传完成后,在master主机上执行以下代码:
    cd /opt/hadoop
    1
    进入/opt/hadoop目录后,执行解压缩命令:
    tar -zxvf hadoop-2.7.5.tar.gz
    1
    回车后系统开始解压,屏幕会不断滚动解压过程,执行成功后,系统在hadoop目录自动创建hadoop-2.7.5子目录。
    然后修改文件夹名称为“hadoop”,即hadoop安装目录,执行修改文件夹名称命令:
    mv hadoop-2.7.5 hadoop
    1
    注意:也可用Xftp查看相应目录是否存在,确保正确完成。
    我们进入安装目录,查看一下安装文件,如果显示如图文件列表,说明压缩成功

    配置env文件(只在master做)
    请先看如下命令(并且记住它们,后续操作大量用到,并且不再赘述):
    A. 进入编辑状态:insert
    B. 删除:delete
    C. 退出编辑状态:ctrl+[
    D. 进入保存状态:ctrl+]
    E. 保存并退出:" :wq " 注意先输入英文状态下冒号
    F. 不保存退出:" :q! " 同上
    大概执行顺序:A→B→C→D→E
    配置jdk文件
    执行命令:
    vi /opt/hadoop/hadoop/etc/hadoop/hadoop-env.sh
    1
    找到 “ export JAVA_HOME ” 这行,用来配置jdk路径
    修改为:export JAVA_HOME=/usr/local/java/jdk1.8.0_162/

     配置核心组件文件(只在master做)

    Hadoop的核心组件文件是core-site.xml,位于/opt/hadoop/hadoop/etc/hadoop子目录下,用vi编辑core-site.xml文件,需要将下面的配置代码放在文件的<configuration>和</configuration>之间。
    执行编辑core-site.xml文件的命令:
    vi /opt/hadoop/hadoop/etc/hadoop/core-site.xml
    1
    需要在<configuration>和</configuration>之间加入的代码:
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
    </property>
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/hadoop/hadoopdata</value>
    </property>
    12345678
    编辑完成后,退出并保存即可!
    配置文件系统(只在master做)
    Hadoop的文件系统配置文件是hdfs-site.xml,位于/opt/hadoop/hadoop/etc/hadoop子目录下,用vi编辑该文件,需要将以下代码放在文件的<configuration>和</configuration>之间。
    执行编辑hdfs-site.xml文件的命令:
    vi /opt/hadoop/hadoop/etc/hadoop/hdfs-site.xml
    1
    需要在<configuration>和</configuration>之间加入的代码:
    <property>
    <name>dfs.replication</name>
    <value>1</value>
    </property>
    1234
    编辑完成后,退出保存即可!
    配置 yarn-site.xml 文件(只在master做)
    Yarn的站点配置文件是yarn-site.xml,位于/opt/hadoop/hadoop/etc/hadoop子目录下,依然用vi编辑该文件,将以下代码放在文件的<configuration>和</configuration>之间。
    执行编辑yarn-site.xml文件的命令:
    vi /opt/hadoop/hadoop/etc/hadoop/yarn-site.xml
    需要在<configuration>和</configuration>之间加入的代码:
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>
    <property>
    <name>yarn.resourcemanager.address</name>
    <value>master:18040</value>
    </property>
    <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>master:18030</value>
    </property>
    <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>master:18025</value>
    </property>
    <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>master:18141</value>
    </property>
    <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>master:18088</value>
    </property>
    配置MapReduce计算框架文件(只在master做)
    在/opt/hadoop/hadoop/etc/hadoop子目录下,系统已经有一个mapred-site.xml.template文件,我们需要将其复制并改名,位置不变。
    执行复制和改名操作命令:
    1|cp /opt/hadoop/hadoop/etc/hadoop/mapred-site.xml.template /opt/hadoop/hadoop/etc/hadoop/mapred-site.xml
    然后用vi编辑mapred-site.xml文件,需要将下面的代码填充到文件的<configuration>和</configuration>之间。
    执行命令:
    1|vi /opt/hadoop/hadoop/etc/hadoop/mapred-site.xml
    需要在<configuration>和</configuration>之间加入的代码:
    1|<property>
    2|<name>mapreduce.framework.name</name>
    3|<value>yarn</value>
    4|</property>
    编辑完毕,保存退出即可!
    配置master的slaves文件(只在master做)
    slaves文件给出了Hadoop集群的slave节点列表,该文件十分的重要,因为启动Hadoop的时候,系统总是根据当前slaves文件中的slave节点名称列表启动集群,不在列表中的slave节点便不会被视为计算节点。
    执行编辑slaves文件命令:
    1|vi /opt/hadoop/hadoop/etc/hadoop/slaves
    注意:用vi编辑slaves文件,应该根据读者您自己所搭建集群的实际情况进行编辑。
    例如:我这里已经安装了slave0和slave1,并且计划将它们全部投入Hadoop集群运行。
    所以应当加入以下代码:
    1|slave0
    2|slave1
    注意:删除slaves文件中原来localhost那一行!
    复制master上的Hadoop到slave节点(只在master做)
    通过复制master节点上的hadoop,能够大大提高系统部署效率,假设我们有200台需要配置…笔者岂不白头
    由于我这里有slave0和slave1,所以复制两次。
    复制命令:
    1|scp -r /opt/hadoop root@slave0:/opt
    2|scp -r /opt/hadoop root@slave1:/opt
    Hadoop集群的启动-配置操作系统环境变量(三个节点都做)
    回到用户目录命令:
    1|cd /opt/hadoop
    然后用vi编辑.bash_profile文件,命令:
    vi ~/.bash_profile
    最后把以下代码追加到文件的尾部:
    1|#HADOOP
    2|export HADOOP_HOME=/opt/hadoop/hadoop
    3|export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
    保存退出后,执行命令:
    1|source ~/.bash_profile
    source ~/.bash_profile命令是使上述配置生效
    提示:在slave0和slave1使用上述相同的配置方法,进行三个节点全部配置。
    创建Hadoop数据目录(只在master做)
    创建数据目录,命令是:
    1|mkdir /opt/hadoop/hadoopdata
    通过Xftp可查看该hadoopdata
    格式化文件系统(只在master做)
    执行格式化文件系统命令:
    1|hadoop namenode -format
    启动和关闭Hadoop集群(只在master做)
    首先进入安装主目录,命令是:
    1|cd /opt/hadoop/hadoop/sbin
    提示:目前文件位置可在Xshell顶部栏观察
    然后启动,命令是:
    1|start-all.sh
    执行命令后,系统提示 ” Are you sure want to continue connecting(yes/no)”,输入yes,之后系统即可启动。
    注意:可能会有些慢,千万不要以为卡掉了,然后强制关机,这是错误的。
    如果要关闭Hadoop集群,可以使用命令:
    1|stop-all.sh
    下次启动Hadoop时,无须NameNode的初始化,只需要使用start-dfs.sh命令即可,然后接着使用start-yarn.sh启动Yarn。
    实际上,Hadoop建议放弃(deprecated)使用start-all.sh和stop-all.sh一类的命令,而改用start-dfs.sh和start-yarn.sh命令。
    验证Hadoop集群是否启动成功
    读者您可以在终端执行jps命令查看Hadoop是否启动成功。
    在master节点,执行:
    1|jps
    如果显示:SecondaryNameNode、 ResourceManager、 Jps 和NameNode这四个进程,则表明主节点master启动成功

    然后分别在slave0和slave1节点下执行命令:
    1|jps
    如果成功显示:NodeManager、Jps 和 DataNode,这三个进程,则表明从节点(slave0和slave1)启动成功

    结束
    如有问题请留言,如成功则留下您宝贵的一个赞。
    ————————————————
    版权声明:本文为CSDN博主「王佳斌」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_44198965/java/article/details/89603788

  • 相关阅读:
    Linux实时性分析-schedule-调度器
    中断解析
    网络商城-PrestaShop
    和学生的学习互动记录(10嵌)
    QQ记录
    Windows7硬盘安装Fedora16图文教程
    今目标登录时报网络错误E110
    vs环境配置——vs快捷键配置——vs插件配置——vs环境设置
    如何防止app接口被别人调用
    mvc4 找到多个与名为“xx”的控制器匹配的类型
  • 原文地址:https://www.cnblogs.com/purple5252/p/12799333.html
Copyright © 2011-2022 走看看