在各个节点的/home/用户名/目录下创建两个文件夹
mkdir software
mkdir servers
修改Ubuntu时区
我选择的是上海的时区 可以修改为BeiJing 根据自己需要进行修改即可
sudo timedatectl set-timezone Asia/Shanghai
在Master上:
上传jdk安装包到software,解压到servers
cd ~/software
tar -zxvf ./jdk-8u201-linux-x64.tar.gz -C ~/servers
mv jdk1.8.0_201 jdk
设置jdk环境变量
vi ~/.bashrc
添加如下代码
export JAVA_HOME=~/servers/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar:.
export PATH=${JAVA_HOME}/bin:$PATH
使得设置生效
source ~/.bashrc
检测是否安装成功
java -version
出现如下版本信息表示jdk安装成功
java version “1.8.0_201”
Java™ SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot™ 64-Bit Server VM (build 25.201-b09, mixed mode)
Hadoop 安装配置
进入Index of /dist/hadoop/common官网下载Hadoop相应版本
上传到software目录
解压到servers
tar -zxvf hadoop-2.7.4.tar.gz -C ~/servers/
重命名文件
mv hadoop-2.7.4/ hadoop
设置环境变量,以后就可以在任意目录下使用Hadoop相关命令
vi ~/.bashrc
添加下面的语句
export HADOOP_HOME=~/servers/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使设置生效
source ~/.bashrc
hadoop version 查看hadoop的版本
在hadoop的目录中,bin目录存放相关的一些服务脚本,但一般用的不多
在etc中存放的配置文件 hadoop要修改的配置文件都在这里
在include中存放的是和C++相关的头文件
在lib中存放的是库文件
在libexec中放的是和shell相关的文件
在sbin中存放的是hadoop的一些管理脚本,用的相对比较多
在share中存放的是jar包
在src中存放的是源码包
Hadoop****中需要配置7个文件
Hadoop-env.sh 配置Hadoop运行所需的环境变量
Yarn-env.sh 配置yarn运行所需的环境变量
Core-site.xml hadoop核心全局配置文件
Hdfs-site.xml hdfs配置文件,继承core-site.xml配置文件
Mapred-site.xml MapReduce配置文件,继承core-site.xml配置文件
Yarn-site.xml yarn配置文件,继承core-site.xml
Slaves 用来配置DataNode节点。
hadoop_env.sh****中
修改
# The java implementation to use.
export JAVA_HOME=/home/spark000/servers/jdk
配置jdk的安装路径
修改core-site.xml
<configuration> 根标签
<property>
<name>fs.defaultFS</name> hadoop集群文件系统的类型
<value>hdfs://master:8020</value> 主节点以及端口
</property>
<property>
<name>hadoop.tmp.dir</name> 临时文件存储目录
<value>/home/spark000/servers/hadoop/tmp</value>
</property>
</configuration>
修改hdfs-site.xml
<property>
<name>dfs.namenode.secondary.http-address</name>
指定secondarynamenode的主机和端口
<value>master:50090</value>
</property>
<property>
<name>dfs.replication</name> 指定存储文件副本的数量
<value>2</value>
</property>
mapred-site.xml
复制cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- jobhistory properties -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
修改yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>设置yarn的主节点
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
修改yarn-env.sh
找到
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
在下面添加
export JAVA_HOME=~/servers/jdk
修改slaves
配置从节点
添加 slave1 slave2
远程分发
scp -r ~/servers/hadoop slave1:~/servers
scp -r ~/servers/hadoop slave2:~/servers
scp /home/hadoop/.bashrc slave1:~/
scp /home/hadoop/.bashrc slave2:~/
分发完毕以后在每个节点都要执行
source ~/.bashrc
格式化文件系统
hdfs namenode -format
然后再启动集群
如果先启动集群再格式化有可能丢失namenode,需要删除tmp文件夹下所有内容,然后重新进行格式化操作
集群安装spark
**(1)**上传安装包到software
cd /home/spark000/software
解压缩spark到servers
tar -zxvf /home/spark000/software/spark-2.4.0-bin-without-hadoop.tgz -C /home/spark000/servers/
进入servers
cd /home/spark000/servers
重命名spark-2.4.0-bin-without-hadoop
mv spark-2.4.0-bin-without-hadoop spark
在Master节点主机的终端中执行如下命令:
vim ~/.bashrc
添加如下配置
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
export SPARK_HOME=/home/spark000/servers/spark
运行source命令,使配置立即生效
source ~/.bashrc
配置slaves文件,将 slaves.template 拷贝到 slaves
$ cd /home/spark000/servers/spark/
$ cp ./conf/slaves.template ./conf/slaves
slaves****文件设置Worker节点。编辑slaves内容,把默认内容localhost替换成如下内容:
slave1
slave2
进入spark
最后
🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!