zoukankan      html  css  js  c++  java
  • Hadoop 3安装配置

    三台虚拟机:node1是master节点,node2和node3是数据节点,也可选择将node1也作为数据节点

    需要的基本设置
    1.时间同步(时间服务器),网络,hosts
    时间同步设置(时间服务器,ntp服务器)
    yum install ntpdate
    ntpdate -u 3.tw.pool.ntp.org

    可能设置固定IP
    vi /etc/sysconfig/network-scripts/ifcfg-ens33/e/cf
    添加IPADDR=192.168.3.4

    修改hostname:
    hostnamectl set-hostname node1.test.com
    hosts配置
    vim /etc/hosts
    192.168.3.4 node1
    192.168.3.5 node2
    192.168.3.6 node3

    重启网路服务
    service network restart

    2.免密配置(如果不做免密配置,配置完后启动服务,会需要输入密码;NameNode到DataNode做一个免密设置)node 1 到其他节点
    免密设置 http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html#Setup_passphraseless_ssh
    ssh-keygen -t dsa -P ‘’ -f ~/.ssh/id_dsa
    cd /root/.ssh
    cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
    chmod 0600 ~/.ssh/authorized_keys

    拷贝密钥到其他节点
    root@localhost .ssh]# scp id_dsa.pub node2:/tmp/
    root@localhost .ssh]# scp id_dsa.pub node3:/tmp/
    在node1上执行以下语句,免密访问node2
    cat ~/.ssh/id_rsa.pub | ssh root@node2 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys"
    cat ~/.ssh/id_rsa.pub | ssh root@node3 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys"

    3.jdk
    拷贝jdk到node2、node3
    [root@localhost tools]# scp jdk-8u211-linux-x64.rpm node2:`pwd`
    [root@localhost tools]# scp jdk-8u211-linux-x64.rpm node3:`pwd`
    安装(XShell可使用发送键到所有会话来统一安装)
    rpm -ivh /usr/tools/jdk*

    设置JAVA_HOME(也可这~/.bashrc中设置)
    vim /etc/profile
    添加JAVA_HOME
    export JAVA_HOME=/usr/java/jdk1.8.0_211-amd64
    export PATH=$PATH:JAVA_HOME/bin

    生效配置
    source /etc/profile
    验证配置
    java -version


    4.安装文件上传解压,配置文件修改
    [root@localhost tools]# tar zxvf hadoop-3.2.0.tar.gz -C /home
    配置hadoop路径:
    export HADOOP_HOME=/home/hadoop-3.2.0
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    生效配置
    source /etc/profile

    5.修改配置文件
    [root@localhost hadoop-3.2.0]# cd etc/hadoop

    vim hadoop-env.sh
    (vim中执行命令:!echo $JAVA_HOME)
    JAVA_HOME=/usr/java/jdk1.8.0_211-amd64
    HDFS_DATANODE_USER=root
    HDFS_SECONDARYNAMENODE_USER=root
    HDFS_NAMENODE_USER=root
    YARN_RESOURCEMANAGER_USER=root
    YARN_NODEMANAGER_USER=root


    vim core-site.xml
    <configuration>
    <!--hdfs临时路径-->
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/hdfs/tmp</value>
    </property>
    <!--hdfs 的默认地址、端口 访问地址-->
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://node1:9820</value>
    </property>
    </configuration>


    hdfs-site.xml
    <configuration>
    <property>
    <name>dfs.replication</name>
    <value>2</value>
    </property>
    <!-- 是否启用hdfs权限检查 false 关闭 -->
    <property>
    <name>dfs.permissions.enabled</name>
    <value>false</value>
    </property>
    <property>
    <name>dfs.namenode.name.dir</name>
    <value>/opt/hdfs/name</value>
    </property>
    <property>
    <name>dfs.datanode.data.dir</name>
    <value>/opt/hdfs/data</value>
    </property>
    <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>node2:9868</value>
    </property>
    <property>
    <name>dfs.namenode.datanode.registration.ip-hostname-check</name>
    <value>false</value>
    </property>
    </configuration>

    yarn-site.xml
    <configuration>

    <!-- Site specific YARN configuration properties -->
    <!--集群master,-->
    <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>node1</value>
    </property>

    <!-- NodeManager上运行的附属服务-->
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>
    </configuration>


    mapred-site.xml
    <configuration>
    <!--local表示本地运行,classic表示经典mapreduce框架,yarn表示新的框架-->
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>
    </configuration>


    新增masters(主节点namenode)
    node1

    修改workers(主节点node1也被作为datanode)
    node1
    node2
    node3

    start-dfs.sh,stop-dfs.sh中添加
    HDFS_DATANODE_USER=root
    HDFS_SECONDARYNAMENODE_USER=root
    HDFS_NAMENODE_USER=root

    start-yarn.sh,stop-yarn.sh中添加
    YARN_RESOURCEMANAGER_USER=root
    YARN_NODEMANAGER_USER=root


    6.同步配置文件,保证集群的配置文件一致
    同步到其他节点
    [root@localhost home]# scp -r hadoop-3.2.0/ node2:/home


    7.格式化NameNode:
    hdfs namenode -format

    8.启动 start-all.sh

    9. 查看启动进程
    jps

    9.访问web
    http://192.168.3.4:9870

    YARN UI: http://192.168.3.4:8088/cluster


    重新格式化的话,需要将data数据存放目录删除


    datanode节点启动正常,但在UI上没有显示
    需在hdfs-site.xml添加以下配置:
    <property>
    <name>dfs.namenode.datanode.registration.ip-hostname-check</name>
    <value>false</value>
    </property>

  • 相关阅读:
    PHP生成二维码并上传到七牛云
    算法入门---选择排序
    算法入门
    react入门-refs
    react入门-props.children
    react入门-组件方法、数据和生命周期
    react入门-jsx
    递归
    node的path.join 和 path.resolve的区别
    vuex的使用
  • 原文地址:https://www.cnblogs.com/pashanhu/p/10950144.html
Copyright © 2011-2022 走看看