安装hadoop集群 1、解压缩hadoop tar zxvf hadoop-2.7.7.tar.gz -C /usr/
2、在 nd-00 ~ nd-02 配置环境变量 vim /etc/profile export HADOOP_HOME=/usr/hadoop-2.7.7 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export PATH=$PATH:${JAVA_PATH}:${ZOOKEEPER}/bin:${ZOOKEEPER}/conf:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
source /etc/profile
3、Hadoop配置 以下操作均在Master节点,配置完后,使用scp命令,将配置文件拷贝到两个Slave节点即可。 切换到/usr/hadoop-2.7.7/etc/hadoop/目录下,修改如下文件: 3.1 hadoop-env.sh
cd /usr/hadoop-2.7.7/etc/hadoop/ vim hadoop-env.sh 在文件最后,新增如下配置 export JAVA_HOME=/usr/java/jdk1.8.0_201 export HADOOP_PREFIX=/usr/hadoop-2.7.7 3.2 yarn-env.sh 在文件最后,新增如下配置 export JAVA_HOME=/usr/java/jdk1.8.0_201 3.3 core-site.xml 创建tmp目录:#mkdir -p /usr/hadoop-2.7.7/tmp
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://nd-00:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/mnt/hadoop/tmp</value> </property> </configuration>3.4 hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/mnt/hadoop/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/mnt/hadoop/dfs/data</value> </property> </configuration>3.5 mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>nd-00:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>nd-00:19888</value> </property> </configuration>3.6 yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>nd-00:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>nd-00:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>nd-00:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>nd-00:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>nd-00:8088</value> </property> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>4192</value> <discription>每个节点可用内存,单位MB</discription> </property> <property> <name>yarn.scheduler.minimum-allocation-mb</name> <value>1024</value> <discription>单个任务可申请最少内存,默认1024MB</discription> </property> <property> <name>yarn.scheduler.maximum-allocation-mb</name> <value>4192</value> <discription>单个任务可申请最大内存,默认8192MB</discription> </property> <property> <name>mapreduce.map.memory.mb</name> <value>1024</value> <description>每个Map任务的物理内存限制</description> </property> <property> <name>mapreduce.reduce.memory.mb</name> <value>1024</value> <description>每个Reduce任务的物理内存限制</description> </property> <property> <name>mapred.child.java.opts</name> <value>-Xmx1024m</value> </property> <property> <name>yarn.nodemanager.vmem-pmem-ratio</name> <value>2.5</value> <description>把拟内存和物理内存比例增大</description> </property> </configuration>3.7 slaves nd-00 nd-01 nd-02
3.8 拷贝配置文件到两个Slave节点 在Master节点,执行如下命令: # scp -r /usr/hadoop-2.7.7/etc/hadoop/ root@nd-01:/usr/hadoop-2.7.7/etc/ # scp -r /usr/hadoop-2.7.7/etc/hadoop/ root@nd-02:/usr/hadoop-2.7.7/etc/ 4、Hadoop使用 4.1 格式化NameNode Master节点上,执行如下命令 #hdfs namenode -format 4.2 启动HDFS(NameNode、DataNode) Master节点上,执行如下命令 #start-dfs.sh 使用jps命令,分别在Master以及两个Slave上查看Java进程 可以在Master上看到如下进程: 34225 SecondaryNameNode 33922 NameNode 34028 DataNode 49534 Jps 在两个Slave上,看到如下进程: 34028 DataNode 49534 Jps 4.3 启动 Yarn(ResourceManager 、NodeManager) Master节点上,执行如下命令 #start-yarn.sh 使用jps命令,分别在Master以及两个Slave上查看Java进程 可以在Master上看到如下进程: 34225 SecondaryNameNode 33922 NameNode 34632 NodeManager 34523 ResourceManager 34028 DataNode 49534 Jps 在两个Slave上,看到如下进程: 34632 NodeManager 34028 DataNode 49534 Jps 4.4 通过浏览器查看HDFS信息 浏览器中,输入http://192.168.139.130:50070 4.5 通过浏览器查看Yarn信息 浏览器中,输入http://192.168.139.130:8088 4.6 停止Yarn及HDFS #stop-yarn.sh #stop-dfs.sh 常见错误 virtual memory exhausted: Cannot allocate memory 当安装虚拟机时系统时没有设置swap大小或设置内存太小,编译程序会出现virtual memory exhausted: Cannot allocate memory的问题,可以用swap扩展内存的方法。
一、问题 当安装虚拟机时系统时没有设置swap大小或设置内存太小,编译程序会出现virtual memory exhausted: Cannot allocate memory的问题,可以用swap扩展内存的方法。
二、解决方法 在执行free -m的是时候提示Cannot allocate memory:
(swap文件可以放在自己喜欢的位置如/var/swap)
[root@Byrd byrd]# free -m total used free shared buffers cached Mem: 512 108 403 0 0 28 -/+ buffers/cache: 79 432 Swap: 0 0 0 [root@Byrd ~]# mkdir /opt/images/ [root@Byrd ~]# rm -rf /opt/images/swap [root@Byrd ~]# dd if=/dev/zero of=/opt/images/swap bs=1024 count=2048000 2048000+0 records in 2048000+0 records out 2097152000 bytes (2.1 GB) copied, 82.7509 s, 25.3 MB/s [root@Byrd ~]# mkswap /opt/images/swap mkswap: /opt/images/swap: warning: don't erase bootbits sectors on whole disk. Use -f to force. Setting up swapspace version 1, size = 2047996 KiB no label, UUID=59daeabb-d0c5-46b6-bf52-465e6b05eb0b [root@hz mnt]# swapon /opt/images/swap [root@hz mnt]# free -m total used free shared buffers cached Mem: 488 481 7 0 6 417 -/+ buffers/cache: 57 431 Swap: 999 0 999 内存太小,增加内存可以解决。 使用完毕后可以关掉swap:
[root@hz mnt]# swapoff swap [root@hz mnt]# rm -f /opt/images/swap swap文件也可以不删除,留着以后使用,关键是你的虚拟机硬盘够用。
原文:https://blog.csdn.net/taiyang1987912/article/details/41695895
安装flink集群 1、下载flink wget http://mirror.bit.edu.cn/apache/flink/flink-1.7.2/flink-1.7.2-bin-hadoop27-scala_2.11.tgz 2、解压缩 tar zxvf flink-1.7.2-bin-hadoop27-scala_2.11.tgz -C /usr/local/ 3、配置环境变量 /etc/profile export FLINK_HOME=/usr/local/flink-1.7.2 export PATH=$PATH:${JAVA_PATH}:${ZOOKEEPER}/bin:${ZOOKEEPER}/conf:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${FLINK_HOME}/bin source /etc/profile 4、配置flink cd /usr/local/flink-1.7.2/conf/ 4.1 配置文件说明 这里面需要我们配置的有:slaves和flink-conf.yaml文件,这里面masters文件是用来配置HA的,只要我们不配置HA的话,就不需要配置masters文件(flink也是master/slave结构,但是对于此时master的选择是执行启动脚本的机器为master)。但是slave需要我们配置,配置对应的主机名即可(伪分布式和分布式的区别也就是实际上slave节点的个数,以及分布式在多个节点上而已)。接下来需要我们配置的就是flink-conf.yaml。 4.2 选择master节点修改flink-conf.yaml配置文件,先配置yarn版本 # 设置jobmanager.rpc.address 配置项为该节点的IP 或者主机名 jobmanager.rpc.address: 192.168.139.130 state.backend: filesystem
# Directory for checkpoints filesystem, when using any of the default bundled # state backends. # state.checkpoints.dir: hdfs://namenode-host:9000/flink-checkpoints
4.3 配置slaves [root@hadoop2 flink-1.7.2]# vi conf/slaves 192.168.139.131 192.168.139.132 4.4 启动或者flink集群 bin/start-cluster.sh bin/stop-cluster.sh 4.5 详细可用配置项 以下都是非常重要的配置项: 1、TaskManager总共能使用的内存大小(taskmanager.heap.mb) 2、每一台机器上能使用的 CPU 个数(taskmanager.numberOfTaskSlots) 3、集群中的总 CPU个数(parallelism.default) 4、临时目录(taskmanager.tmp.dirs) 4.6 查看前端web http://192.168.139.130:8081/#/overview 5、Flink on Yarn #!/bin/sh flink run -m yarn-cluster \ -yqu default \ -ynm DataCleanJob \ //任务名称 -yn 2 \ //taskManager的个数 -ys 2 \ //yarnslots -yjm 1024 \ //yarnjobManagerMemory -ytm 1024 \ //yarntaskManagerMemory -c com.eat.DataClean \ /task/storeCategory/DataClean-1.0-SNAPSHOT-jar-with-dependencies.jar
查看yarn资源情况
http://192.168.139.130:8088
6、杀掉一个jobID
yarn application -kill application_1541254233708_0003
