
cd /opt/linuxsir
tar -zxvf hadoop-2.7.3.tar.gz
ls
mv hadoop-2.7.3 /opt/linuxsir/hadoop
在192.168.31.131虚拟机上编辑/root/.bashrc文件,然后复制到192.168.31.132、192.168.31.133
echo "" >> /root/.bashrc
echo "export HADOOP_PREFIX=/opt/linuxsir/hadoop" >> /root/.bashrc
echo "export HADOOP_HOME=$HADOOP_PREFIX" >> /root/.bashrc
echo "export HADOOP_COMMON_HOME=$HADOOP_PREFIX" >> /root/.bashrc
echo "export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop" >> /root/.bashrc
echo "export HADOOP_HDFS_HOME=$HADOOP_PREFIX" >> /root/.bashrc
echo "export HADOOP_MAPRED_HOME=$HADOOP_PREFIX" >> /root/.bashrc
echo "export HADOOP_YARN_HOME=$HADOOP_PREFIX" >> /root/.bashrc
echo "export PATH=$PATH:$HADOOP_PREFIX/sbin:$HADOOP_PREFIX/bin" >> /root/.bashrc
echo "export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"" >> /root/.bashrc
echo "export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native" >> /root/.bashrc
echo "export CLASSPATH=$CLASSPATH:/opt/linuxsir/hadoop/lib/*" >> /root/.bashrc
cat /root/.bashrc
\在192.168.31.131上,复制/root/.bashrc到132和133
scp -r /root/.bashrc root@192.168.31.132:/root/.bashrc
scp -r /root/.bashrc root@192.168.31.133:/root/.bashrc
\在192.168.31.131上,在131/132/133三台机器上运行/root/.bashrc,刷新环境
cd
source /root/.bashrc
ssh root@192.168.31.132 source /root/.bashrc
ssh root@192.168.31.133 source /root/.bashrc
cd /opt/linuxsir/hadoop \进入/opt/linuxsir/hadoop目录
rm -rf /opt/linuxsir/hadoop/tmp
rm -rf /opt/linuxsir/hadoop/hdfs
mkdir /opt/linuxsir/hadoop/tmp \创建tmp目录
mkdir -p /opt/linuxsir/hadoop/hdfs/data /opt/linuxsir/hadoop/hdfs/name \创建hdfs的data、name子目录
\还要针对hd-slave1,hd-slave2等两个节点上执行上述命令,然后再初始化hdfs
ssh root@192.168.31.132 rm -rf /opt/linuxsir/hadoop/tmp
ssh root@192.168.31.132 rm -rf /opt/linuxsir/hadoop/hdfs
ssh root@192.168.31.132 mkdir /opt/linuxsir/hadoop/tmp
ssh root@192.168.31.132 mkdir -p /opt/linuxsir/hadoop/hdfs/data /opt/linuxsir/hadoop/hdfs/name
ssh root@192.168.31.133 rm -rf /opt/linuxsir/hadoop/tmp
ssh root@192.168.31.133 rm -rf /opt/linuxsir/hadoop/hdfs
ssh root@192.168.31.133 mkdir /opt/linuxsir/hadoop/tmp
ssh root@192.168.31.133 mkdir -p /opt/linuxsir/hadoop/hdfs/data /opt/linuxsir/hadoop/hdfs/name
对若干配置文件进行设置,保证Hadoop能够正常启动。
(1) 主要的配置文件包括HADOOP_HOME目录下的
(2) 并且为如下文件配置环境变量
(3)master和slave
编辑/opt/linuxsir/hadoop/etc/hadoop目录下的core-site.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:///opt/linuxsir/hadoop/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hd-master:9000</value><!-- NameNode URI -->
</property>
<property>
<name>io.file.buffer.size</name>
<value>131702</value>
</property>
</configuration>
编辑/opt/linuxsir/hadoop/etc/hadoop目录下的hdfs-site.xml文件,内容如下
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///opt/linuxsir/hadoop/hdfs/name</value> <!-- 本机name目录for NameNode -->
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///opt/linuxsir/hadoop/hdfs/data</value> <!-- 本机data目录for DataNode -->
</property>
<property>
<name>dfs.replication</name> <!-- 数据块副本数量 -->
<value>2</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hd-master:9001</value>
</property>
</configuration>
在/opt/linuxsir/hadoop/etc/hadoop目录下,复制mapred-site.xml.template到mapred-site.xml,并且进行编辑
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value> <!--yarn or yarn-tez-->
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hd-master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hd-master:19888</value>
</property>
<property>
<name>mapreduce.map.memory.mb</name> <!-- memory for map task -->
<value>64</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name> <!-- memory for reduce task -->
<value>128</value>
</property>
<property>
<name>mapreduce.task.io.sort.mb</name>
<value>32</value>
</property>
<property>
<name>mapreduce.map.java.opts</name> <!-- settings for JVM map task -->
<value>-Xms128m -Xmx256m</value>
</property>
<property>
<name>mapreduce.reduce.java.opts</name> <!-- settings for JVM reduce task -->
<value>-Xms128m -Xmx256m</value>
</property>
</configuration>
在/opt/linuxsir/hadoop/etc/hadoop编辑yarn-site.xml
文件,对YARN资源管理器的ResourceManager和NodeManagers节点、端口、内存分配等进行配置
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hd-master</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>hd-master:9032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hd-master:9030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hd-master:9031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hd-master:9033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hd-master:9099</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>1024</value>
</property>
<property>
<name>yarn.app.mapreduce.am.resource.mb</name>
<value>1024</value>
</property>
<property>
<name>yarn.app.mapreduce.am.command-opts</name>
<value>-Xms128m -Xmx256m</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>8</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>1</value>
</property>
<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>
</configuration>
进入hadoop-env.sh脚本文件所在目录/opt/linuxsir/hadoop/etc/Hadoop
export JAVA_HOME=/opt/linuxsir/java/jdk
接着,设置/opt/linuxsir/hadoop/etc/hadoop目录下yarn-env.sh脚本文件的JAVA_HOME变量,内容如下
export JAVA_HOME=/opt/linuxsir/java/jdk
如果NodeManager因为内存不足,而启动不起来,那么yarn-env.sh文件需要做如下修改,即JAVA_HEAP_MAX改为3G
JAVA_HEAP_MAX=-Xmx3072m
修改/opt/linuxsir/hadoop/etc/hadoop/masters文件和/opt/linuxsir/hadoop/etc/hadoop/slaves文件,目的是指定主节点和从节点列表。
/opt/linuxsir/hadoop/etc/hadoop/masters文件的内容如下,即主节点为hd-master
hd-master
/opt/linuxsir/hadoop/etc/hadoop/slaves文件的内容如下,即从节点为hd-slave1和hd-slave2
hd-slave1
hd-slave2
从192.168.31.131虚拟机复制Hadoop到其它各个节点,包括192.168.31.132、192.168.31.133。 在192.168.31.131上运行如下命令
chmod a+rwx -R /opt/linuxsir \设置/opt/linuxsir的存取权限
ssh root@192.168.31.132 chmod a+rwx -R /opt/linuxsir
ssh root@192.168.31.133 chmod a+rwx -R /opt/linuxsir
scp -r /root/.bashrc root@192.168.31.132:/root/.bashrc \复制/root/.bashrc
scp -r /root/.bashrc root@192.168.31.133:/root/.bashrc
scp -r /opt/linuxsir/hadoop hd-slave1:/opt/linuxsir \复制/opt/linuxsir/hadoop
scp -r /opt/linuxsir/hadoop hd-slave2:/opt/linuxsir
source ~/.bashrc \刷新环境变量
ssh root@192.168.31.132 source ~/.bashrc
ssh root@192.168.31.133 source ~/.bashrc
这里分享一个你一定用得到的小程序——CDA数据分析师考试小程序。
它是专为CDA数据分析认证考试报考打造的一款小程序。可以帮你快速报名考试、查成绩、查证书、查积分,通过该小程序,考生可以享受更便捷的服务。
扫码加入CDA小程序,与圈内考生一同学习、交流、进步!
《CDA一级教材》适合CDA一级考生备考,也适合业务及数据分析岗位的从业者提升自我。完整电子版已上线CDA网校,累计已有10万+在读~
免费加入阅读:https://edu.cda.cn/goods/show/3151?targetId=5147&preview=0
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
DSGE 模型中的 Et:理性预期算子的内涵、作用与应用解析 动态随机一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明确:TIF 中的地名有哪两种存在形式? 在开始提取前,需先判断 TIF 文件的类型 —— ...
2025-09-17CDA 数据分析师:解锁表结构数据特征价值的专业核心 表结构数据(以 “行 - 列” 规范存储的结构化数据,如数据库表、Excel 表、 ...
2025-09-17Excel 导入数据含缺失值?详解 dropna 函数的功能与实战应用 在用 Python(如 pandas 库)处理 Excel 数据时,“缺失值” 是高频 ...
2025-09-16深入解析卡方检验与 t 检验:差异、适用场景与实践应用 在数据分析与统计学领域,假设检验是验证研究假设、判断数据差异是否 “ ...
2025-09-16CDA 数据分析师:掌控表格结构数据全功能周期的专业操盘手 表格结构数据(以 “行 - 列” 存储的结构化数据,如 Excel 表、数据 ...
2025-09-16MySQL 执行计划中 rows 数量的准确性解析:原理、影响因素与优化 在 MySQL SQL 调优中,EXPLAIN执行计划是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 对象的 text 与 content:区别、场景与实践指南 在 Python 进行 HTTP 网络请求开发时(如使用requests ...
2025-09-15CDA 数据分析师:激活表格结构数据价值的核心操盘手 表格结构数据(如 Excel 表格、数据库表)是企业最基础、最核心的数据形态 ...
2025-09-15Python HTTP 请求工具对比:urllib.request 与 requests 的核心差异与选择指南 在 Python 处理 HTTP 请求(如接口调用、数据爬取 ...
2025-09-12解决 pd.read_csv 读取长浮点数据的科学计数法问题 为帮助 Python 数据从业者解决pd.read_csv读取长浮点数据时的科学计数法问题 ...
2025-09-12CDA 数据分析师:业务数据分析步骤的落地者与价值优化者 业务数据分析是企业解决日常运营问题、提升执行效率的核心手段,其价值 ...
2025-09-12用 SQL 验证业务逻辑:从规则拆解到数据把关的实战指南 在业务系统落地过程中,“业务逻辑” 是连接 “需求设计” 与 “用户体验 ...
2025-09-11塔吉特百货孕妇营销案例:数据驱动下的精准零售革命与启示 在零售行业 “流量红利见顶” 的当下,精准营销成为企业突围的核心方 ...
2025-09-11CDA 数据分析师与战略 / 业务数据分析:概念辨析与协同价值 在数据驱动决策的体系中,“战略数据分析”“业务数据分析” 是企业 ...
2025-09-11Excel 数据聚类分析:从操作实践到业务价值挖掘 在数据分析场景中,聚类分析作为 “无监督分组” 的核心工具,能从杂乱数据中挖 ...
2025-09-10统计模型的核心目的:从数据解读到决策支撑的价值导向 统计模型作为数据分析的核心工具,并非简单的 “公式堆砌”,而是围绕特定 ...
2025-09-10CDA 数据分析师:商业数据分析实践的落地者与价值创造者 商业数据分析的价值,最终要在 “实践” 中体现 —— 脱离业务场景的分 ...
2025-09-10机器学习解决实际问题的核心关键:从业务到落地的全流程解析 在人工智能技术落地的浪潮中,机器学习作为核心工具,已广泛应用于 ...
2025-09-09SPSS 编码状态区域中 Unicode 的功能与价值解析 在 SPSS(Statistical Product and Service Solutions,统计产品与服务解决方案 ...
2025-09-09