大家好,今天给大家配置下hadoop集群模式,完全分布式,
配置需求 3台节点
前提:有3台干净的机器,并且安装好jdk,SSH免密登陆要配置好
话不多说,直接开干
1、安装之前首先确保你已经安装了JDK,配置好了SSH免密登陆
如果SSH没有配好的话,https://mp.youkuaiyun.com/postedit/82669131可以参考参考
2、上传解压hadoop,
修改hadoop安装目录下的 /etc/hadoop hadoop-env.sh yarn-env.sh mapred-env.sh 这3个配置文件加上java的环境变量
3、修改core-site.xml文件
<configuration>
<!-- 配置临时数据存放的存储目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/bigdata/hadoop250/data/tmp</value>
</property>
<!-- 配置操作hdfs的缓存大小-->
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
<!-- 指定HDFS 中 NameNode 的地址-->
<property>
<name>fs.default.name</name>
<value>hdfs://es1:9000</value>
</property>
</configuration>
4、修改yarn-site.xml
<configuration>
<!--指定rm所启动的服务器主机名 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>es2</value>
</property>
<!--指定rm的shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--指定rm的内部通信地址 -->
<property>
<name>yarn.resourcemanager.address</name>
<value>es2:8032</value>
</property>
<!--指定rm的scheduler的内部通信地址 -->
<property>
<description>The address of the scheduler interface.</description>
<name>yarn.resourcemanager.scheduler.address</name>
<value>es2:8030</value>
</property>
<!--指定rm的scheduler-tracjer的内部通信地址 -->
<property>
<description>The address of the resource tracker interface.</description>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>es2:8031</value>
</property>
<!--指定rm的admin的内部通信地址 -->
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>es2:8033</value>
</property>
<!--指定rm的web ui监控地址 -->
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>es2:8088</value>
</property>
<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置 7 天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
</configuration>
5、配置mapred-site.xml
<configuration>
<!-- 指定mepreduce运行框架-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</property>
<property>
<!--历史服务的通信地址-->
<name>mapreduce.jobhistory.address</name>
<value>es2:10020</value>
</property>
<!--历史服务的web ui 地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>es2:19888</value>
</property>
</configuration>
6、配置hdfs-site.xml
<configuration>
<!--副本数 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!--块大小 -->
<property>
<name>dfs.blocksize</name>
<value>134217728</value>
</property>
<!--hdfs的namenode的web ui地址-->
<property>
<name>dfs.http.address</name>
<value>es1:50070</value>
</property>
<!--hdfs的snn的web ui地址-->
<property>
<name>dfs.secondary.http.address</name>
<value>es1:50090</value>
</property>
<!--是否开启web启动的操作hdfs-->
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<!--是否开启web的权限(acl)-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
7、开始拷贝hadoo文件夹,将其拷贝到其他机器
scp -r /usr/local/hadoop hadoop02:/usr/local
8、格式化namenode 在配置了namenode的那一台机器执行如下命令
hadoop namenode -format
9、启动(命令大全)
全启动 start-all.sh =start-dfs.sh = start.yarn.sh
模块启动
start-dfs.sh 进入到hadoop目录 ./sbin/start-xxx.sh
start-yarn.sh 进入到hadoop目录 ./sbin/start-xxx.sh
单个进程启动
hadoop-daemon.sh start/stop namenode
hadoop-daemons.sh start/stop datanode
yarn-daemon.sh start/stop resourcemanager
yarn-daemons.sh start/stop nodemanager
结束了 启动打开浏览器访问正常hdfs://es1:9000