美文网首页大数据
CentOS7安装Hadoop集群

CentOS7安装Hadoop集群

作者: sphsyv | 来源:发表于2016-11-04 17:18 被阅读588次

    安装Hadoop之前,请先安装好zookeeper集群并启动
    参考 CentOS7安装Zookeeper集群

    我这里准备了三台服务器,一台主机名为hadoop1(做NameNode),一台主机名为hadoop2(做DataNode),一台主机名为hadoop3(做DataNode)

    192.168.1.186(hadoop1)
    192.168.1.188(hadoop2)
    192.168.1.18(hadoop3)

    创建名为 hadoop 的用户,参考CentOS7建立用户

    将所有hadoop服务器,配置好 hadoop 用户的免密码登录,让所有hadoop主机之间可以免密码互通
    参考 CentOS7配置ssh无密码登录

    设置好zookeeper、hadoop所有服务器的 hosts 文件的内容

    192.168.1.232   zookeeper1
    192.168.1.200   zookeeper2
    192.168.1.233   zookeeper3
    
    192.168.1.186   hadoop1
    192.168.1.188   hadoop2
    192.168.1.18    hadoop3
    
    

    切换到 hadoop 用户,安装并配置hadoop,从http://hadoop.apache.org/releases.html找到一个你想要的版本,下载binary包(下载到hadoop1机上,配置完毕以后再复制到其他机器上),我这里下载的是hadoop-2.7.3.tar.gz

    su hadoop
    
    cd ~
    
    wget http://119.90.25.43/mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz
    

    解压缩,并重命名为hadoop

    tar -zxvf hadoop-2.7.3.tar.gz
    
    mv hadoop-2.7.3 hadoop
    

    编辑 hadoop-env.sh 文件,修改JAVA_HOME部分,不知道java按照位置的请参考CentOS7安装OpenJDK

    vi ~/hadoop/etc/hadoop/hadoop-env.sh
    

    编辑 yarn-env.sh 文件,修改JAVA_HOME部分

    vi ~/hadoop/etc/hadoop/yarn-env.sh
    

    编辑 slaves 文件,添加DataNode节点服务器的主机名,我这里添加了两个

    vi ~/hadoop/etc/hadoop/slaves
    

    建立临时文件夹

    mkdir ~/hadoop/tmp
    

    编辑 core-site.xml 文件

    vi ~/hadoop/etc/hadoop/core-site.xml
    

    添加如下内容

    <configuration>
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/hadoop/tmp</value>
    </property>
    <property>
    <name>fs.default.name</name>
    <value>hdfs://hadoop1:9000</value>
    </property>
    <property>
    <name>ha.zookeeper.quorum</name>
    <value>zookeeper1:2181,zookeeper2:2181,zookeeper3:2181</value>
    </property>
    </configuration>
    

    编辑 hdfs-site.xml 文件

    vi ~/hadoop/etc/hadoop/hdfs-site.xml
    

    添加如下内容

    <configuration>
    <property>
    <name>dfs.http.address</name>
    <value>hadoop1:50070</value>
    </property>
    <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>hadoop1:50090</value>
    </property>
    <property>
    <name>dfs.replication</name>
    <value>3</value>
    </property>
    </configuration>
    

    复制 mapred-site.xml.template 文件为 mapred-site.xml

    cp ~/hadoop/etc/hadoop/mapred-site.xml.template ~/hadoop/etc/hadoop/mapred-site.xml
    

    编辑其内容

    vi ~/hadoop/etc/hadoop/mapred-site.xml
    
    <configuration>
    <property>
    <name>mapred.job.tracker</name>
    <value>hadoop1:9001</value>
    </property>
    <property>
    <name>mapred.map.tasks</name>
    <value>20</value>
    </property>
    <property>
    <name>mapred.reduce.tasks</name>
    <value>4</value>
    </property>
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>
    <property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop1:10020</value>
    </property>
    <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop1:19888</value>
    </property>
    </configuration>
    

    修改 yarn-site.xml 文件

    vi ~/hadoop/etc/hadoop/yarn-site.xml
    

    将其内容修改为

    <configuration>
    <!-- Site specific YARN configuration properties -->
    <property>
     <name>yarn.resourcemanager.address</name>
    <value>hadoop1:8032</value>
    </property>
    <property>
    <name>yarn.resourcemanager.scheduler.address</name>
     <value>hadoop1:8030</value>
    </property>
    <property>
     <name>yarn.resourcemanager.webapp.address</name>
     <value>hadoop1:8088</value>
    </property>
    <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>hadoop1:8031</value>
    </property>
    <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>hadoop1:8033</value>
    </property>
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>
    <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    </configuration>
    

    将配置好的hadoop文件夹复制到其他节点机器

    scp -r ~/hadoop hadoop@hadoop2:~/
    scp -r ~/hadoop hadoop@hadoop3:~/
    
    cd ~/hadoop
    
    ./bin/hdfs namenode -format
    
    ./sbin/start-all.sh
    
    启动完毕

    在NameNode机器中,使用jps命令,看到下面内容就说明成功了


    在其他DataNode节点查看jps



    可以打开浏览器,查看http://192.168.1.186:50070
    一般我们是使用http://hadoop1:50070这个地址访问,因为hadoop1才是NameNode机器,当然,这需要你打开浏览器的那台机器配置hosts文件

    停止hadoop的命令

    ./sbin/stop-all.sh
    

    相关文章

      网友评论

      本文标题:CentOS7安装Hadoop集群

      本文链接:https://www.haomeiwen.com/subject/laxwuttx.html