大数据分布式集群组件安装手册

文章目录

  • 1. 手册说明
  • 2. 部署规划
    • 2.1. 服务器信息
    • 2.2. 服务器规划
    • 2.3. 组件及其对应版本
  • 3. 组件部署
    • 3.1. 服务器基础配置
      • 3.1.1. 解除 Linux 系统限制
        • 1. 解除打开文件数限制:
      • 3.1.2. 修改主机名和主机映射
        • 1. 永久修改主机名:
        • 2. 临时修改主机名:
      • 3.1.3 配置主机映射
      • 3.1.3. 关闭防火墙和selinux
        • 1. 关闭防火墙:
        • 2. 关闭SELinux
      • 3.1.4. 服务器之间免密ssh登陆
        • 1. 制作秘钥:
        • 2. 拷贝秘钥:
      • 3.1.5. 时钟同步
        • 1. 配置与启动:


1. 手册说明

本手册主要内容为:大数据相关组件的集群安装与部署过程,以及在安装与部署过程中常见问题的处理方法。根据实际需求,本手册内的大数据组件都为原生版本,不包含HDP和CDH的相关发行版本。所有大数据组件都尽可能的部署高可用模式。

2. 部署规划

2.1. 服务器信息

服务器(IP) 服务器类型 操作系统 CPU(core) 内存(GB) 磁盘(GB)
10.10.195.53 虚拟机 Centos7.2 8 64 800
10.10.195.54 虚拟机 Centos7.2 8 64 800
10.10.195.55 虚拟机 Centos7.2 8 64 800
10.10.195.56 虚拟机 Centos7.2 8 64 800

2.2. 服务器规划

规划 10.10.195.53 10.10.195.54 10.10.195.55 10.10.195.56
主机名 bigdata-1.mid.neu.com bigdata-2.mid.neu.com bigdata-3.mid.neu.com bigdata-4.mid.neu.com
Zookeeper
Hadoop-NameNode
Hadoop-DataNode
Hadoop-ResourceServer
Hadoop-NodeManager
Hadoop-DFSZKFailoverController
Hadoop-JournalNode
Kafka
Clickhouse
Flink-JobManager
Flink-TaskManager

2.3. 组件及其对应版本

组件 版本
Hadoop 3.1.2
Hive 3.1.2
Zookeeper 3.5.5
Tez 0.9.2
Clickhouse 20.1.6.30
Kafka 2.3.0
Flink 1.10

3. 组件部署

3.1. 服务器基础配置

3.1.1. 解除 Linux 系统限制

1. 解除打开文件数限制:

执行:

vim /etc/security/limits.conf

添加如下内容:

* soft noproc 65535
* hard noproc 65535
* soft nofile 65535
* hard nofile 65535

3.1.2. 修改主机名和主机映射

1. 永久修改主机名:

hostnamectl set-hostname bigdata-1.mid.neu.com
hostnamectl set-hostname bigdata-2.mid.neu.com
hostnamectl set-hostname bigdata-3.mid.neu.com
hostnamectl set-hostname bigdata-4.mid.neu.com

2. 临时修改主机名:

hostname bigdata-1.mid.neu.com
hostname bigdata-2.mid.neu.com
hostname bigdata-3.mid.neu.com
hostname bigdata-4.mid.neu.com

3.1.3 配置主机映射

修改

vim /etc/hosts

添加如下内容:

10.10.195.53 bigdata-1.mid.neu.com bigdata-1
10.10.195.54 bigdata-2.mid.neu.com bigdata-2
10.10.195.55 bigdata-3.mid.neu.com bigdata-3
10.10.195.56 bigdata-4.mid.neu.com bigdata-4

测试:

ping bigdata-1
ping bigdata-2
ping bigdata-3
ping bigdata-4

3.1.3. 关闭防火墙和selinux

1. 关闭防火墙:

查看防火墙状态:

firewall-cmd --state

临时停止firewall:

systemctl stop firewalld.service

永久禁止开启启动firewall:

systemctl disable firewalld.service

2. 关闭SELinux

查看SELinux状态:

getenforce 或者 /usr/sbin/sestatus -v

临时禁用:

setenforce 0

永久禁用:

vim /etc/selinux/config

将SELINUX=enforce改成SELINUX=disabled。

永久禁用需要保存和重启才可以生效。

3.1.4. 服务器之间免密ssh登陆

1. 制作秘钥:

在所有服务器上执行如下命令:

cd ~
ssh-keygen

直接一路回车,采用默认配置即可。

2. 拷贝秘钥:

在所有服务器上执行如下命令:

ssh-copy-id -i ~/.ssh/id_rsa.pub bigdata-1.mid.neu.com
ssh-copy-id -i ~/.ssh/id_rsa.pub bigdata-2.mid.neu.com
ssh-copy-id -i ~/.ssh/id_rsa.pub bigdata-3.mid.neu.com
ssh-copy-id -i ~/.ssh/id_rsa.pub bigdata-4.mid.neu.com

