1、修改主机名和 IP 地址映射

    vi /etc/hostname
    IP hadoop
    重启网卡
    systemctl restart network
    通证明成功
    ping hadoop

2、防火墙设置
    查看防火墙状态
    # 查看防火墙状态
    systemctl status firewalld
    systemctl is-active firewalld
    # 启动防火墙
    systemctl start firewalld 
    # 停止防火墙
    systemctl stop firewalld


3、    配置host文件
    vim /etc/hosts
    
    192.168.137.22 hadoop
    192.168.137.23 slave1
    192.168.137.24 slave2
    192.168.137.25 slave3
    
4、免密码 ssh 设置(hadoop必须不用密码可以登录slave1,slave2,slave3 )
    ssh-keygen -t rsa
     然后一路回车即可
    复制到公共密钥中 
     cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
    ssh localhost

   可以参考 ssh免密码登录

5、Hadoop 配置
5.0、下载
    https://www-us.apache.org/dist/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz
    安装说明文档
    https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/ClusterSetup.html
    
5.1、创建相关目录
    mkdir -p  /opt/hadoop-3.2.1/tmp /opt/hadoop-3.2.1/hdfs /opt/hadoop-3.2.1/hdfs/data  /opt/hadoop-3.2.1/hdfs/name
5.2、修改 Hadoop 5个配置文件
     /opt/hadoop-3.2.1/etc/hadoop/hadoop-env.sh
     /opt/hadoop-3.2.1/etc/hadoop/core-site.xml
     /opt/hadoop-3.2.1/etc/hadoop/hdfs-site.xml
     /opt/hadoop-3.2.1/etc/hadoop/mapred-site.xml
     /opt/hadoop-3.2.1/etc/hadoop/yarn-site.xm 
     /opt/hadoop-3.2.1/etc/hadoop/workers
 
 5.2.1、配置 hadoop-env.sh
    vim /opt/hadoop-3.2.1/etc/hadoop/hadoop-env.sh
    注意:自己安装的java目录
    export JAVA_HOME=/usr/local/jdk/
   文件最后追加
    export HDFS_NAMENODE_USER=root
    export HDFS_DATANODE_USER=root
    export HDFS_SECONDARYNAMENODE_USER=root
    export YARN_RESOURCEMANAGER_USER=root
    export YARN_NODEMANAGER_USER=root
 5.2.2、 vim /opt/hadoop-3.2.1/etc/hadoop/core-site.xml
     <configuration>
         <property>
            <name>fs.defaultFS</name>
            <value>hdfs://hadoop:9000</value>
            <description>HDFS的URI,文件系统://namenode标识:端口号</description>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/hadoop-3.2.1/tmp</value>
            <description>namenode上本地的hadoop临时文件夹</description>
        </property>
    </configuration>
    注:
    name 节点用 fs.defaultFS,不建议使用 fs.default.name;
    hadoop.tmp.dir 是hadoop文件系统依赖的基础配置,很多路径都依赖它。如果 hdfs-site.xml 中不配置 namenode 和 datanode 的存放位置,默认就放在如下路径中。
    NameNode
    dfs.name.dir
    预设值:${hadoop.tmp.dir}/dfs/name
    DataNode
    dfs.data.dir
    预设值:${hadoop.tmp.dir}/dfs/data 
5.2.3、副本个数,配置默认是3,应小于datanode机器数量
    vim /opt/hadoop-3.2.1/etc/hadoop/hdfs-site.xml 
    <configuration> 
       <property>
           <name>dfs.replication</name>
           <value>3</value>
           <description></description>
       </property>
    </configuration>
5.2.4、vim /opt/hadoop-3.2.1/etc/hadoop/mapred-site.xml
    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
5.2.5、 vim /opt/hadoop-3.2.1/etc/hadoop/yarn-site.xml
    <configuration>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
    </configuration>
5.2.6 编辑workers文件并添加内容
    vim /opt/hadoop-3.2.1/etc/hadoop/workers
    slave1
    slave2
    slave3
6、copy 配置好的hadoop到 slave1,slave2,slave3 三台机器上
    将本机的不hosts和profile配置文件copy到slave1、slave2、slave3机器上
    scp /etc/hosts /etc/profile root@slave1:/etc
    scp /etc/hosts /etc/profile root@slave2:/etc
    scp /etc/hosts /etc/profile root@slave3:/etc
    
    将配置好的hadoop进行压缩
    tar cf hadoop-3.2.1.tar hadoop-3.2.1
    
    scp hadoop-3.2.1.tar root@slave1:/opt
    scp hadoop-3.2.1.tar root@slave2:/opt
    scp hadoop-3.2.1.tar root@slave3:/opt
    
    ssh root@slave1 "tar -xf /opt/hadoop-3.2.1.tar -C /opt/"
    ssh root@slave2 "tar -xf /opt/hadoop-3.2.1.tar -C /opt/"
    ssh root@slave3 "tar -xf /opt/hadoop-3.2.1.tar -C /opt/"
    
6、Hadoop 启动及测试
    6.1、格式化 namenode 
     /opt/hadoop-3.2.1/bin/hdfs namenode -format cluster_name
     
    如果出现  has been successfully formatted.
    则表示格式化成功
    6.2、启动 Hadoop
     /opt/program-files/hadoop/hadoop-3.2.1/sbin/start-all.sh
    6.3、验证启动(会出现如下进程)
    jsp
    NodeManager (23|24|25机器上,也就是slave1,slave2,slave3节点上)
    DataNode    (23|24|25机器上,也就是slave1,slave2,slave3节点上)
    NameNode           (22机器上,也就是hadoop主节点上)
    SecondaryNameNode (22机器上,也就是hadoop主节点上)
    ResourceManager   (22机器上,也就是hadoop主节点上)
    6.4、启动访问    

    http://192.168.137.22:9870 (nameNode information 存在于主节点上 )
    http://192.168.137.22:8088/cluster (All Applications 集群运行状态,以及任务执行服务)
    http://192.168.137.(23|24|25):8042/node (NodeManager 数据节点管理服务,存在于DataNode数据节点上)
    http://192.168.137.(23|24|25):9864/datanode.html (DataNode,数据存储, 存在于DataNode数据节点上)

最后修改于 2019-12-23 17:36:40
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付
上一篇