一、服务节点规划设计

机器1 机器2 机器3 机器4 机器5
hdfs NameNode NameNode DataNode DataNode DataNode
YARN ResourceManager ResourceManager NodeManager NodeManager NodeManager
Zookeeper Zookeeper Zookeeper Zookeeper Zookeeper Zookeeper
Kafka Kafka Kafka Kafka
Hbase master master RegionServer RegionServer RegionServer
flume flume flume flume
hive hive
mysql mysql
spark spark
hue hue

二、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


Justins
18 声望0 粉丝