cd ~/.ssh

scp id_rsa id_rsa.pub bigdata-2.mid.neu.com:/root/.ssh/
scp id_rsa id_rsa.pub bigdata-3.mid.neu.com:/root/.ssh/
scp id_rsa id_rsa.pub bigdata-4.mid.neu.com:/root/.ssh/

3.1.5. 时钟同步

1. 配置与启动:

在主服务器上执行:

vim /etc/ntp.conf

注释掉原先的默认配置:

#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

添加如下配置(配置时钟同步地址为时钟同步服务器):

server 10.10.195.126 minpoll 4 maxpoll 5
fudge 127.127.1.0 stratum 3
restrict 10.10.195.126

重启ntp服务:

systemctl restart ntpd.service

查看ntp状态:
ntpq -p
f) 设置开机自启动
systemctl enable ntpd

3.2. JDK安装

  1. 在主节点执行如下步骤:
    a) 解压缩:
    tar -xzvf jdk-8u211-linux-x64.tar.gz -C /home
    b) 设置环境变量:
    vim /etc/profile
    c) 添加如下内容:
    export JAVA_HOME=/home/jdk1.8.0_211
    export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : {JAVA_HOME}/jre export CLASSPATH=.: JAVAHOME/jreexportCLASSPATH=.:{JAVA_HOME}/lib: J R E H O M E / l i b e x p o r t P A T H = {JRE_HOME}/lib export PATH= JREHOME/libexportPATH={JAVA_HOME}/bin:$PATH
    d) 生效:
    source /etc/profile
    e) 验证:
    java -version

  2. 在其他节点执行如下步骤:
    a) 从主节点复制文件到其他节点:
    scp -r jdk1.8.0_211/ bigdata-2:/home
    scp -r jdk1.8.0_211/ bigdata-3:/home
    scp -r jdk1.8.0_211/ bigdata-4:/home
    b) 设置环境变量:
    vim /etc/profile
    c) 添加如下内容:
    export JAVA_HOME=/home/jdk1.8.0_211
    export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : {JAVA_HOME}/jre export CLASSPATH=.: JAVAHOME/jreexportCLASSPATH=.:{JAVA_HOME}/lib: J R E H O M E / l i b e x p o r t P A T H = {JRE_HOME}/lib export PATH= JREHOME/libexportPATH={JAVA_HOME}/bin:$PATH
    d) 生效:
    source /etc/profile
    e) 验证:
    java -version

3.3. Zookeeper组件部署

  1. 下载安装介质:
    https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.5-bin.tar.gz

  2. 解压缩:
    tar -xzvf apache-zookeeper-3.5.5-bin.tar.gz -C /home
    mv apache-zookeeper-3.5.5-bin/ zookeeper-3.5.5

  3. 创建数据目录和日志目录:
    mkdir /home/zookeeper-3.5.5/data
    mkdir /home/zookeeper-3.5.5/logs

  4. 配置:
    执行:
    vim /home/zookeeper-3.5.5/conf/zoo.cfg
    填入以下内容:
    tickTime=2000
    dataDir=/home/zookeeper-3.5.5/data
    dataLogDir=/home/zookeeper-3.5.5/logs
    clientPort=2181
    initLimit=5
    syncLimit=2
    server.1=bigdata-1.mid.neu.com:2888:3888
    server.2=bigdata-2.mid.neu.com:2888:3888
    server.3=bigdata-3.mid.neu.com:2888:3888

  5. 复制到其它节点(zookeeper的节点必须是奇数):
    scp -r /home/zookeeper-3.5.5 10.10.195.54:/home
    scp -r /home/zookeeper-3.5.5 10.10.195.55:/home

  6. 配置zookeeper服务器id:
    touch /home/zookeeper-3.5.5/data/myid
    vim /home/zookeeper-3.5.5/data/myid
    填入1(注意,参考配置文件server.1、server.2、server.3的配置主机,配置不同的id,如2,3)

  7. 启动:
    各节点执行:
    /home/zookeeper-3.5.5/bin/zkServer.sh start

  8. 检查状态:
    /home/zookeeper-3.5.5/bin/zkServer.sh status

3.4. Hadoop分布式集群部署

  1. 下载安装介质:
    https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.1.2/hadoop-3.1.2.tar.gz

  2. 解压缩:
    tar -xzvf hadoop-3.1.2.tar.gz -C /home

  3. 设置环境变量:
    执行:
    vim /etc/profile
    添加如下内容:
    export HADOOP_HOME=/home/hadoop-3.1.2
    export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin
    生效:
    source /etc/profile

  4. 创建存储目录:
    mkdir -p /home/hadoop-3.1.2/data/tmp
    mkdir -p /home/hadoop-3.1.2/data/namenode
    mkdir -p /home/hadoop-3.1.2/data/datanode
    mkdir -p /home/hadoop-3.1.2/data/journal

  5. 修改配置文件:
    a) 进入hadoop配置目录:
    cd /home/hadoop-3.1.2/etc/Hadoop

