1、下载Hadoop的安装包
2.http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/
3.在node1(虚拟机)上,上传Hadoop安装包到/export/software目录
4、在node1上,将上传的压缩包解压到/export/server目录
cd /export/software
tar -zxvf hadoop-3.3.0-Centos7-64-with-snappy.tar.gz -C /export/server/
5、在node1上进入Hadoop的配置文件目录
cd /export/server/hadoop-3.3.0/etc/hadoop
6、在node1上对Hadoop的文件进行配合
1、 hadoop-env.sh
#在第54行左右修改jdk,一定去掉注释
export JAVA_HOME=/export/server/jdk1.8.0_241
#在文件最后添加
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
2、 core-site.xml
<!-- 指定HDFS的主节点NameNode在ndoe1上 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:8020</value>
</property>
<!-- 指定HDFS数据的存放目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/export/data/hadoop-3.3.0</value>
</property>
<!-- 设置HDFS web UI用户身份 -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
<!-- 整合hive -->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
-
3、hdfs-site.xml
<!-- 指定Secondarynamenode运行位置 --> <property> <name>dfs.namenode.secondary.http-address</name> <value>node2:50090</value> </property> <property> <name>dfs.hosts.exclude</name> <value>/export/server/hadoop-3.3.0/etc/hadoop/excludes</value> </property>
-
4、mapred-site.xml
<!--MapReduce执行时由Yarn来进行资源调度--> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <!--给MapReduce指定Hadoop的安装位置--> <property> <name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property> <property> <name>mapreduce.map.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property> <property> <name>mapreduce.reduce.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property>
-
5、 yarn-site.xml
<!-- 指定YARN的主角色(ResourceManager)的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>node1</value> </property> <!-- NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序默认值:"" --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 是否将对容器实施物理内存限制 --> <property> <name>yarn.nodemanager.pmem-check-enabled</name> <value>false</value> </property> <!-- 是否将对容器实施虚拟内存限制。 --> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property> <!-- 开启日志聚集 --> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!-- 设置yarn历史服务器地址 --> <property> <name>yarn.log.server.url</name> <value>http://node1:19888/jobhistory/logs</value> </property> <!-- 保存的时间7天,单位是秒 --> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property>
- 6、workers 设置DataNode和NodeManager从机地址
-
node1 node2 node3
7、创建一个黑名单文件
-
touch /export/server/hadoop-3.3.0/etc/hadoop/excludes
7、在node1上,将配置好的Hadoop安装包分发给其他虚拟机
-
cd /export/server scp -r hadoop-3.3.0/ node2:$PWD scp -r hadoop-3.3.0/ node3:$PWD
8、在三台机器上,配置环境变量
vim /etc/profile #添加以下内容 export HADOOP_HOME=/export/server/hadoop-3.3.0 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
9、在三台机器上,刷新环境变量
-
source /etc/profile
集群的启动
- 注意,第一次启动Hadoop之前,必须在对HDFS进行格式化,而且这个操作只能执行一次,切记!!!
#如果没有以下目录,则必须创建数据存放目录(!!!!!!!三台都要创建!!!!!!!!!!) mkdir -p /export/data/ #切记一定要在node1格式化,该操作只能执行一次,如果多次操作会失败 hadoop namenode -format #如果你多次操作格式化,则需要删除三台机器的/export/data/hadoop-3.3.0目录,然后在node1重新格式化
一键启动Hadoop所有 start-all.sh #开启 stop-all.sh #停止 在node1启动历史服务 mapred --daemon start historyserver ###################在node1对一键启动脚本进行修改########################## vim /export/server/hadoop-3.3.0/sbin/start-all.sh #在尾部添加以下内容: /export/server/hadoop-3.3.0/bin/mapred --daemon start historyserver vim /export/server/hadoop-3.3.0/sbin/stop-all.sh #在尾部添加以下内容: /export/server/hadoop-3.3.0/bin/mapred --daemon stop historyserver
集群的验证
-
使用jps命令验证三台主机,查看进程是否都已启动
-
访问页面
-
ip地址访问
-
http://192.168.88.100:9870/ #访问HDFS页面
1、需要修改C:\Windows\System32\drivers\etc\hosts文件 2、添加以下内容(如果不能保存,则将文件复制到桌面,修改之后再拖回去覆盖源文件) 192.168.88.100 node1 node1.itcast.cn 192.168.88.101 node2 node2.itcast.cn 192.168.88.102 node3 node3.itcast.cn 3、使用主机名访问 http://node1:9870/
验证Yarn能否工作,执行一个MapReduce任务
-
hadoop jar /export/server/hadoop-3.3.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.0.jar pi 2 1000 #2表示有几个人扔石子 #1000表示扔多少石子
-