hadoop2集群非ha模式下搭建配置文件写法

本文档提供了Hadoop简答分布式安装的具体步骤,包括配置文件的修改、参数设置等关键信息,适用于非HA版本的部署。

 

 

 

1 关于防火墙配置,ssh这里没有在讲述, 这里仅仅是讲述hadoop配置文件写法,启动命令等也没有描述

 

 

2 写法如下:

 

 

hadoop 简答分布式安装:  非ha版:


a) 修改配置文件etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.7 

b) 修改配置文件etc/hadoop/core-site.xml: 

<configuration>
	<property>  
        <name>fs.defaultFS</name>  
        <value>hdfs://hadoop1:9000</value>  
    </property> 
	<property>  
        <name>hadoop.tmp.dir</name>  
        <value>/home/forkylin/hadoop-2.2.0/tmp</value>      
    </property>  
    <property>  
        <name>fs.trash.interval</name>  
        <value>1440</value>  
    </property> 
</configuration>


c) 修改配置文件etc/hadoop/hdfs-site.xml: 

<configuration>  

	<property>  
        <name>dfs.namenode.secondary.http-address</name>  
        <value>hadoop1:9001</value>  
    </property>
	<property>  
        <name>dfs.webhdfs.enabled</name>  
        <value>true</value>  
    </property>
    <property>  
        <name>dfs.replication</name>  
        <value>2</value>  
    </property>  
</configuration>  


e)拷贝模板文件并重命名:  
[root@h2single511-115 hadoop]# cp  mapred-site.xml.template   mapred-site.xml 

f) 修改配置文件etc/hadoop/mapred-site.xml: 
<configuration>  
    <property>  
        <name>mapreduce.framework.name</name>  
        <value>yarn</value>  
    </property>
    <property>  
        <name>mapreduce.jobhistory.address</name>  
        <value>hadoop1:10020</value>  
    </property>	

<property>  
        <name>mapreduce.map.memory.mb</name>  
        <value>5120</value>  
    </property>	
<property>  
        <name>mapreduce.reduce.memory.mb</name>  
        <value>5120</value>  
    </property>	

<property>  
        <name>yarn.app.mapreduce.am.resource.mb</name>  
        <value>2560</value>  
    </property>	




</configuration>  





g)修改配置文件etc/hadoop/yarn-site.xml: 

<configuration>  
    <property>  
        <name>yarn.nodemanager.aux-services</name>  
        <value>mapreduce_shuffle</value>  
    </property>  
	 <property>  
        <name>yarn.resourcemanager.address</name>  
        <value>hadoop1:8032</value>  
    </property>
	 <property>  
        <name>yarn.resourcemanager.resource-tracker.address</name>  
        <value>hadoop1:8031</value>  
    </property>
	<property>  
        <name>yarn.resourcemanager.admin.address</name>  
        <value>hadoop1:8033</value>  
    </property>
	<property>  
        <name>yarn.resourcemanager.webapp.address</name>  
        <value>hadoop1:8088</value>  
    </property>
<property>  
        <name>yarn.schedular.minimum.allocation-mb</name>  
        <value>1024</value>  
    </property>

<property>  
        <name>yarn.schedular.maximum.allocation-mb</name>  
        <value>10240</value>  
    </property>



</configuration>   


h)修改配置文件etc/hadoop/slaves: 
hadoop4
hadoop5


然后将修好好的hadoop解压文件拷贝到hadoop4  hadoop5机器中,

 