b) 修改hadoop环境变量脚本:
执行:
vim hadoop-env.sh
添加如下内容:
export JAVA_HOME=/home/jdk1.8.0_211
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export HDFS_DATANODE_SECURE_USER=root
export YARN_NODEMANAGER_USER=root
export HADOOP_SHELL_EXECNAME=root
export HDFS_ZKFC_USER=root
export HDFS_JOURNALNODE_USER=root

c) 修改hadoop核心配置文件:
执行:
vim core-site.xml
修改为内容:


fs.defaultFS
hdfs://hadoop-cluster


hadoop.tmp.dir
/home/hadoop-3.1.2/data/tmp


ha.zookeeper.quorum
bigdata-1.mid.neu.com:2181,bigdata-2.mid.neu.com:2181,bigdata-3.mid.neu.com:2181


hadoop.proxyuser.root.hosts



hadoop.proxyuser.root.groups


d) 修改hdfs配置文件:
执行:
vim hdfs-site.xml
修改为如下内容:


dfs.nameservices
hadoop-cluster


dfs.ha.namenodes.hadoop-cluster
nn01,nn02


dfs.namenode.rpc-address.hadoop-cluster.nn01
bigdata-1.mid.neu.com:9000


dfs.namenode.rpc-address.hadoop-cluster.nn02
bigdata-2.mid.neu.com:9000


dfs.namenode.http-address.hadoop-cluster.nn01
bigdata-1.mid.neu.com:50070


dfs.namenode.http-address.hadoop-cluster.nn02
bigdata-2.mid.neu.com:50070


dfs.namenode.shared.edits.dir
qjournal://bigdata-1.mid.neu.com:8485;bigdata-2.mid.neu.com:8485;bigdata-3.mid.neu.com:8485/hadoop-cluster


dfs.client.failover.proxy.provider.hadoop-cluster
org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider


dfs.permissions.enabled
false


dfs.support.append
true


dfs.replication
3


dfs.namenode.name.dir
/home/hadoop-3.1.2/data/namenode


dfs.datanode.data.dir
/home/hadoop-3.1.2/data/datanode


dfs.journalnode.edits.dir
/home/hadoop-3.1.2/data/journal


dfs.ha.automatic-failover.enabled
true


dfs.webhdfs.enabled
true


dfs.ha.fencing.ssh.connect-timeout
30000


dfs.ha.fencing.ssh.private-key-files
/root/.ssh/id_rsa


dfs.ha.fencing.methods

sshfence
shell(/bin/true)


e) 修改mapreduce配置文件:
执行:
vim mapred-site.xml
修改如下内容:

 
   
    mapreduce.framework.name  
    yarn 
    

f) 修改yarn配置文件:
执行:
vim yarn-site.xml
修改如下内容:

 
    
        yarn.resourcemanager.ha.enabled
        true
    
    
        yarn.resourcemanager.cluster-id
        yarn-cluster
    
    
        yarn.resourcemanager.ha.rm-ids
        rm1,rm2
    
    
        yarn.resourcemanager.hostname.rm1
        bigdata-1.mid.neu.com
    
    
        yarn.resourcemanager.hostname.rm2
        bigdata-2.mid.neu.com
    
    
        yarn.resourcemanager.zk-address
        bigdata-1.mid.neu.com:2181,bigdata-2.mid.neu.com:2181,bigdata-3.mid.neu.com:2181
    
    
        yarn.nodemanager.aux-services
        mapreduce_shuffle
    
    
        yarn.log-aggregation-enable
        true
    
    
        yarn.log-aggregation.retain-seconds
        86400
    
    
        yarn.resourcemanager.recovery.enabled
        true
    
    
        yarn.resourcemanager.store.class
        org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore
    
    
        yarn.nodemanager.vmem-check-enabled
        false
    
    
        yarn.nodemanager.localizer.fetch.thread-count
        10
    
    
        yarn.scheduler.capacity.maximum-am-resource-percent
        0.6
    

