具体操作在上篇笔记中找 里面有
具体操作上篇笔记中详细记录
我是创建文件放在opt/soft文件夹下面,直接打开该文件夹,进行下载
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz
①解压
tar -zxvf hadoop-2.7.6.tar.gz
在etc/hadoop/hadoop-env.sh
中配置JDK
的信息 先查看本机的jdk目录地址在哪里
vi etc/hadoop/hadoop-env.sh
将
export JAVA_HOME=${JAVA_HOME}
改为
export JAVA_HOME=/opt/soft/jdk1.8.0_172
为了方便我们以后开机之后可以立刻使用到Hadoop的bin目录下的相关命令,
把hadoop
文件夹下的bin
和sbin
目录配置到/etc/profile
文件中
export PATH=$PATH:/opt/soft/hadoop-2.7.6/bin:/opt/soft/hadoop-2.7.6/sbin
修改主机名 之前笔记中有
mkdir tmp hdfs hdfs/data hdfs/name
在此先修改SparkMaster的配置文件,然后修改完毕后通过
rsync
命令复制到其他节点电脑上。
vi etc/hadoop/core-site.xml
具体修改如下:
<configuration>
<property>
<name>fs.defaultFSname>
<value>hdfs://spark:9000value>
property>
<property>
<name>hadoop.tmp.dirname>
<value>file:/usr/local/hadoop-2.7.2/tmpvalue>
property>
<property>
<name>io.file.buffer.sizename>
<value>131072value>
property>
configuration>
变量fs.defaultFS保存了NameNode的位置,HDFS和MapReduce组件都需要它。这就是它出现在core-site.xml文件中而不是hdfs-site.xml文件中的原因。
具体修改如下
首先我们需要的是将marpred-site.xml复制一份:
cp mapred-site.xml.template marpred-site.xml marpred-site.xml.template
此处修改的是
marpred-site.xml
,不是marpred-site.xml.template
。
<configuration>
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
<property>
<name>mapreduce.jobhistory.addressname>
<value>spark:10020value>
property>
<property>
<name>mapreduce.jobhistory.webapp.addressname>
<value>spark:19888value>
property>
configuration>
具体修改如下(我们需要把 replication的value改为1 )
vim hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dirname>
<value>file:/opt/soft/hadoop-2.7.6/hdfs/namevalue>
property>
<property>
<name>dfs.datanode.data.dirname>
<value>file:/opt/soft/hadoop-2.7.6/hdfs/datavalue>
property>
<property>
<name>dfs.replicationname>
<value>1value>
property>
<property>
<name>dfs.namenode.secondary.http-addressname>
<value>spark:9001value>
property>
<property>
<name>dfs.webhdfs.enabledname>
<value>truevalue>
property>
configuration>
PS:变量dfs.replication指定了每个HDFS数据块的复制次数,即HDFS存储文件的副本个数.我的实验环境只有一台Master和一台Worker(DataNode),所以修改为2。
具体配置如下:
vim yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.classname>
<value>org.apache.hadoop.mapred.ShuffleHandlervalue>
property>
<property>
<name>yarn.resourcemanager.addressname>
<value>spark:8032value>
property>
<property>
<name>yarn.resourcemanager.scheduler.addressname>
<value>spark:8030value>
property>
<property>
<name>yarn.resourcemanager.resource-tracker.addressname>
<value>spark:8031value>
property>
<property>
<name>yarn.resourcemanager.admin.addressname>
<value>spark:8033value>
property>
<property>
<name>yarn.resourcemanager.webapp.addressname>
<value>spark:8088value>
property>
configuration>
将localhost
修改成为SparkWorker1
、SparkWorker2
SparkMaster
节点的`hadoop-2.7.2/etc/下面的文件通过以下方式放去其他节点rsync -av /opt/soft/hadoop-2.7.6/etc/ zhangsf:/opt/soft/hadoop-2.7.6/etc/
完成之后可以查看SparkWorker1
下面的文件是否变了
SparkMaster
节点格式化集群的文件系统输入
hadoop namenode -format
start-all.sh
主节点:
从节点
查看各节点的进程信息
可以看到 在主master
在worker节点的
此时分布式的hadoop集群已经搭好了
还需要的就是在阿里云控制台配置规则中添加规则
验证阶段 在浏览器输入
主节点ip:50070
看到以下界面代表Hadoop集群已经开启了
主节点ip:8088
ok!!!