大数据学习02——Hadoop集群搭建
文章目录
1. 软件配置
1.1 配置主机名
利用xshell工具,使用命令hostnamectl set-hostname
进行修改主机名,重新连接后生效。使用hostname
查看主机名。
- 对第一台机器:
hostnamectl set-hostname master
- 对第二台机器:
hostnamectl set-hostname slave
1.2 配置host列表
-
对master:输入命令
[root@master ~]# vi /etc/hosts
-
对slave: 输入命令
[root@slave ~]# vi /etc/hosts
将下面两行追加到文件中,保存并退出。
192.168.21.105 master 192.168.21.106 slave
进行验证:
[root@master ~]# ping slave
[root@slave ~]# ping master
1.3 安装jdk
利用xftp工具将jdk和hadoop安装包上传到master和slave机器中,两台机器做相同的操作,以master为例:
- 安装包上传好后,进行查看。
- 执行如下命令进行解压(注意在root目录下进行,可以使用命令
pwd
进行查看)
[root@master ~]# tar -xvf jdk-8u221-linux-x64.tar.gz
[root@master ~]# tar -xvf hadoop-2.6.5.tar.gz
- 配置路径
执行命令[root@master ~]# vi .bash_profile
添加如下两行:
export JAVA_HOME=/root/jdk1.8.0_221 export PATH=$JAVA_HOME/bin:$PATH
执行命令[root@master ~]#source .bash_profile
使之生效;然后进行校验,出现如下界面证明jdk安装并配置成功。
1.4 关闭防火墙
关闭防火墙[root@master ~]# systemctl stop firewalld
(开机后自动还原)
禁止防火墙开机启动[root@master ~]# systemctl disable firewalld
查看防火墙状态[root@master ~]# systemctl status firewalld
,出现如下界面说明设置成功!
防火墙相关的命令
命令 | 说明 |
---|---|
systemctl status firewalld |
查看防火墙 |
systemctl stop firewalld |
关闭防火墙(开机自动还原) |
systemctl disable firewalld |
禁止防火墙开机启动 |
systemctl start firewalld |
启动防火墙 |
systemctl enable firewalld |
允许防火墙开机启动 |
1.5 免秘钥登录
-
在master和slave节点,分别执行命令
[root@master ~]# ssh-keygen -t rsa
,一路默认回车。
-
在master节点
复制公钥到本地:
[root@master .ssh]# cp id_rsa.pub authorized_keys
远程分发公钥到slave:
[root@master .ssh]# scp -p id_rsa.pub root@slave:/root/.ssh/authorized_keys
- 在slave节点
进入到./root/.ssh
路径下修改文件属性:
[root@slave .ssh]# chmod 600 authorized_keys
- 验证
在master节点上,[root@master .ssh]# ssh slave
接着验证[root@master .ssh]# ssh master
此时说明免密钥登录设置成功!
2. Hadoop配置部署
2.1 配置环境变量
进入到/root/hadoop-2.6.5/etc/hadoop
目录下
- 配置
hadoop-env.sh
[root@master hadoop]# vi hadoop-env.sh
找到如下内容,
# The java implementation to use. export JAVA_HOME=${JAVA_HOME}
将其修改为:
# The java implementation to use. export JAVA_HOME=/root/jdk1.8.0_221/
保存退出。
- 配置
yarn-env.sh
[root@master hadoop]# vi yarn-env.sh
找到如下内容
# some Java parameters
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
将其修改为
# some Java parameters export JAVA_HOME=/root/jdk1.8.0_221/
保存退出。
2.2 配置核心组件
- 配置
core-site.xml
执行命令[root@master hadoop]# vi core-site.xml
添加如下内容:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoopdata</value>
</property>
</configuration>
2.3 配置文件系统
- 配置
hdfs-site.xml
执行命令[root@master hadoop]# vi hdfs-site.xml
添加如下内容:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
- 配置
yarn-site.xml
执行命令[root@master hadoop]# vi yarn-site.xml
添加如下内容:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8025</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8141</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
2.4 配置计算框架
配置mapred-site.xml
执行命令[root@master hadoop]# cp mapred-site.xml.template mapred-site.xml
执行命令[root@master hadoop]# vi mapred-site.xml
添加如下内容
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
2.5 配置slaves文件
执行命令[root@master hadoop]# vi slaves
将localhost
替换为slave
2.6 将hadoop-2.6.5复制到slave上
[root@master hadoop]# cd [root@master ~]# scp -r hadoop-2.6.5 root@slave:~/
2.7 配置hadoop启动系统环境变量
[root@master ~]# vi .bash_profile
添加如下内容:
export HADOOP_HOME=/root/hadoop-2.6.5
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
[root@master ~]# source .bash_profile
3. 启动Hadoop集群
3.1 格式化文件系统
在master上[root@master ~]# hdfs namenode -format
3.2 启动hadoop集群
[root@master sbin]# ./start-all.sh
[root@master sbin]# jps
[root@slave ~]# jps
3.3 实例验证
进入到/root/hadoop-2.6.5/share/hadoop/mapreduce
路径下
[root@master mapreduce]# hadoop jar hadoop-mapreduce-examples-2.6.5.jar pi 10 10
3.4 浏览器验证
在浏览器地址栏输入http://master:50070/,出现如下页面,证明集群搭建成功!!!