大数据学习之hadoop(完全分布式)

参考:https://blog.csdn.net/hliq5399/article/details/78193113

准备三台虚拟机,并在每台机子上,分别在/etc/hosts里面加入

  192.168.16.103 node1

  192.168.16.188 node2

  192.168.16.189 node3

  192.168.16.45 mysql

服务器功能规划

 node1                                  node2                                       node3

NameNode                 ResourceManage  

DataNode                       DataNode                                  DataNode

NodeManager                 NodeManager                       NodeManager

HistoryServer                                                           SecondaryNameNode

在第一台机器上安装新的Hadoop

配置java环境:

  1.下载:jdk1.8.0_172 到 /data/bigdata 中

  2.解压缩  

  3.编辑:/etc/profile 最后加入下面两行:

    export JAVA_HOME=/data/bigdata/jdk1.8.0_172

    export PATH=$JAVA_HOME/bin:$PATH

    保存退出

  4.执行:source /etc/profile

  5.执行: java -version 查看是否安装成功

开始安装hadoop

下载:wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz

解压Hadoop目录:

    tar -zxf /data/bigdata/hadoop-2.7.6.tar.gz

    

配置Hadoop环境变量

    vim /etc/profile

    追加配置:

    export HADOOP_HOME="/data/bigdata/hadoop-2.7.6"

    export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH

    执行:source /etc/profile 使得配置生效

配置Hadoop JDK路径修改hadoop-env.sh、mapred-env.sh、yarn-env.sh文件中的JDK路径:

    export JAVA_HOME="/data/bigdata/jdk1.8.0_172"

配置core-site.xml

    vim etc/hadoop/core-site.xml

    <configuration>

        <property>

        <name>fs.defaultFS</name>

        <value>hdfs://node1:8020</value>

        </property>

        <property>

        <name>hadoop.tmp.dir</name>

        <value>/data/bigdata/hadoop-2.7.6/data/tmp</value>

        </property>

    </configuration>

    fs.defaultFS为NameNode的地址。

    hadoop.tmp.dir为hadoop临时目录的地址,默认情况下,NameNode和DataNode的数据文件都会存在这个目录下的对应子目录下。应该保证此目录是存在的,如果不存在,先创建。

配置hdfs-site.xml

    vim etc/hadoop/hdfs-site.xml

    <configuration>

        <property>

        <name>dfs.namenode.secondary.http-address</name>

        <value>node3:50090</value>

        </property>

    </configuration>

    dfs.namenode.secondary.http-address是指定secondaryNameNode的http访问地址和端口号,因为在规划中,我们将node3规划为SecondaryNameNode服务器.

配置slaves

    vim etc/hadoop/slaves

    node1

    node2

    node3

    slaves文件是指定HDFS上有哪些DataNode节点。

配置yarn-site.xml

    vim etc/hadoop/yarn-site.xml

    <property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

    </property>

    <property>

        <name>yarn.resourcemanager.hostname</name>

        <value>node2</value>

    </property>

    <property>

        <name>yarn.log-aggregation-enable</name>

        <value>true</value>

    </property>

    <property>

        <name>yarn.log-aggregation.retain-seconds</name>

        <value>106800</value>

    </property>

    根据规划yarn.resourcemanager.hostname这个指定resourcemanager服务器指向node2。

    yarn.log-aggregation-enable是配置是否启用日志聚集功能。

    yarn.log-aggregation.retain-seconds是配置聚集的日志在HDFS上最多保存多长时间。

配置mapred-site.xml

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

    vim etc/hadoop/mapred-site.xml

    

    <configuration>

        <property>

            <name>mapreduce.framework.name</name>

            <value>yarn</value>

        </property>

        <property>

            <name>mapreduce.jobhistory.address</name>

            <value>node1:10020</value>

        </property>

        <property>

            <name>mapreduce.jobhistory.webapp.address</name>

            <value>node1:19888</value>

        </property>

    </configuration>

    mapreduce.framework.name设置mapreduce任务运行在yarn上。

    mapreduce.jobhistory.address是设置mapreduce的历史服务器安装在node1机器上。

    mapreduce.jobhistory.webapp.address是设置历史服务器的web页面地址和端口号。

设置SSH无密码登录

    分别在node1 node2 node3执行

    ssh-keygen -t rsa

    ssh-copy-id node1

    ssh-copy-id node2

    ssh-copy-id node3

    

分发Hadoop文件

    首先在其他两台机器上创建存放Hadoop的目录

    通过Scp分发

    scp -r /data/bigdata/hadoop-2.7.6 root@node2:/data/bigdata/hadoop-2.7.6

    scp -r /data/bigdata/hadoop-2.7.6 root@node3:/data/bigdata/hadoop-2.7.6

格式NameNode

    hdfs namenode –format

启动集群

    start-dfs.sh

启动YARN

    start-yarn.sh

在node2上启动ResourceManager:

    yarn-daemon.sh start resourcemanager

在node3上启动:

    mr-jobhistory-daemon.sh start historyserver

查看HDFS Web页面

http://node1:50070/

查看YARN Web 页面

http://node2:8088/cluster

猜你喜欢

转载自www.cnblogs.com/lihuanghao/p/9338040.html
今日推荐