g) 修改主从节点配置:
执行:
vim /home/hadoop-3.1.2/etc/hadoop/workers
添加:
bigdata-1.mid.neu.com
bigdata-2.mid.neu.com
bigdata-3.mid.neu.com
bigdata-4.mid.neu.com

  1. 从主节点复制hadoop目录到其它节点:
    scp -r /home/hadoop-3.1.2/ 10.10.195.54:/home
    scp -r /home/hadoop-3.1.2/ 10.10.195.55:/home
    scp -r /home/hadoop-3.1.2/ 10.10.195.55:/home

  2. 配置其它节点环境变量:
    vim /etc/profile
    添加如下内容:
    export HADOOP_HOME=/home/hadoop-3.1.2
    export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin
    生效:
    source /etc/profile

  3. 启动journalnode:
    按照规划,在bigdata-1.mid.neu.com、bigdata-2.mid.neu.com、bigdata-3.mid.neu.com节点启动journalnode。
    /home/hadoop-3.1.2/bin/hdfs --daemon start journalnode

  4. 格式化zookeeper:
    在任意namenode节点执行,这里为bigdata-1.mid.neu.com。
    /home/hadoop-3.1.2/bin/hdfs zkfc -formatZK -force

  5. 格式化主namenode节点:
    在bigdata-1.mid.neu.com节点上执行
    /home/hadoop-3.1.2/bin/hdfs namenode -format -force

  6. 启动主namenode节点:
    在bigdata-1.mid.neu.com节点上执行
    /home/hadoop-3.1.2/bin/hdfs --daemon start namenode

  7. 启动zkfc节点:
    按照规划,在bigdata-1.mid.neu.com和bigdata-2.mid.neu.com节点上执行。
    /home/hadoop-3.1.2/bin/hdfs --daemon start zkfc

  8. 格式化备namenode节点:
    在bigdata-2.mid.neu.com节点上执行。
    /home/hadoop-3.1.2/bin/hdfs namenode -bootstrapStandby -force

  9. 启动备namenode节点:
    在bigdata-2.mid.neu.com节点上执行
    /home/hadoop-3.1.2/bin/hdfs --daemon start namenode

  10. 启动datanode节点:
    在所有worker节点上执行:
    /home/hadoop-3.1.2/bin/hdfs --daemon start datanode

  11. 启动resourcemanager节点:
    按照规划,在bigdata-1.mid.neu.com和bigdata-2.mid.neu.com节点上执行
    /home/hadoop-3.1.2/bin/yarn --daemon start resourcemanager

  12. 启动nodemanager节点:
    在所有worker节点上执行:
    /home/hadoop-3.1.2/bin/yarn --daemon start nodemanager

  13. 验证:
    执行:
    jps
    观察内容:
    NameNode
    DataNode
    ResourceManager
    NodeManager
    DFSZKFailoverController
    JournalNode

3.5. Kafka分布式集群部署

  1. 解压缩:
    tar -xzvf kafka_2.12-2.3.0.tar.gz -C /home

  2. 调整配置文件:
    /home/kafka_2.12-2.3.0/config/server.properties
    调整:
    broker.id=1
    log.dirs=/home/kafka_2.12-2.3.0/logs/kafka-logs
    zookeeper.connect=bigdata-1.mid.neu.com:2181,bigdata-2.mid.neu.com:2181,bigdata-3.mid.neu.com:2181

需要注意:broker.id不同服务器是不一样的,如bigdata-1.mid.neu.com为1,bigdata-2.mid.neu.com为2,bigdata-3.mid.neu.com为3。

  1. 启动:
    nohup /home/kafka_2.12-2.3.0/bin/kafka-server-start.sh -daemon /home/kafka_2.12-2.3.0/config/server.properties 2>&1

3.6. Flink分布式集群部署

  1. 解压缩:
    tar -xzvf flink-1.10.0-bin-scala_2.12.tar -C /home

  2. 调整配置文件:
    这里以flink on yarn为例:
    调整文件:
    /home/kafka_2.12-2.3.0/conf/flink-conf.yaml
    调整:
    high-availability: zookeeper
    high-availability.storageDir: hdfs://Hadoop-cluster/flink/ha/
    high-availability.zookeeper.quorum: bigdata-1.mid.neu.com:2181,bigdata-2.mid.neu.com:2181,bigdata-3.mid.neu.com:2181
    state.backend: filesystem
    state.checkpoints.dir: hdfs://hadoop-cluster/flink-checkpoints
    state.savepoints.dir: hdfs://hadoop-cluster/flink-savepoints

3.7. clickhouse分布式集群部署:

  1. 安装:
    rpm -ivh clickhouse-common-static-20.1.6.30-2.x86_64.rpm
    rpm -ivh clickhouse-server-20.1.6.30-2.noarch.rpm
    rpm -ivh clickhouse-client-20.1.6.30-2.noarch.rpm

  2. 修改配置:
    vim /etc/clickhouse-server/config.xml
    修改:
    19000
    ::

  3. 启动:
    systemctl start clickhouse-server
    附录A:大数据组件原生web管理系统地址整理:
    组件 Web管理系统地址
    HDFS http://10.10.195.53:50070
    YARN http://10.10.195.53:8088
    HBASE http://10.10.195.53:16010

注意:以上端口都不是固定的,可以在相应的配置文件中配置。

你可能感兴趣的:(hadoop)