大数据搭建平台
- 免登录设置
- JDK安装和环境变量配置
- Hadoop安装环境变量配置
- Hadoop集群配置启动HDFS并运行MapReduce程序
- Hadoop配置文件所在目录、切换到目录`/etc/hadoop`
- 修改hadoop-env.sh文件 找到JAVA_HOME参数位置
- 修改vim ==core-site.xml== 该文件是Hadoop的核心配置文件,其目的是==配置HDFS地址==、==端口号==,以及==临时文件目录==。
- 修改vim ==hdfs-site.xml== 文件该文件用于设置`HDFS`的 `NameNode` 和 `DataNode`两大进程。
- 修改 ==mapred-site.xml== 该文件是 `MapReduce` 的核心配置文件,用于指定 `MapReduce` 运行时框架。在hadoop/目录中默认没有该文件,需要先通过 ==cp mapred-site.xml.template mapred-site.xml==
- 修改 ==yarn-site.xml== 文件 `YARN 框架的核心`配置文件,需要指定YARN`集群的管理者`。
- 添加主机名,删除默认的`localhost`
- 将Coentos7集群`主节点`的配置文件拷贝到其他`子节点`
- Hadoop集群测试
- YARN的浏览器页面查看
免登录设置
CentOS7配置静态IP和网关
CentOS7 1主机名
[root@Master2 ~]vim /etc/hostname
CentOS7 2主机名
[root@Slave3 sbin]vim /etc/hostname
CentOS7 3主机名
[root@Slav4 sbin]vim /etc/hostname
添加主机名与IP地址映射
vim /etc/hosts
每台都一样
配置网关
获取网关
ifconfig
[root@Master2 ~]vim /etc/sysconfig/network
NETWORKING=yes 配置是否联网
HOSTNAME=Master2 配置主机名
GATEWAY=172.16.24.254 配置网关
配置IP地址
[root@Master2 ~]vim /etc/sysconfig/network-scripts/ifcfg-enp3s0
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static" #设置为静态IP模式
DEFROUTE="yes"
IPADDR=172.16.24.200 #设置静态IP
NETMASK=255.255.255.0 #设置子网掩码
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp3s0"
UUID="ddc227be-8516-4d71-8890-c550d764ef11"
DEVICE="enp3s0"
ONBOOT="yes" #开机生效
重启网卡
service network restart
生成公钥和私钥
ssh-keygen -t rsa (按三次回车)
将公钥拷贝到要免密登录的目标机器上
ssh-copy-id master2
ssh-copy-id slave3
ssh-copy-id slave4
需要输入每个拷贝的对应的机器密码.
测试是否能免密登陆
ssh slave4
[root@Master2 src] ssh slave4
Last login: Wed Oct 27 19:30:21 2021 from 172.16.24.12
[root@Slav4 ~]
JDK安装和环境变量配置
解压到指定文件夹
tar zxvf
[root@Slave3 h3cu] tar zxvf /h3cu/jdk-8u311-linux-x64.tar.gz -C /usr/local/src/
使用mv重新命名
。
mv /usr/local/src/jdk1.8.0_311 /usr/local/src/jdk
JDK配置全局环境变量 不配置
仅参考
vim /etc/profile
添加内容:
export JAVA_HOME=/usr/local/src/jdk
export PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
JDK配置只对当前root用户生效的环境变量 使用
.bash_profile
[root@Slave3 h3cu] vim /root/.bash_profile
添加以下变量路径
#jdk
export JAVA_HOME=/usr/local/src/jdk
PATH=.:$JAVA_HOME:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH:$HOME/bin
使环境变量立即生效
# source /etc/profile
source /root/.bash_profile
Hadoop安装环境变量配置
解压hadoop包
tar -zxvf /h3cu/hadoop-2.7.7.tar.gz -C /usr/local/src/
创建软链接(操作方便:可以认为是给jdk1.8.0_311目录起了一个别名叫jdk)不使用
参考
ln -s /usr/local/src/hadoop-2.7.7 /usr/local/src/hadoop
Hadoop环境全局变量配置 不使用
参考
vim /etc/profile
#jdk
export JAVA_HOME=/usr/local/src/jdk
export PATH=$JAVA_HOME/bin:$PATH
#hadoop
export HADOOP_HOME=/usr/local/src/hadoop-2.7.7
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
Hadoop用户生效的环境变量 使用
.bash_profile
vim /root/.bash_profile
#jdk
export JAVA_HOME=/usr/local/src/jdk/
#hadoop
export HADOOP_HOME=/usr/local/src/hadoop-2.7.7/
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
PATH=.:$JAVA_HOME:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH:$HOME/bin
使环境变量立即生效
# source /etc/profile
source /root/.bash_profile
启动检查
java
hadoop version
注意:如果配置完后输入Hadoop version没有反应需要重新启动机器,还是没有反应就需要检查自己是否配错环境变量。
重启
reboot
Hadoop集群配置启动HDFS并运行MapReduce程序
Hadoop配置文件所在目录、切换到目录/etc/hadoop
查看我的目录所在pwd
[root@Master2 hadoop]pwd
/usr/local/src/hadoop-2.7.7/etc/hadoop
切换目录
cd /usr/local/src/hadoop-2.7.7/etc/hadoop
修改hadoop-env.sh文件 找到JAVA_HOME参数位置
vim hadoop-env.sh
export JAVA_HOME=//usr/local/src/jdk
修改vim core-site.xml 该文件是Hadoop的核心配置文件,其目的是配置HDFS地址、端口号,以及临时文件目录。
vim core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<!--用于指定地址在master-->
<value>hdfs://master2:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/src/hadoop-2.7.7/Data/tmp</value>
</property>
</configuration>
修改vim hdfs-site.xml 文件该文件用于设置HDFS
的 NameNode
和 DataNode
两大进程。
vim hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
#不配置
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave3:50090</value>
</property>
</configuration>
修改 mapred-site.xml 该文件是 MapReduce
的核心配置文件,用于指定 MapReduce
运行时框架。在hadoop/目录中默认没有该文件,需要先通过 cp mapred-site.xml.template mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<configuration>
<property>
<!--指定MapReduce运行时框架,这里指定在YARN上,默认是local-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
修改 yarn-site.xml 文件 YARN 框架的核心
配置文件,需要指定YARN集群的管理者
。
同时配置了NodeManager运行时的附属服务,需要配置为 mapreduce_shuffle 才能正常运行 MapReduce默认程序。
vim yarn-site.xml
<configuration>
<property>
<!--指定yarn集群的管理者(master2)的地址-->
<name>yarn.resourcemanager.hostname</name>
<!--主机名-->
<value>Master2</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
添加主机名,删除默认的localhost
vim slaves
master2
slave3
slave4
前面的hdfs-site.xml
指定了HDFS服务副本数量为3
将Coentos7集群主节点
的配置文件拷贝到其他子节点
环境变量配置拷贝到另外两台Centos电脑上
系统变量 不使用 参考
scp -r /etc/profile Slave3:/etc/profile
scp -r /etc/profile Slave4:/etc/profile
用户变量使用
scp -r /root/.bash_profile Slave3:/root/.bash_profile
scp -r /root/.bash_profile Slave4:/root/.bash_profile
source /root/.bash_profile
拷贝覆盖Hadoop,JDK文件整个文件传输
scp -r /usr/local/src/ Slave3:/usr/local/
scp -r /usr/local/src/ Slave4:/usr/local/
Hadoop集群测试
格式化Hadoop命令
hdfs namenode -format
启动Hadoop集群(启动前必须保证NameNode和DataNode已经启动)
启动 NameNode
hadoop-daemon.sh start namenode
启动DataNode
hadoop-daemon.sh start datanode
启动ResourceManager
yarn-daemon.sh start resourcemanager
启动NodeManager
yarn-daemon.sh start nodemanager
启动SecondaryNameNode进程
hadoop-daemon.sh start secondarynamenode
关闭防火墙
临时关闭防火墙
systemctl stop firewalld
彻底关闭防火墙
systemctl disable firewalld.service
全部启动
#不想使用一个一个命令
cd /usr/local/src/hadoop/sbin
start-all.sh
启动所有HDFS进程
start-dfs.sh
启动所有YARN进程
start-yarn.sh
全部关闭
/usr/local/src/hadoop-2.7.7/sbin
sbin/stop-all.sh
输入jps查看
有一下三个代表已经成功启动
master2
[root@master2 hadoop]# jps
84784 ResourceManager
86693 Jps
84347 NameNode
84559 DataNode
85182 NodeManager
slave3
[root@slave3 ~]# jps
51617 SecondaryNameNode
52258 Jps
51418 DataNode
51835 NodeManager
slave4
[root@slave4 ~]# jps
50256 Jps
49719 NodeManager
49369 DataNode
YARN的浏览器页面查看
输入(集群服务IP+端口号)和(主机名加端口号)查看HDFS端口
http://172.16.24.100:8088/cluster
master2:50070
master2:8088
实列图
有一下结果Hadoop集群安装已成功