Hadoop 部署
Hadoop部署,一键开启大数据之旅!在几台廉价服务器上,轻松构建高效、可靠、可扩展的分布式计算平台。HDFS存储海量数据,MapReduce加速处理,为数据分析和挖掘提供强大动力。无需深究底层细节,轻松驾驭大数据时代!
·
1 准备工作
- 准备好集群环境
详情参考博客:集群初始配置。 - 安装 Java
- 输入
javac
可查看安装提示信息。 - 使用命令
sudo apt install openjdk-8-jdk-headless
安装JDK - 配置环境变量。使用
sudo vim /etc/profile
打开profile文件,输入以下内容,保存并退出。然后输入命令source /etc/profile
使修改生效。export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
- 输入
2 获取文件
- 去官网https://dlcdn.apache.org/hadoop/下载文件。比如下载
hadoop-3.4.0.tar.gz
。 - 上传至某一个 Linux 设备上。
- 创建目录
/opt/hadoop/
,或根据自己情况选择其他目录。使用以下命令解压:sudo tar -zxvf hadoop-3.4.0.tar.gz -C /opt/hadoop/
3 修改配置
3.1 hadoop-env.sh
修改JAVA_HOME,如:
export JAVA_HOME=/usr/local/lib/java/jdk1.8.0_241
3.2 yarn-env.sh
修改JAVA_HOME,如:
export JAVA_HOME=/usr/local/lib/java/jdk1.8.0_241
3.3 core-site.xml
添加配置如下:
<configuration>
<!-- 配置指定HDFS的通信地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:8020</value>
</property>
<!-- 配置网页登录使用的用户,也可以不配置 -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>cluster</value>
</property>
</configuration>
3.4 hdfs-site.xml
添加配置如下:
<configuration>
<!-- 配置NameNode的http访问地址和端口号 -->
<property>
<name>dfs.namenode.http-address</name>
<value>node1:9870</value>
</property>
<!-- 配置SecondaryNameNode的http访问地址和端口号 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2:9868</value>
</property>
<!----------- 下面的可选择配置 ----------->
<!-- 配置HDFS副本数量 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 配置NameNode存放的路径 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/hadoop-3.4.0/tmp/dfs/name</value>
</property>
<!-- 配置DataNode存放的路径 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/hadoop-3.4.0/tmp/dfs/data</value>
</property>
</configuration>
3.5 mapred-site.xml
添加配置如下:
<configuration>
<!-- 配置MapReduce运行时的框架 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!----------- 下面的可选择配置 ----------->
<!-- 配置MapReduce的历史服务器安装的位置及端口号 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>node3:10020</value>
</property>
<!-- 设置历史服务器的web页面地址和端口 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node3:19888</value>
</property>
<!-- 配置存放日志文件的临时目录 -->
<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>/opt/hadoop/hadoop-3.4.0/tmp/mr-history/tmp</value>
</property>
<!-- 配置存放运行日志文件的最终目录 -->
<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>/opt/hadoop/hadoop-3.4.0/tmp/mr-history/done</value>
</property>
</configuration>
3.6 yarn-site.xml
添加配置如下:
<configuration>
<!-- 配置ResourceManager运行位置 -->
<property>
<name>yarn.resourcemanager.hostsname</name>
<value>node3</value>
</property>
<!-- 配置NodeManager启动时加载server的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!----------- 下面的可选择配置 ----------->
<!-- 配置使用mapreduce_shuffle中的类 -->
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<!-- 配置ResourceManager服务器的web地址和端口 -->
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>node3:8088</value>
</property>
<!-- 配置配置是否启用日志聚集功能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 配置聚集的日志在HDFS上保存的最长时间 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>106800</value>
</property>
<!-- 配置日志聚合目录 -->
<property>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>/opt/hadoop/hadoop-3.4.0/logs</value>
</property>
</configuration>
namenode、secondary namenode 和 ResourceManager 建议放在不一设备上。
3.7 workers
设置为你的设备地址。如
node1
node2
node3
4 分发文件
经过上面的配置已经配置好文件,接下来需要把文件分发给其他设备。为了方便分发,我编写了脚本,以供使用。可参考:https://blog.csdn.net/White_Ink_/article/details/139909769。
5 启动集群
在 Hadoop 根目录运行以下命令。
- 在启动 Hadoop 集群前,需要先格式化 NameNode,在 Master 主机下操作。在下一次格式化之前,需要停止所有的 NameNode和 DateNode,并删除所有机器的 tmp 和 logs 中的文件。
./bin/hdfs namenode -format
- 启动和停止HDFS:
./sbin/start-dfs.sh #启动HDFS ./sbin/stop-dfs.sh #停止HDFS
- 启动和停止YARN:
./sbin/start-yarn.sh #启动YARN ./sbin/stop-yarn.sh #停止YARN
- 全部启动和停止:
./sbin/start-all.sh #启动HDFS和YARN ./sbin/stop-all.sh #停止HDFS和YARN
- 启动和停止历史(日志)服务器:
./sbin/mr-jobhistory-daemon.sh start historyserver #启动historyserver ./sbin/mr-jobhistory-daemon.sh start historyserver #停止historyserver
6 访问
- 访问HDFS:
node1:9870
。 - 访问YARN:
node3:8088
。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献2条内容
所有评论(0)