下面以三台Ubuntu虚拟机搭建集群。
需要互相ssh能够免密通讯
如果不行,可以参考:Unbuntu使用手机热点创建两台电脑的集群(实现ssh免密通信)
下面需要的软件安装包都放在百度网盘,有需要的自取。
链接:https://pan.baidu.com/s/1rcG1xckk3zmp9BLmf74hsg?pwd=1111
提取码:1111
下载jdk8,解压缩:
tar -xxvf jdk1.8.tar.xz
验证文件可用性,java执行: java -version查看结果:进入java所在目录,执行 ./java -version
说明验证成功。
然后需要添加到环境变量里:
首先进入用户名的目录
然后编辑 .bashrc 文件
vim .bashrc
按i进行编辑
然后
按ESC
:wq
保存退出
然后运行
. .bashrc
然后命令行输入
java -version
说明配置成功。
同样先解压文件
tar -zxvf hadoop-3.3.2.tar.gz
然后编辑.bashrc配置环境变量
然后同样需要
. .bashrc
然后输入
hadoop
说明配置成功。
然后还有许多文件需要配置:
进入此目录,开始配置文件
vim hadoop-env.sh
需要在最后加上
export JAVA_HOME=/home/bigdata3/software/jdk1.8
export HADOOP_PID_DIR=/home/bigdata3/software/hadoopData/pids
第一个配置jdk路径
第二个配置日志文件路径
<configuration>
<property>
<name>fs.defaultFSname>
<value>hdfs://master:9000value>
property>
<property>
<name>hadoop.tmp.dirname>
<value>/home/bigdata3/hadoopdata1value>
property>
configuration>
<configuration>
<property>
<name>dfs.replicationname>
<value>1value>
property>
<property>
<name>dfs.namenode.http-addressname>
<value>master:50070value>
property>
<property>
<name>dfs.namenode.secondary.http-addressname>
<value>master:50090value>
property>
configuration>
不过dfs.namenode.secondary设置为master:50090是非常不合理的。
但是为了方便就这样了。
<configuration>
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
<property>
<name>mapreduce.jobhistory.addressname>
<value>master:10020value>
property>
<property>
<name>HADOOP_HOMEname>
<value>/home/bigdata3/software/hadoop-3.2.2value>
property>
<property>
<name>yarn.app.mapreduce.am.envname>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}value>
property>
<property>
<name>mapreduce.map.envname>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}value>
property>
<property>
<name>mapreduce.reduce.envname>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}value>
property>
configuration>
最重要的就是第一个配置
<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>master:8032value>
property>
<property>
<name>yarn.resourcemanager.scheduler.addressname>
<value>master:8030value>
property>
<property>
<name>yarn.resourcemanager.resource-tracker.addressname>
<value>master:8035value>
property>
<property>
<name>yarn.resourcemanager.admin.addressname>
<value>master:8033value>
property>
<property>
<name>yarn.resourcemanager.webapp.addressname>
<value>master:8088value>
property>
configuration>
指定datanode节点,将所有datanode节点域名写入文件,一般是一行一个,所有集群中的节点此文件内容相同。
slave0
slave1
要在namenode上执行命令:
hadoop namenode -format
这样说明初始化成功
start-all.sh
启动成功可以进行jps验证和web页面验证。
不过队友还没搞完,后面还没搞好。下次来补
大数据上课的笔记。