实时数仓-持续更新

打印 上一主题 下一主题

主题 1032|帖子 1032|积分 3096

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
镜像服务器清理

对于整个机器
  1. rm -rf /tmp/*
  2. rm -rf /usr/tmp/*
  3. rm -rf /var/log/*
  4. rm -rf /var/run/log/*
  5. rm -rf /root/*
  6. rm -rf /paimon
复制代码
对于Dinky
  1. rm -rf /opt/service/dinky-release-1.17-1.0.3/logs/*
  2. rm -rf /opt/service/dinky-release-1.17-1.0.3/tmp/*
复制代码
对于Hadoop
  1. rm -rf /opt/service/hadoop-3.2.4/data/*
  2. rm -rf /opt/service/hadoop-3.2.4/logs/*
  3. rm -rf /opt/service/hadoop-3.2.4/tmp/*
复制代码
对于Kafka
  1. rm -rf /opt/service/kafka_2.12-3.0.0/data/*
  2. rm -rf /opt/service/kafka_2.12-3.0.0/logs/*
复制代码
对于zookeeper
  1. rm -rf /opt/service/zookeeper-3.5.10/data/zkdata/*
  2. rm -rf /opt/service/zookeeper-3.5.10/data/zkdatalog/*
  3. rm -rf /opt/service/zookeeper-3.5.10/logs/*
复制代码
JDK(底子组件)

https://www.oracle.com/java/technologies/downloads/archive/
解压后设置`/etc/profile`
  1. #JAVA
  2. export JAVA_HOME=/opt/service/jdk1.8.0_401
  3. export JRE_HOME=${JAVA_HOME}/jre
  4. export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
  5. export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
  6. export PATH=$PATH:${JAVA_PATH}
复制代码
使下令生效
source /etc/profile
检验Java版本
java -version
MYSQL

安装脚本
  1. #!/bin/bash
  2. set -x
  3. function Install_Mysql(){
  4.     while :
  5.         do
  6.         read -p "Do you need to install MySQL(yes/no): " my_result
  7.         if [ "$my_result" == "no" ];then
  8.             which mysql >/dev/null 2>&1
  9.             if [ "$?" != "0" ];then
  10.                 echo "MySQL client is not installed on this machine. Start to install now"
  11.                 cd $dir
  12.                 wget -O "mysql5.7.tar.gz" https://s3-gzpu.didistatic.com/pub/mysql5.7.tar.gz
  13.                 mkdir -p $dir/mysql/ && cd $dir/mysql/
  14.                 tar -zxf $dir/mysql5.7.tar.gz -C $dir/mysql/
  15.                 rpm -ivh $dir/mysql/mysql-community-common-5.7.36-1.el7.x86_64.rpm
  16.                 rpm -ivh $dir/mysql/mysql-community-libs-5.7.36-1.el7.x86_64.rpm
  17.                 rpm -ivh $dir/mysql/mysql-community-client-5.7.36-1.el7.x86_64.rpm
  18.             fi
  19.             read -p "Please enter the MySQL service address: " mysql_ip
  20.             read -p "Please enter MySQL service port(default is 3306): " mysql_port
  21.             read -p "Please enter the root password of MySQL service: " mysql_pass
  22.             if [ "$mysql_port" == "" ];then
  23.                 mysql_port=3306
  24.             fi
  25.             break
  26.         elif [ "$my_result" == "yes" ];then
  27.             read -p "Installing MySQL service will uninstall the installed(if any), Do you want to continue(yes/no): " option
  28.             if [ "$option" == "yes" ];then  
  29.                 cd $dir
  30.                 wget -O "mysql5.7.tar.gz" https://s3-gzpu.didistatic.com/pub/mysql5.7.tar.gz
  31.                 rpm -qa | grep -w -E "mariadb|mysql" | xargs yum -y remove >/dev/null 2>&1
  32.                 mv -f /var/lib/mysql/ /var/lib/mysqlbak$(date "+%s") >/dev/null 2>&1
  33.                 mkdir -p $dir/mysql/ && cd $dir/mysql/
  34.                 tar -zxf $dir/mysql5.7.tar.gz -C $dir/mysql/
  35.                 yum -y localinstall mysql* libaio*
  36.                 systemctl start mysqld
  37.                 systemctl enable mysqld >/dev/null 2>&1
  38.                 old_pass=`grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}' | tail -n 1`
  39.                 mysql -NBe "alter user USER() identified by '$mysql_pass';" --connect-expired-password -uroot -p$old_pass
  40.                 if [ $? -eq 0 ];then
  41.                     mysql_ip="127.0.0.1"
  42.                     mysql_port="3306"
  43.                     echo  "Mysql database installation completed"
  44.                     echo  -------- Mysql Password $old_pass ---------
  45.                 else
  46.                     echo -e "${RED} Mysql database configuration failed. The script exits ${RES}"
  47.                     exit
  48.                 fi
  49.                 break
  50.             else
  51.                 exit 1
  52.             fi
  53.         else
  54.             Printlog "Input error, please re-enter(yes/no)"
  55.             continue
  56.         fi
  57.     done
  58. }
  59. #参数声明
  60. dir=`pwd`
  61. RED='\E[1;31m'
  62. RES='\E[0m'
  63. #调用
  64. Install_Mysql
复制代码
SSH(集群免密)

--参考地点
https://www.jianshu.com/p/b71c58a598b5
端口:22
修改设置文件(三台) `/etc/hosts`
  1. echo "::1     localhost       localhost.localdomain   localhost6      localhost6.localdomain6
  2. 127.0.0.1       localhost       localhost.localdomain   localhost4      localhost4.localdomain4
  3. 192.168.99.215  bigdata01 iZ2ze3nalp8guto80cb08tZ
  4. 192.168.99.216  bigdata02 iZ2ze3nalp8guto80cb08sZ
  5. 192.168.99.214  bigdata03 iZ2ze3nalp8guto80cb08rZ" > /etc/hosts
复制代码
互相免密设置(三台)
  1. ssh-keygen -t rsa
  2. .ae[%oTuPP~G%}3,hy{UPB&&}8M}18
  3. #连续三次回车
  4. ssh-copy-id root@bigdata01
  5. #输入密码
  6. #Odds!@#123
  7. ssh-copy-id root@bigdata02
  8. #输入密码
  9. ssh-copy-id root@bigdata03
  10. #输入密码
复制代码
Zookeeper(集群)

分布式协调服务,可以帮助分布式应用步伐****实现数据同步
-- 参考地点
https://www.cnblogs.com/maoxianwan/articles/17486380.html
端口:2181/2888/3888
解压后设置`/etc/profile`
  1. #ZOOKEEPER
  2. export ZOOKEEPER_HOME=/opt/hadoop/apache-zookeeper-3.8.0-bin/
  3. export PATH=$PATH:$ZOOKEEPER_HOME/bin
复制代码
使下令生效
source /etc/profile
修改设置文件` ```$ZOOKEEPER_HOME/conf/zoo.cfg``` `
  1. # The number of milliseconds of each tick
  2. tickTime=2000
  3. # The number of ticks that the initial
  4. # synchronization phase can take
  5. initLimit=10
  6. # The number of ticks that can pass between
  7. # sending a request and getting an acknowledgement
  8. syncLimit=5
  9. # the directory where the snapshot is stored.
  10. # do not use /tmp for storage, /tmp here is just
  11. # example sakes.
  12. dataDir=/opt/service/zookeeper-3.5.10/data/zkdata
  13. dataLogDir=/opt/service/zookeeper-3.5.10/data/zkdatalog
  14. # the port at which the clients will connect
  15. clientPort=2181
  16. # the maximum number of client connections.
  17. # increase this if you need to handle more clients
  18. #maxClientCnxns=60
  19. #
  20. # Be sure to read the maintenance section of the
  21. # administrator guide before turning on autopurge.
  22. #
  23. # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
  24. #
  25. # The number of snapshots to retain in dataDir
  26. #autopurge.snapRetainCount=3
  27. # Purge task interval in hours
  28. # Set to "0" to disable auto purge feature
  29. #autopurge.purgeInterval=1
  30. server.1=bigdata01:2888:3888
  31. server.2=bigdata02:2888:3888
  32. server.3=bigdata03:2888:3888
复制代码
在目次dataDir创建服务节点编号文件myid,与server.后的数字对应
自定义集群启停脚本
  1. #!/bin/bash
  2. for host in bigdata01 bigdata02 bigdata03
  3. do
  4.         case $1 in
  5.         "start"){
  6.                 echo "                                               "
  7.                 echo "--------------- 启 动 zookeeper ---------------"
  8.                 echo "------------ $host zookeeper -----------"
  9.                 ssh $host "source /etc/profile; zkServer.sh start"
  10.         };;
  11.         "stop"){
  12.                 echo "                                               "
  13.                 echo "--------------- 关 闭 zookeeper ---------------"
  14.                 echo "------------ $host zookeeper -----------"
  15.                 ssh $host "source /etc/profile; zkServer.sh stop"
  16.         };;
  17.         "status"){
  18.                 echo "                                               "
  19.                 echo "-------------- 查看zookeeper状态 --------------"
  20.                 echo "------------ $host zookeeper -----------"
  21.                 ssh $host "source /etc/profile; zkServer.sh status"
  22.         };;
  23.         esac
  24. done
复制代码
`chmod +x /bash/zkCluster.sh`
`cp /bash/zkCluster.sh /bin/`
测试
`zkCluster.sh status`
Kafka(集群)

--参考地点
https://blog.csdn.net/snipercai/article/details/131812772
端口:9092/9999
解压后设置`/etc/profile`
  1. #HADOOP
  2. export HADOOP_HOME=/opt/service/hadoop-3.2.4
  3. export HADOOP_LOG_DIR=$HADOOP_HOME/logs
  4. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
复制代码
Hadoop(集群)

--参考地点
https://blog.csdn.net/snipercai/article/details/131812772
端口:9000/9870/8485/10020/19888/8088
解压后设置`/etc/profile`
  1. #HADOOP
  2. export HADOOP_HOME=/opt/service/hadoop-3.2.4
  3. export HADOOP_LOG_DIR=$HADOOP_HOME/logs
  4. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
复制代码
各设置文件
core-site.xml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <configuration>
  4.   
  5.   <property>
  6.     <name>fs.defaultFS</name>
  7.     <value>hdfs://ccns</value>
  8.   </property>
  9.   
  10.   
  11.   <property>
  12.     <name>hadoop.tmp.dir</name>
  13.     <value>/opt/service/hadoop-3.2.4/tmp</value>
  14.   </property>
  15.   
  16.   
  17.   <property>
  18.     <name>ha.zookeeper.quorum</name>
  19.     <value>bigdata01:2181,bigdata02:2181,bigdata03:2181</value>
  20.   </property>
  21.   
  22.   
  23.   <property>
  24.     <name>hadoop.data.dir</name>
  25.     <value>/opt/service/hadoop-3.2.4/data</value>
  26.   </property>
  27.   
  28.    
  29.   <property>
  30.     <name>hadoop.http.staticuser.user</name>
  31.     <value>root</value>
  32.   </property>
  33.   
  34.   
  35.   <property>
  36.     <name>fs.trash.interval</name>
  37.     <value>1440</value>
  38.   </property>
  39.   <property>
  40.     <name>fs.alluxio.impl</name>
  41.     <value>alluxio.hadoop.FileSystem</value>
  42.   </property>
  43.   
  44. </configuration>
复制代码
hdfs-site.xml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <configuration>
  4.   
  5.   <property>
  6.     <name>dfs.nameservices</name>
  7.     <value>ccns</value>
  8.   </property>
  9.   
  10.   
  11.   <property>
  12.     <name>dfs.ha.namenodes.ccns</name>
  13.     <value>nn1,nn2</value>
  14.   </property>
  15.   
  16.   
  17.   <property>
  18.     <name>dfs.namenode.rpc-address.ccns.nn1</name>
  19.     <value>bigdata01:9000</value>
  20.   </property>
  21.   
  22.   <property>
  23.     <name>dfs.namenode.rpc-address.ccns.nn2</name>
  24.     <value>bigdata02:9000</value>
  25.   </property>
  26.   
  27.   <property>
  28.     <name>dfs.namenode.http-address.ccns.nn1</name>
  29.     <value>bigdata01:9870</value>
  30.   </property>
  31.   
  32.   
  33.   <property>
  34.     <name>dfs.namenode.http-address.ccns.nn2</name>
  35.     <value>bigdata02:9870</value>
  36.   </property>
  37.   
  38.   
  39.   <property>
  40.     <name>dfs.namenode.shared.edits.dir</name>
  41.     <value>qjournal://bigdata01:8485;bigdata02:8485;bigdata03:8485/ccns</value>
  42.   </property>
  43.   
  44.   <property>
  45.     <name>dfs.client.failover.proxy.provider.ccns</name>
  46.     <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
  47.   </property>
  48.   
  49.   <property>
  50.     <name>dfs.ha.fencing.methods</name>
  51.     <value>sshfence</value>
  52.   </property>
  53.   
  54.   
  55.   <property>
  56.     <name>dfs.ha.automatic-failover.enabled</name>
  57.     <value>true</value>
  58.   </property>
  59.   
  60.   
  61.   <property>
  62.     <name>dfs.ha.fencing.ssh.private-key-files</name>
  63.     <value>/root/.ssh/id_rsa</value>
  64.   </property>
  65.   
  66.   <property>
  67.     <name>dfs.journalnode.edits.dir</name>
  68.     <value>/opt/service/hadoop-3.2.4/data/journalnode</value>
  69.   </property>
  70.   
  71.   
  72.   <property>   
  73.     <name>dfs.namenode.name.dir</name>   
  74.     <value>file:///opt/service/hadoop-3.2.4/data/namenode</value>   
  75.   </property>   
  76.   
  77.   <property>   
  78.     <name>dfs.datanode.data.dir</name>   
  79.     <value>file:///opt/service/hadoop-3.2.4/data/datanode</value>   
  80.   </property>
  81.   
  82.   <property>
  83.     <name>dfs.replication</name>
  84.     <value>2</value>
  85.   </property>
  86.   
  87.                            
  88.   <property>   
  89.     <name>dfs.permissions</name>   
  90.     <value>false</value>   
  91.   </property>
  92. </configuration>
复制代码
yarn-site.xml
  1. <?xml version="1.0"?>
  2. <configuration>
  3.    
  4.     <property>
  5.         <name>yarn.resourcemanager.ha.enabled</name>
  6.         <value>true</value>
  7.     </property>
  8.    
  9.     <property>
  10.         <name>yarn.resourcemanager.cluster-id</name>
  11.         <value>ccyarn</value>
  12.     </property>
  13.    
  14.     <property>
  15.         <name>yarn.resourcemanager.ha.rm-ids</name>
  16.         <value>rm1,rm2</value>
  17.     </property>
  18.    
  19.     <property>
  20.         <name>yarn.resourcemanager.hostname.rm1</name>
  21.         <value>bigdata01</value>
  22.     </property>
  23.    
  24.     <property>
  25.         <name>yarn.resourcemanager.hostname.rm2</name>
  26.         <value>bigdata02</value>
  27.     </property>
  28.    
  29.     <property>
  30.         <name>yarn.resourcemanager.webapp.address.rm1</name>
  31.         <value>bigdata01:8088</value>
  32.     </property>
  33.    
  34.     <property>
  35.         <name>yarn.resourcemanager.webapp.address.rm2</name>
  36.         <value>bigdata02:8088</value>
  37.     </property>
  38.    
  39.     <property>
  40.         <name>hadoop.zk.address</name>
  41.         <value>bigdata01:2181,bigdata02:2181,bigdata03:2181</value>
  42.     </property>
  43.    
  44.     <property>
  45.         <name>yarn.resourcemanager.recovery.enabled</name>
  46.         <value>true</value>
  47.     </property>
  48.    
  49.     <property>
  50.         <name>yarn.resourcemanager.store.class</name>
  51.         <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
  52.     </property>
  53.    
  54.    
  55.     <property>
  56.         <name>yarn.nodemanager.aux-services</name>
  57.         <value>mapreduce_shuffle</value>
  58.     </property>
  59.    
  60.     <property>
  61.         <name>yarn.nodemanager.pmem-check-enabled</name>
  62.         <value>false</value>
  63.     </property>
  64.    
  65.     <property>
  66.         <name>yarn.nodemanager.vmem-check-enabled</name>
  67.         <value>false</value>
  68.     </property>
  69.    
  70.     <property>
  71.         <name>yarn.log-aggregation-enable</name>
  72.         <value>true</value>
  73.     </property>
  74.    
  75.     <property>
  76.         <name>yarn.log.server.url</name>
  77.         <value>http://bigdata01:19888/jobhistory/logs</value>
  78.     </property>
  79.    
  80.     <property>
  81.         <name>yarn.log-aggregation.retain-seconds</name>
  82.         <value>172800</value>
  83.     </property>
  84.    
  85.     <property>
  86.         <name>yarn.resourcemanager.am.max-attempts</name>
  87.         <value>4</value>
  88.         <description>
  89.             The maximum number of application master execution attempts.
  90.         </description>
  91.     </property>
  92.     <property>
  93.         <name>yarn.app.attempts</name>
  94.         <value>3</value>
  95.     </property>
  96.     <property>
  97.         <name>yarn.application.attempt.failures-validity-interval</name>
  98.         <value>5 minute</value>
  99.     </property>
  100.    
  101.     <property>
  102.         <name>yarn.resourcemanager.scheduler.class</name>
  103.         
  104.         <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
  105.     </property>
  106.     <property>
  107.         <name>yarn.scheduler.fair.allocation.file</name>
  108.         <value>/opt/service/hadoop-3.2.4/etc/hadoop/fair-scheduler.xml</value>
  109.         <description>指明公平调度器队列分配配置文件</description>
  110.     </property>
  111.    
  112.     <property>
  113.         <name>yarn.scheduler.fair.user-as-default-queue</name>
  114.         <value>false</value>
  115.     </property>
  116.    
  117.    
  118.    
  119.    
  120.    
  121.    
  122.    
  123.     <property>
  124.         <name>yarn.resourcemanager.scheduler.client.thread-count</name>
  125.         <value>5</value>
  126.     </property>
  127.    
  128.    
  129.     <property>
  130.         <name>yarn.nodemanager.resource.detect-hardware-capabilities</name>
  131.         <value>false</value>
  132.     </property>
  133.    
  134.     <property>
  135.         <name>yarn.nodemanager.resource.count-logical-processors-as-cores</name>
  136.         <value>true</value>
  137.     </property>
  138.    
  139.     <property>
  140.         <name>yarn.nodemanager.resource.pcores-vcores-multiplier</name>
  141.         <value>16</value>
  142.     </property>
  143.    
  144.     <property>
  145.         <name>yarn.nodemanager.resource.memory-mb</name>
  146.         <value>30720</value>
  147.         <discription>每个节点可用内存,默认8192M(8G)</discription>
  148.     </property>
  149.    
  150.     <property>
  151.         <name>yarn.nodemanager.resource.cpu-vcores</name>
  152.         <value>96</value>
  153.         <discription>默认为8。每个节点可分配多少虚拟核给YARN使用,通常设为该节点定义的总虚拟核数即可。</discription>
  154.     </property>
  155.    
  156.     <property>
  157.         <name>yarn.scheduler.minimum-allocation-mb</name>
  158.         <value>1024</value>
  159.         <discription>单个任务可申请最少内存,默认1024MB</discription>
  160.     </property>
  161.    
  162.     <property>
  163.         <name>yarn.scheduler.maximum-allocation-mb</name>
  164.         <value>4096</value>
  165.         <discription>单个任务可申请最大内存,默认8192M(8G)</discription>
  166.     </property>
  167.    
  168.     <property>
  169.         <name>yarn.scheduler.minimum-allocation-vcores</name>
  170.         <value>1</value>
  171.         <discription>指定RM可以为每个container分配的最小/最大虚拟核数,低 于或高于该限制的核申请,会按最小或最大核数来进行分配。默认值适合 一般集群使用。</discription>
  172.     </property>
  173.    
  174.     <property>
  175.         <name>yarn.schedluler.maximum-allocation-vcores</name>
  176.         <value>6</value>
  177.         <discription>指定RM可以为每个container分配的最小/最大虚拟核数,低 于或高于该限制的核申请,会按最小或最大核数来进行分配。默认值适合 一般集群使用。</discription>
  178.     </property>
  179.    
  180.     <property>
  181.         <name>yarn.nodemanager.vmem-pmem-ratio</name>
  182.         <value>1</value>
  183.         <discription>物理内存不足时,使用的虚拟内存,默认是2.1,表示每使用1MB的物理内存,最多可以使用2.1MB的虚拟内存总量。</discription>
  184.     </property>
  185.     <property>
  186.         <name>yarn.nodemanager.vcores-pcores-ratio</name>
  187.         <value>16</value>
  188.         <discription>每使用一个物理cpu,可以使用的虚拟cpu的比例,默认为2</discription>
  189.     </property>
  190.     <property>
  191.         
  192.         <name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
  193.         <description>应用程序主控器(Application Master,简称 AM)可以使用的最大资源百分比</description>
  194.         <value>0.01</value>
  195.     </property>
  196. </configuration>
复制代码
mapred-site.xml
  1. <?xml version="1.0"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <configuration>
  4.   <property>
  5.     <name>mapreduce.framework.name</name>
  6.     <value>yarn</value>
  7.   </property>
  8.   <property>
  9.     <name>yarn.app.mapreduce.am.env</name>
  10.     <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
  11.   </property>
  12.   
  13.   <property>
  14.     <name>mapreduce.jobhistory.address</name>
  15.     <value>bigdata01:10020</value>
  16.   </property>
  17.   
  18.   
  19.   <property>
  20.     <name>mapreduce.jobhistory.webapp.address</name>
  21.     <value>bigdata01:19888</value>
  22.   </property>
  23.   
  24.   <property>
  25.     <name>mapreduce.map.env</name>
  26.     <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
  27.   </property>
  28.   
  29.   <property>
  30.     <name>mapreduce.reduce.env</name>
  31.     <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
  32.   </property>
  33.   
  34. </configuration>
复制代码
fair-site.xml
此文件根据yarn-site.xml举行设置
  1. <?xml version="1.0"?>
  2. <allocations>
  3.   
  4.   <userMaxAppsDefault>100</userMaxAppsDefault>
  5.   
  6.   <queue name="root">
  7.    
  8.     <minResources>1024mb,1vcores</minResources>
  9.    
  10.     <maxResources>153600mb,480vcores</maxResources>
  11.    
  12.     <maxRunningApps>200</maxRunningApps>
  13.    
  14.     <weight>1.0</weight>
  15.    
  16.     <schedulingMode>fair</schedulingMode>
  17.    
  18.     <aclSubmitApps>*</aclSubmitApps>
  19.    
  20.     <aclAdministerApps>*</aclAdministerApps>
  21.    
  22.     <queue name="default">
  23.       
  24.       <minResources>1024mb,1vcores</minResources>
  25.       
  26.       <maxResources>107520mb,300vcores</maxResources>
  27.       
  28.       <maxRunningApps>100</maxRunningApps>
  29.       
  30.       <schedulingMode>fair</schedulingMode>
  31.       
  32.       <weight>1.0</weight>
  33.       
  34.       <aclSubmitApps>*</aclSubmitApps>
  35.       
  36.       
  37.       <maxAMResourcePerApp>60000mb,150vcores</maxAMResourcePerApp>
  38.     </queue>
  39.    
  40.     <queue name="taobao">
  41.       
  42.       <minResources>1024mb,1vcores</minResources>
  43.       
  44.       <maxResources>46080mb,180vcores</maxResources>
  45.       
  46.       <maxRunningApps>100</maxRunningApps>
  47.       
  48.       <schedulingMode>fair</schedulingMode>
  49.       
  50.       <weight>1.0</weight>
  51.       <aclSubmitApps>*</aclSubmitApps>
  52.       
  53.       
  54.       <maxAMResourcePerApp>23040mb,180vcores</maxAMResourcePerApp>
  55.     </queue>
  56.   </queue>
  57. </allocations>
复制代码
使下令生效
source /etc/profile
修改设置文件(详见服务器)
创建对应数据存放目次
  1. mkdir /opt/service/hadoop-3.2.4/tmp
  2. mkdir /opt/service/hadoop-3.2.4/data
  3. mkdir /opt/service/hadoop-3.2.4/data/journalnode
  4. mkdir /opt/service/hadoop-3.2.4/data/namenode
  5. mkdir /opt/service/hadoop-3.2.4/data/datanode
复制代码
初始化集群
  1. #bigdata01执行
  2. hdfs zkfc -formatZK
  3. ### 每个节点分别启动 journalnode ###
  4. hdfs --daemon start journalnode
  5. ### 初始化主namenode,此次选择bigdata01为主namenode ###
  6. hdfs namenode -format
  7. #启动主namenode
  8. hdfs --daemon start namenode
  9. #初始化从namenode,此次bigdata02为从namenode
  10. hdfs namenode -bootstrapStandby
  11. #启动所有进程
  12. start-all.sh
复制代码
集群扩缩容(无需停机)

https://blog.csdn.net/andy_wcl/article/details/104558092
默认各个节点与集群总的存储使用率相差不凌驾10%,此集群磁盘空间较小,建议设置为5%,避免数据块倾斜
Yarn调优

如果一个服务器是32核,虚拟后为64核,128G内存,我们该如何设置上面的6个参数呢?即如何做到资源最大化利用,生产上我们一样平常要预留15-20%的内存,那么可用内存就是128*0.8=102.4G,去除其他组件的使用,我们设置成90G就可以了。就是说,yarn总可用资源是64核,90G;
设置单个任务可用的最大及最小核数
yarn.sheduler.maximum-allocation-vcores
一样平常就设置成4个,cloudera公司做过性能测试,如果CPU大于等于5之后,CPU的利用率反而不是很好。这个参数可以根据生成服务器决定,比如公司服务器很富裕,那就直接设置成1:1;设置成32,如果不是很富裕,可以直接设置成1:2。我们以1:2来盘算。
yarn.scheduler.minimum-allocation-vcores
如果设置vcoure = 1,那么最大可以跑64/1=64个container,如果设置成如许,最小container是64/4=16个。
设置单个任务可用的最大及最小内存
yarn.scheduler.minmum-allocation-mb
默认是1G,如果设置成2G,那么90/2=45最多可以跑45个container,如果设置成4G,那么最多可以跑24个;vcore有些浪费。
yarn.scheduler.maximum-allocation-mb
Hadoop日志清理

已设置自动清理,如需手动清理,三台机器实行以下下令
  1. rm -rf /opt/service/hadoop-3.2.4/logs/*.log.*
  2. rm -rf /opt/service/hadoop-3.2.4/logs/*.out.*
复制代码
Flink(On Yarn)

--参考地点
https://blog.csdn.net/ASN_forever/article/details/106234893
https://blog.csdn.net/weixin_52134189/article/details/139332965
端口:6123/8081
Flink On Yarn 环境下,单节点放flink即可
修改设置文件·yarn-site.xml·
  1. <property>
  2.   <name>yarn.resourcemanager.am.max-attempts</name>
  3.   <value>4</value>
  4.   <description>
  5.     The maximum number of application master execution attempts.
  6.   </description>
  7. </property>
复制代码
修改设置文件·flink-conf.xml·
  1. # jobmanager和taskmanager、其他client的RPC通信IP地址,TaskManager用于连接到JobManager/ResourceManager 。HA模式不用配置此项,在master文件中配置,由zookeeper选出leader与standby
  2. jobmanager.rpc.address: 0.0.0.0
  3. # jobmanager和taskmanager、其他client的RPC通信端口,TaskManager用于连接到JobManager/ResourceManager 。HA模式不用配置此项,在master文件中配置,由zookeeper选出leader与standby
  4. jobmanager.rpc.port: 6123
  5. # jobmanager JVM heap 内存大小
  6. jobmanager.memory.process.size: 1024m
  7. # taskmanager JVM heap 内存大小
  8. taskmanager.memory.process.size: 2048m
  9. # 每个taskmanager提供的任务slots数量
  10. taskmanager.numberOfTaskSlots: 4
  11. # 并行计算个数
  12. parallelism.default: 4
  13. # 高可用模式
  14. high-availability.type: zookeeper
  15. # # JobManager元数据保留在文件系统storageDir中 指向此状态的指针存储在ZooKeeper中
  16. high-availability.storageDir: hdfs:///dinky/flink/recovery_demo
  17. # # Zookeeper集群
  18. high-availability.zookeeper.quorum: bigdata01:2181,bigdata02:2181,bigdata03:2181
  19. # # 在zookeeper下的根目录
  20. high-availability.zookeeper.path.root: /flink
  21. # 单个flink job重启次数 必须小于等于yarn-site.xml中Application Master配置的尝试次数
  22. yarn.application-attempts: 4
  23. #==============================================================================
  24. # Fault tolerance and checkpointing
  25. #==============================================================================
  26. # jobmanager (MemoryStateBackend), filesystem (FsStateBackend), rocksdb (RocksDBStateBackend)
  27. # 检查点之间的时间间隔为180秒
  28. execution.checkpointing.interval: 180000
  29. # 两次系统检查点间最短间隔180秒
  30. execution.checkpointing.min-pause: 180000
  31. # 使用精确一次(EXACTLY_ONCE)模式进行检查点
  32. execution.checkpointing.mode: EXACTLY_ONCE
  33. # 状态后端使用文件系统(filesystem)
  34. state.backend: filesystem
  35. # 检查点存储目录
  36. state.checkpoints.dir: hdfs:///dinky/flink/checkpoint
  37. # Savepoint(保存点)
  38. state.savepoints.dir: hdfs:///dinky/flink/savepoint
  39. # 检查点超时时间为600000毫秒(10分钟)
  40. execution.checkpointing.timeout: 600000
  41. # 允许的最大并发检查点数为1个
  42. execution.checkpointing.max-concurrent-checkpoints: 1
  43. # 保留的最大检查点数为2个
  44. state.checkpoints.num-retained: 2
  45. # 在作业取消时删除外部化的检查点
  46. execution.checkpointing.externalized-checkpoint-retention: DELETE_ON_CANCELLATION
  47. # 是否应该创建增量检查点。对于增量检查点,只存储前一个检查点的差异,而不存储完整的检查点状态。一些状态后端可能不支持增量检查点并忽略此选项。
  48. state.backend.incremental: false
  49. # jobmanager故障恢复策略,指定作业计算如何从任务失败中恢复 full重新启动所有任务以恢复作业 region重新启动可能受任务失败影响的所有任务,region在目前(flink1.11)只对批处理有效,实时计算任然时full
  50. jobmanager.execution.failover-strategy: region
  51. #OSS相关
  52. # fs.oss.endpoint: https://oss-cn-beijing-internal.aliyuncs.com
  53. # fs.oss.accessKeyId: LTAI5tN3omJRJwcNyzUEo34v
  54. # fs.oss.accessKeySecret: QgRfeoQ8TprkQPA0yknFvGcStTgQ4D
复制代码
Dinky(编写入口)

--参考地点
https://dinky.org.cn/docs/1.0/deploy_guide/normal_deploy
端口:8888
默认账密:admin/dinky123!@#
集群运行时间与本地jar包无关,只需有config文件及hdfs中lib文件即可
Dinky使用教程
增补

单个taskmanager/****jobmanager 并行度****,slot 上限为4,建议低于4或者设置4的倍数; taskmanager/jobmanager内存,上限为4096m,默认为1024m,建议1024m倍数修改或者默认; 并行度设置为slot的N倍,即可均匀增加taskmanager个数;
DolphinScheduler(待定-调度&监控集群)

--参考地点
https://github.com/apache/dolphinscheduler/blob/3.1.5-release/docs/docs/zh/guide/howto/datasource-setting.md
端口:12345
默认账密: admin/dolphinscheduler123
题目记录


  • 存在频繁报错任务,在yarn中不断打印日志,导致运行节点宕机,拟定关闭某些日志的打印;
  • 存在资源滥用环境,即slot与并行度的设置,任务提交上去后及时观察并设置合理资源,然后发布并设置告警
V_2.0


  • 建议资源隔离,任务隔离,用容器举行摆设
    出处:https://www.cnblogs.com/010319MZG    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文毗连,否则保留追究法律责任的权利。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

老婆出轨

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表