<think>我们正在讨论的是Hadoop集群中Flink 2.1.0安装后的配置方法。注意,用户提到的Flink版本是2.1.0,但引用中有些是1.14.5和1.17.0,我们需要以用户指定的2.1.0为准(尽管Flink的官方版本中可能没有2.1.0,可能是用户笔误,因为Flink版本通常是1.x.x,比如1.2.0?或者用户可能是指Flink 1.2.0?但用户明确写了2.1.0,我们按照用户写的来,但配置方法大同小异)。 不过,根据引用[2]中提到的Flink1.17.0,以及引用[1]中的配置步骤,我们可以总结出在Hadoop集群配置Flink的通用步骤。另外,引用[3]和[4]提供了Hadoop集群配置和启动信息。 由于Hadoop集群已经搭建完成(如引用[4]所示),我们只需要关注Flink的配置。 Flink在Hadoop集群上可以运行的模式有: 1. Standalone模式(独立集群2. YARN模式(集成到YARN资源管理) 用户没有指定模式,但引用[1]中使用了Standalone模式,引用[2]中提到了YARN模式(通过设置HADOOP_CLASSPATH解耦版本)。因此,我们将分别介绍两种模式配置。 注意:用户要求的是Flink 2.1.0,但实际Flink版本中没有2.1.0,可能是用户笔误。目前Flink主流版本是1.x系列。考虑到兼容性,我们按照通用配置方法进行说明,并特别指出版本差异。 ### 步骤1:下载和解压Flink 从Flink官网下载与Hadoop版本对应的Flink。例如,如果Hadoop版本是2.7.x,则下载带有`hadoop27`后缀的Flink二进制包。 ```bash wget https://archive.apache.org/dist/flink/flink-2.1.0/flink-2.1.0-bin-hadoop27-scala_2.11.tgz tar -xzf flink-2.1.0-bin-hadoop27-scala_2.11.tgz cd flink-2.1.0 ``` ### 步骤2配置环境变量(可选) 在`~/.bashrc`或`/etc/profile`中设置: ```bash export FLINK_HOME=/path/to/flink-2.1.0 export PATH=$PATH:$FLINK_HOME/bin ``` ### 步骤3:配置Flink(关键) #### 3.1 配置Hadoop依赖 Flink需要Hadoop的类库来访问HDFS和YARN。有两种方式: - **方式1(推荐)**:设置`HADOOP_CLASSPATH`环境变量(如引用[2]所述) ```bash export HADOOP_CLASSPATH=`hadoop classpath` ``` 将此行写入`${FLINK_HOME}/conf/flink-conf.yaml`的`env.java.opts`中,或者写入启动脚本中(如`start-cluster.sh`前执行)。 - **方式2**:将Hadoop配置文件(core-site.xml, hdfs-site.xml, yarn-site.xml等)复制到`${FLINK_HOME}/conf/`目录下。 #### 3.2 配置flink-conf.yaml 根据运行模式配置,以下是两种模式配置: ##### 模式一:Standalone模式(独立集群) 引用[1]提供了Standalone模式配置: 1. 修改`masters`文件(指定JobManager的主机名和端口): ```bash echo "hp5:8081" > ${FLINK_HOME}/conf/masters ``` 2. 修改`workers`文件(指定TaskManager的主机名): ```bash echo -e "hp5\nhp6\nhp7" > ${FLINK_HOME}/conf/workers ``` 3. 修改`flink-conf.yaml`: ```yaml # JobManager的RPC地址(必须与masters文件中的主机名一致) jobmanager.rpc.address: hp5 # 内存配置(根据实际调整) jobmanager.memory.process.size: 1024m taskmanager.memory.process.size: 1024m taskmanager.numberOfTaskSlots: 2 # 其他配置,如检查点、状态后端等 ``` 注意:确保所有节点上的`flink-conf.yaml`配置一致。 4. 将Flink目录分发到其他节点(引用[1]): ```bash scp -r ${FLINK_HOME} root@hp6:/home/ scp -r ${FLINK_HOME} root@hp7:/home/ ``` 5. 启动集群: ```bash ${FLINK_HOME}/bin/start-cluster.sh ``` ##### 模式二:YARN模式(集成到YARN) 在YARN模式下,Flink作业作为YARN应用运行,无需提前启动Flink集群。 1. 确保YARN集群已启动(引用[4])。 2. 修改`flink-conf.yaml`(可选,因为部分参数可通过命令行传递): ```yaml # 设置Hadoop配置目录(如果方式1未设置HADOOP_CLASSPATH,则必须配置此项) fs.hdfs.hadoopconf: /path/to/hadoop/etc/hadoop # 其他配置(如状态后端等) ``` 3. 运行Flink作业到YARN集群: ```bash # 启动一个Flink会话(长期运行) ${FLINK_HOME}/bin/yarn-session.sh -n 2 -jm 1024 -tm 1024 -d # 或直接运行作业(每次运行启动一个集群) ${FLINK_HOME}/bin/flink run -m yarn-cluster -yn 2 -yjm 1024 -ytm 1024 ${FLINK_HOME}/examples/batch/WordCount.jar ``` ### 步骤4:验证安装 - Standalone模式:访问`http://hp5:8081`(根据配置的JobManager地址和端口)。 - YARN模式:通过YARN的ResourceManager Web UI(如`http://hp5:8088`)查看Flink应用。 ### 常见问题解决 1. **类冲突**:如果遇到Hadoop类冲突,确保使用与Hadoop版本匹配的Flink包。 2. **HDFS访问失败**:检查`flink-conf.yaml`中的HDFS配置,并确保网络连通。 3. **YARN模式无法启动**:检查`HADOOP_CLASSPATH`是否设置正确,或尝试将Hadoop配置文件复制到Flink的`conf`目录。 ### 注意事项 - Flink 2.1.0版本可能不存在,请确认版本是否正确。如果实际使用的是Flink 1.2.0,则下载对应的版本。 - 不同版本的Flink配置项可能有差异,请参考对应版本的官方文档[^2]。 §§相关问题§§ 1. 如何为Flink Standalone集群配置高可用(HA)? 2. Flink on YARN模式下如何管理资源队列? 3. Flink访问Kerberos认证的HDFS集群需要哪些额外配置? </think>### Hadoop集群中Flink 2.1.0配置方法详解 #### 一、基础环境配置 1. **Hadoop环境集成** 设置HADOOP_CLASSPATH解决版本兼容问题(关键步骤): ```bash export HADOOP_CLASSPATH=$(hadoop classpath) ``` 将此命令写入`~/.bashrc`实现永久生效[^2],确保Flink能正确调用HDFS和YARN接口。 2. **Flink目录分发** 将配置好的Flink目录同步到所有集群节点: ```bash scp -r /home/flink-2.1.0 root@hp6:/home/ scp -r /home/flink-2.1.0 root@hp7:/home/ ``` 确保所有节点路径一致[^1]。 #### 二、核心配置文件修改 1. **`flink-conf.yaml`配置** ```yaml # JobManager配置 jobmanager.rpc.address: hp5 # 主节点主机名 jobmanager.memory.process.size: 2048m # 内存分配 # TaskManager配置 taskmanager.memory.process.size: 4096m taskmanager.numberOfTaskSlots: 4 # 并行槽位数 parallelism.default: 4 # HDFS集成 fs.hdfs.hadoopconf: /etc/hadoop/conf # Hadoop配置目录 state.checkpoints.dir: hdfs://hp5:8020/flink/checkpoints ``` **关键点**: - `fs.hdfs.hadoopconf`指向Hadoop的`core-site.xml`和`hdfs-site.xml`所在目录 - HDFS路径格式为`hdfs://<namenode_host>:<port>/path`[^1] 2. **集群节点配置** - `masters`文件指定JobManager: ```bash echo "hp5:8081" > $FLINK_HOME/conf/masters ``` - `workers`文件指定TaskManager节点: ```bash echo -e "hp5\nhp6\nhp7" > $FLINK_HOME/conf/workers ``` #### 三、Hadoop集群集成配置 1. **HDFS路径验证** 确保`core-site.xml`中配置的namenode地址与Flink配置一致: ```xml <!-- core-site.xml --> <property> <name>fs.defaultFS</name> <value>hdfs://hp5:8020</value> </property> ``` 使用`hdfs dfs -ls /`验证连通性[^1][^4]。 2. **YARN资源管理** 若需使用Flink on YARN: ```bash # 启动YARN会话 ./bin/yarn-session.sh -n 2 -jm 1024m -tm 2048m ``` 资源参数对应关系: | Flink参数 | YARN等效参数 | 说明 | |---------|------------|------| | `-n` | `--container` | TaskManager容器数 | | `-jm` | `--jobManagerMemory` | JobManager内存 | | `-tm` | `--taskManagerMemory` | 单TaskManager内存 | #### 四、启动验证 1. **集群启动** ```bash # Standalone模式 ./bin/start-cluster.sh # 验证状态 jps | grep -E 'TaskManager|JobManager' ``` 2. **Web UI访问** 访问 `http://hp5:8081` 需显示: - 3个TaskManager节点(hp5/hp6/hp7) - 总Slot数 = 3节点 × 4 slots = 12 - HDFS检查点目录可正常读写 #### 五、常见问题排查 1. **HDFS连接失败**: ```bash # 测试HDFS连通性 hdfs dfs -ls hdfs://hp5:8020/flink ``` - 确保防火墙开放8020/8088端口 - 检查`core-site.xml`权限:`chmod 644 /etc/hadoop/conf/*.xml` 2. **内存分配错误**: ```yaml # 正确单位写法 taskmanager.memory.process.size: 4096m # 不是4096 ``` 3. **版本兼容问题**: - Flink 2.1.0需Hadoop 2.7+[^2] - 使用`hadoop version`确认版本 > **重要提示**:生产环境建议配置ZooKeeper实现JobManager高可用(HA),添加配置项: > ```yaml > high-availability: zookeeper > high-availability.zookeeper.quorum: hp5:2181,hp6:2181,hp7:2181 > ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值