主题
非是发神经,非要在win上去验证部署,主要观察一下不同ip连接产生的配置差异有多少问题,坑是踩了不少,但hadoop的问题要少一些,做个记录,免得后续遗漏。
下载
hadoop下载地址,选择所需版本进行下载
在win环境下的特殊处理
默认的下载没有一些.cmd
的批处理启动,需要补充,另外一些dll是没有的,需要补充 但是启动没从这个地方启动
hadoop -version
用的默认路径下的hadoop-3.0.1\sbin
,start-all.cmd
进行启动 通过8088
查看实例情况
配置参数
\etc\hadoop
下的主要配置文件core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml
- core-site.xml
xml
<property>
<name>fs.defaultFS</name>
<!-- <value>hdfs://192.168.145.1:9000</value> -->
<value>hdfs://0.0.0.0:9000</value>
</property>
<property>
<name>hadoop.security.authorization</name>
<value>false</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/F:/hadoop/tmp</value>
</property>
- hdfs-site.xml
xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- 设置名称节点位置 存储名称表(fsimage)的位置-->
<property>
<name>dfs.namenode.name.dir</name>
<value>/F:/hadoop/data/namenode</value>
</property>
<!-- 确定DFS数据节点应在本地文件系统上的哪个位置存储其块 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>/F:/hadoop/data/datanode</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
<property>
<name>dfs.client.use.datanode.hostname</name>
<value>true</value>
</property>
- mapred-site.xml
xml
<!--告诉hadoop以后MR(Map/Reduce)运行在YARN上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
- yarn-site.xml
xml
<!--nomenodeManager获取数据的方式是shuffle-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--指定Yarn的老大(ResourceManager)的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<!-- <value>192.168.43.162</value> -->
<value>0.0.0.0</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<!-- <value>192.168.43.162:8032</value> -->
<value>0.0.0.0:8032</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
<property>
<name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
<value>100.0</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
格式化
hdfs namenode -format
当正常连接出现Cannot create directory /tmp/. Name node is in safe mode
org.apache.hadoop.ipc.RemoteException: Cannot create directory /user/root/.flink/application_1705115673637_0001. Name node is in safe mode.
bash
hdfs dfsadmin -safemode leave
yarn 启动问题
安装时启动yarn时出现error Couldn't find a package.json file
问题, 如果你的机器上装有node的包管理工具yarn,此时启动,就会引起歧义,应当使用\bin\yarn
命令 解决办法 编辑打开sbin/start-yarn.cmd
更改yarn
-> %HADOOP_HOME%\bin\yarn
,去除歧义即可
yarn 配置问题
我的场景主要是主机上启动的hadoop,但是在虚拟机上去访问发现8032端口通过虚拟机IP访问有问题,但是自身的vlan通过IP无问题。 \etc\hadoop\yarn-site.xml
,增加如下配置,替换成你hadoop部署的Ip地址
xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>0.0.0.0</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>0.0.0.0:8032</value>
</property>