大数据项目实践(一)——之HDFS集群配置

一、服务节点规划设计

机器1机器2机器3机器4机器5
hdfsNameNodeNameNodeDataNodeDataNodeDataNode
YARNResourceManagerResourceManagerNodeManagerNodeManagerNodeManager
ZookeeperZookeeperZookeeperZookeeperZookeeperZookeeper
Kafka KafkaKafkaKafka
HbasemastermasterRegionServerRegionServerRegionServer
flumeflume flumeflume
hive hive
mysql mysql
sparkspark
huehue

二、Linux环境准备与配置

1.Linux系统常规配置
  1. 设置IP地址
  2. 创建用户

    adduser bigdata
    passwd 123456
  3. 文件中设置主机名

    vi /etc/sysconfig/network
  4. 主机名映射

    vi /etc/hosts
    192.168.10.131 bigdata-pro01.mars.com bigdata-pro01
  5. 关闭防火墙

    vi /etc/sysconfig/selinux
    SELINUX=disabled
    重启
  6. 卸载本身自带jdk

    rpm -qa | grep java
    rpm -e --nodeps [jdk进程名称1 jdk进程名称2]
  7. root用户下设置无密码用户切换

    ls -l /etc/sudoers
    vi /etc/sudoers
    加一行
    bigdata ALL=(root)NOPASSWD:ALL
  8. 验证机器的防火墙是不是关了

    sudo service iptables status
    sudo service iptables start 
    sudo service iptables stop 
    chkconfig iptables off ##永久关闭防火墙
2.克隆虚拟机并进行相关的配置
3.对集群中的机器进行基本配置
  1. 虚拟机设置固定IP地址
  2. 设置无秘钥登录
    首先在主节点上生成公钥
    ssh-keygen -t rsa
    生成的秘钥对存放在当前用户的家目录下的 .ssh 文件内
    cd ~/.ssh

    然后将公钥拷贝到各个子节点上

    ssh-copy-id bigdata-pro02.mars.com
    ssh-copy-id bigdata-pro03.mars.com
    ssh-copy-id bigdata-pro04.mars.com
    ssh-copy-id bigdata-pro05.mars.com

    注意, 这个相当于把公钥拷贝到从节点(追加的方式)[cat id_rsa.pub >> authorized_keys]

  3. 同步机器时间,使用ntpdate
    主节点设置时间,首先选择时区,可以使用 tzselect 命令,将时区选择好
    然后使用date -s 设置

    date -s 2018-08-18
    date -s 15:03:02

    从节点同步主节点的时间,使用crontab 定时任务

    0-59/10 * * * * /usr/sbin/ntpdate bigdata-pro01.mars.com

三、HDFS 集群配置

  1. hadoop版本下载
    cdh版本:下载地址 http://archive.cloudera.com/c...
    官网版本:下载地址 http://archive.apache.org/dist/
  2. 需要配置的文件
    $HADOOP_HOME/etc/hadoop/

    1) hadoop-env.sh

    #只要修改一个地方:
    #export JAVA_HOME=${JAVA_HOME}
    export JAVA_HOME=/opt/modules/jdk1.8.0_171

    2) core-site.xml

    <configuration>
    <property>
            <name>fs.defaultFS</name>
            <value>hdfs://bigdata-pro01.mars.com:9000</value>
    </property>
    <property>
            <name>hadoop.http.staticuser.user</name>
            <value>bigdata</value>
    </property>
    
    <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/modules/hadoop-2.6.0-cdh5.10.2/data/tmp</value>
    </property>
    
    </configuration>

    3) hdfs-site.xml

    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>2</value>
        </property>
    
        <property>
            <name>dfs.permissions.enabled</name>
            <value>false</value>
        </property>
    </configuration>

    4) slaves

    bigdata-pro03.mars.com
    bigdata-pro04.mars.com
    bigdata-pro05.mars.com

四、HDFS HA 配置

配置完成后,先启动journalnode服务
$HADOOP_HOME/sbin/hadoop-daemon.sh start journalnode

相关推荐