zoukankan      html  css  js  c++  java
  • centos7搭建hadoop3.*.*系列

      最近搭建这个hadoop踩过不少坑,先是配置JDK搞错路径(普通用户和root用户下的路径不同),再就是hadoop版本不同导致的启动错误,网上找到的是hadoop2.*.*的版本,但是我安装的hadoop3.*.*的版本,环境配置有部分不同。希望大家不要重蹈覆辙!

    下载hadoop安装包

    地址:http://hadoop.apache.org/

    安装配置

    1.配置主机名:

      将文件中原有的主机名删除,添加你自己的主机名,保存并退出。

    vi /etc/hostname

    2.配置hosts文件:

      在文件最后增加机器的IP地址和刚才配好的主机名,保存并退出。

    vi /etc/hosts

    3.生成SSH密钥:执行以下命令,然后一直回车。来生成SSH密钥。生成的密钥文件会存放在/root/.ssh/目录下。前提是你用的root帐号登录并且生成的ssh密钥。

    ssh-keygen

    4.配置机器免密登录:执行以下命令、将刚才生成好的SSH密钥发送指定的机器上,来实现机器免密登录。

    ssh-copy-id root@主机名

    5.上传和解压下载好的Hadoop安装包,上传可以直接从xshell拖进目录

    tar -zxvf hadoop-3.1.2.tar.gz(我这里写的是我的包名)

    6.配置hadoop-env.sh文件:这个文件里写的是hadoop的环境变量,主要修改hadoop的JAVA_HOME、HADOOP_HOME和HADOOP_CONF_DIR 路径,修改完成后保存退出。

    cd hadoop-3.1.2/etc/hadoop/

    vi hadoop-env.sh

    7.修改core-site.xml文件:使用vi core-site.xml打开文件,增加以下配置参数。

     1 <configuration> 
     2 <!--用来指定 hdfs 的老大,namenode 的地址--> 
     3 <property> 
     4 <name>fs.defaultFS</name> 
     5 <value>hdfs://主机名:9870</value> 
     6 </property> 
     7 <!--用来指定 hadoop 运行时产生临时文件的存放目录,如果不配置默认使用/tmp目录存在安全隐患 --> 
     8 <property> 
     9 <name>hadoop.tmp.dir</name> 
    10 <value>hadoop的路径/tmp</value> 
    11 </property> 
    12 </configuration>

    8.修改hdfs-site.xml:使用vi hdfs-site.xml打开文件,增加以下配置参数。

     1 <!--指定 hdfs 保存数据副本的数量,包括自己,默认值是 3-->
     2     <!--如果是伪分布模式,此值是 1-->
     3     <property>
     4         <name>dfs.replication</name>
     5         <value>1</value>
     6     </property>
     7     <!--设置 hdfs 的操作权限,false 表示任何用户都可以在 hdfs 上操作文件-->
     8     <property>
     9         <name>dfs.permissions</name>
    10         <value>false</value>
    11     </property>
    12 
    13     <property>
    14         <name>dfs.http.address</name>
    15         <value>0.0.0.0:9870</value>
    16     </property>

    9.修改mapred-site.xml:使用vi mapred-site.xml,增加以下配置参数。(hadoop3.*里面直接修改这个文件,在hadoop2.*里mapred-site.xml这个文件初始时是没有的,有的是模板文件,mapred-site.xml.template,所以需要拷贝一份,并重命名为 mapred-site.xml )

    1      <property> 
    2     <!--指定 mapreduce 运行在 yarn 上--> 
    3         <name>mapreduce.framework.name</name> 
    4         <value>yarn</value> 
    5     </property> 

    10.修改 yarn-site.xml:使用vi yarn-site.xml打开文件,增加以下配置参数。

     1 <property> 
     2     <!--指定 yarn 的老大 resoucemanager 的地址--> 
     3         <name>yarn.resourcemanager.hostname</name> 
     4         <value>主机名</value> 
     5     </property> 
     6     <property> 
     7     <!--NodeManager 获取数据的方式--> 
     8         <name>yarn.nodemanager.aux-services</name> 
     9         <value>mapreduce_shuffle</value> 
    10     </property>

    11.配置 slaves 文件:使用vi slaves打开文件,增加以下配置参数。

    hostname  #写主机名

    12.配置Hadoop的环境变量:使用vi /etc/profile打开文件,增加以下配置参数。保存退出后,使用source /etc/profile命令来使配置立即生效。

    1 #配置hadoop的环境变量
    2 export HADOOP_HOME=hadoop的路径
    3 export PATH=${PATH}:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

    13.格式化namenode:使用以下命令进行格式化hadoop的namenode。出现successfully代表成功。

    hadoop namenode -format

    14.hadoop3.*版本的话,此时启动还会报错

    是因为缺少用户定义造成的,所以在hadoop目录下分别编辑开始和关闭脚本 
    vim sbin/start-dfs.sh 
    vim sbin/stop-dfs.sh 
    在靠上面的空白处添加内容: 

    1. HDFS_DATANODE_USER=root  
    2. HDFS_DATANODE_SECURE_USER=hdfs  
    3. HDFS_NAMENODE_USER=root
    4. HDFS_SECONDARYNAMENODE_USER=root 

    vim sbin/start-yarn.sh 
    vim sbin/stop-yarn.sh

    在靠上面的空白处添加内容: 

      YARN_RESOURCEMANAGER_USER=root
      HADOOP_SECURE_DN_USER=yarn
      YARN_NODEMANAGER_USER=root

    15.启动hadoop:使用start-all.sh命令启动hadoop。启动完成后,通过jps命令查看进程节点。如果出现六个节点和地址说明成功启动。



  • 相关阅读:
    杭电2059
    杭电2058
    php错误大集合
    显示IP地址
    超简单好用的屏幕录像工具
    jquery“不再提醒"功能
    KindEditor编辑器中的class自动过滤了
    实用案例:切换面板同时切换内容
    仿51返利用户图解教程
    JavaScript调用dataTable并获取其值(ASP.Net,VS2005)
  • 原文地址:https://www.cnblogs.com/sunbr/p/11432851.html
Copyright © 2011-2022 走看看