大数据平台搭建——文档升级中,未完·····
- 安装JAVA环境
- 一、卸载自带OpenJDK
- 二、安装JDK
- 三、设置JAVA环境变量
- 四、安装Hadoop软件
- 五、安装单机版Hadoop系统
- 六、Hadoop平台环境配置
- 七、交换 SSH 密钥
- 八、验证 SSH 无密码登录
- 九、Hadoop文件参数配置
- 十、配置hdfs-site.xml文件参数
- 十一、配置core-site.xml 文件参数
- 十二、配置mapred-site.xml
- 十三、配置yarn-site.xml
- 十四、Hadoop其他相关配置
- 十五、配置 Hadoop 格式化
- 十六、查看 Java 进程
- 十七、查看 HDFS 的报告
- 十八、使用浏览器查看节点状态
- 十九、在 HDFS 文件系统中创建数据输入目录,确保 dfs 和 yarn 都启动成功
安装JAVA环境
一、卸载自带OpenJDK
代码展示:rpm -qa | grep java
1.2卸载相关服务
[root@master ~]# rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch
[root@master ~]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.352.b08-
2.el7_9.x86_64
[root@master ~]# rpm -e --nodeps tzdata-java-2022e-1.el7.noarch
[root@master ~]# rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch
[root@master ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.352.b08-
2.el7_9.x86_64
1.3查看删除结果再次键入命令 java -version 出现以下结果表示删除功
[root@master ~]# java --version
二、安装JDK
1.1将安装包传送到root目录上并解压到/usr/local/src目录下
[root@master ~]# tar -zxvf /opt/software/jdk-8u152-linux-x64.tar.gz -C
/usr/local/src/
1.2查看安装包
[root@master ~]# ls /usr/local/src/
三、设置JAVA环境变量
1.1修改配置文件
[root@master ~]# vi /etc/profile
1.2在文件最后增加如下俩行命令:
export JAVA_HOME=/usr/local/src/jdk1.8.0_152
export PATH=$PATH:$JAVA_HOME/bin
1.3执行命令使配置文件生效
[root@master ~]# source /etc/profile
1.4检查JAVA是否可用
[root@master ~]# echo $JAVA_HOME
1.5显示以下结果表示JDK安装配置成功
[root@master ~]# java -version
四、安装Hadoop软件
1.1将安装包解压
[root@master ~]# tar -zxvf /opt/software/hadoop-2.7.1.tar.gz -C
/usr/local/src/
查看解压后的文件
[root@master ~]# ll /usr/local/src/hadoop-2.7.1/
1.2修改配置文件
[root@master ~]# vi /etc/profile
在文件最后增加如下俩行
export HADOOP_HOME=/usr/local/src/hadoop-2.7.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
执行命令使配置文件生效
[root@master ~]# source /etc/profile
1.3检查文件是否生效
[root@master ~]# hadoop
出现以下界面表示生效
1.4修改目录所有者和所有组
[root@master ~]# chown -R hadoop:hadoop /usr/local/src/
[root@master ~]# ll /usr/local/src/
五、安装单机版Hadoop系统
1.1写Hadoop配置文件
[root@master ~]# cd /usr/local/src/hadoop-2.7.1/
[root@master hadoop-2.7.1]# vi etc/hadoop/hadoop-env.sh
在文件中查找 export JAVA_HOME 这行,将其改为如下所示内容:
export JAVA_HOME=/usr/local/src/jdk1.8.0_152
1.2切换到Hadoop用户运行
[root@master hadoop-2.7.1]# su - hadoop
[hadoop@master ~]$ id
1.3创建输入数据存放目录
[hadoop@master ~]$ mkdir ~/input
[hadoop@master ~]$ ls
1.4创建数据输入文件
创建数据文件 data.txt,将要测试的数据内容输入到 data.txt 文件中
[hadoop@master ~]$ vi input/data.txt
输入如下内容,保存退出
1.5测试 MapReduce 运行
[hadoop@master ~]$ hadoop jar /usr/local/src/hadoop-
2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar
wordcount ~/input/data.txt ~/output
运行结果保存在~/output 目录,命令执行后查看结果
[hadoop@master ~]$ ll output/
六、Hadoop平台环境配置
1.1修改slave主机名字
[root@localhost ~]# hostnamectl set-hostname slave1
[root@localhost ~]# bash
[root@slave1 ~]#
第二台————————————————————————————————
[root@localhost ~]# hostnamectl set-hostname slave2
[root@localhost ~]# bash
[root@slave2 ~]#
1.2修改三台主机的配置文件(命令相同)
[root@master ~]# vi /etc/hosts
1.3每个节点安装和启动 SSH 协议
[root@master ~]# rpm -qa | grep openssh
[root@master ~]# rpm -qa | grep rsync
三台主机切换到hadoop用户下
1.4每个节点生成秘钥对 (三台设备同下)
[hadoop@master ~]$ ssh-keygen -t rsa
查看"/home/hadoop/“下是否有”.ssh"文件夹,且".ssh"文件下是否有两个刚生产的无密码密钥对
[hadoop@master ~]$ ls ~/.ssh/
1.5将 id_rsa.pub 追加到授权 key 文件中 ,修改文件权限
[hadoop@master ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[hadoop@master ~]$ chmod 600 ~/.ssh/authorized_keys
1.6配置 SSH 服务
三台主机都需要修改
[root@master ~]# vi /etc/ssh/sshd_config
PubkeyAuthentication yes #找到此行,并把#号注释删除。
设置完后需要重启 SSH 服务,才能使配置生效
[root@master ~]# systemctl restart sshd
1.7验证 SSH 登录本机
[hadoop@master ~]$ ssh localhost
七、交换 SSH 密钥
1.1将 Master 节点的公钥 id_rsa.pub 复制到每个 Slave 点
[hadoop@master ~]$ scp ~/.ssh/id_rsa.pub hadoop@slave1:~/
[hadoop@master ~]$ scp ~/.ssh/id_rsa.pub hadoop@slave2:~/
1.2在每个 Slave 节点把 Master 节点复制的公钥复制到authorized_keys 文件
[hadoop@slave1 ~]$ cat ~/id_rsa.pub >>~/.ssh/authorized_keys
[hadoop@slave2 ~]$ cat ~/id_rsa.pub >>~/.ssh/authorized_keys
1.3在每个 Slave 节点删除 id_rsa.pub 文件
[hadoop@slave1 ~]$ rm -rf ~/id_rsa.pub
[hadoop@slave2 ~]$ rm -rf ~/id_rsa.pub
1.4将每个 Slave 节点的公钥保存到 Master
[hadoop@slave1 ~]$ scp ~/.ssh/id_rsa.pub hadoop@master:~/
1.5在 Master 节点把从 Slave 节点复制的公钥复制到 authorized_keys 文件(三个节点同下)
[hadoop@master ~]$ cat ~/id_rsa.pub >>~/.ssh/authorized_keys
1.6)在 Master 节点删除 id_rsa.pub 文件
[hadoop@master ~]$ rm -rf ~/id_rsa.pub
八、验证 SSH 无密码登录
1.1查看 三个节点 authorized_keys 文件
[hadoop@master ~]$ cat ~/.ssh/authorized_keys
1.2验证 Master 到每个 Slave 节点无密码登录
[hadoop@master ~]$ ssh slave1
1.3:验证两个 Slave 节点到 Master 节点无密码登录
[hadoop@slave1 ~]$ ssh master
[hadoop@slave2 ~]$ ssh master
1.4配置两个子节点slave1、slave2的JDK环境
[root@master ~]# cd /usr/local/src/
[root@master src]# ls
hadoop-2.7.1 jdk1.8.0_152
[root@master src]# scp -r jdk1.8.0_152 root@slave1:/usr/local/src/
[root@master src]# scp -r jdk1.8.0_152 root@slave2:/usr/local/src/
slave1和slave2同下
[root@slave1 ~]# ls /usr/local/src/
[root@slave1 ~]# vi /etc/profile
此文件最后添加下面两行
export JAVA_HOME=/usr/local/src/jdk1.8.0_152
export PATH=$PATH:$JAVA_HOME/bin
启动配置文件
[root@slave1 ~]# source /etc/profile
[root@slave1 ~]# java -version
九、Hadoop文件参数配置
1.1将 hadoop-2.7.1 文件夹重命名为 Hadoop
[root@master ~]# cd /usr/local/src/
[root@master src]# mv hadoop-2.7.1 hadoop
[root@master src]# ls
hadoop jdk1.8.0_152
1.2配置 Hadoop 环境变量
[root@master src]# yum install -y vim
[root@master src]# vim /etc/profile
[root@master src]# tail -n 4 /etc/profile
export JAVA_HOME=/usr/local/src/jdk1.8.0_152
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/usr/local/src/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
1.3使配置的 Hadoop 的环境变量生效
[root@master src]# su - hadoop
上一次登录:一 2月 28 15:55:37 CST 2022 从 192.168.41.143pts/1 上
[hadoop@master ~]$ source /etc/profile
1.4执行以下命令修改 hadoop-env.sh 配置文件
[root@master src]# cd /usr/local/src/hadoop/etc/hadoop/
[root@master hadoop]# vim hadoop-env.sh #修改以下配置
export JAVA_HOME=/usr/local/src/jdk1.8.0_152
十、配置hdfs-site.xml文件参数
1.1文件参数修改
[root@master hadoop]# vim hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/src/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/src/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
十一、配置core-site.xml 文件参数
[root@master hadoop]# vim core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.47.140:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/src/hadoop/tmp</value>
</property>
</configuration>
十二、配置mapred-site.xml
[root@master hadoop]# pwd
/usr/local/src/hadoop/etc/hadoop
[root@master hadoop]# cp mapred-site.xml.template mapred-site.xml
[root@master hadoop]# vim mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<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
[root@master hadoop]# vim yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
十四、Hadoop其他相关配置
1.1配置 masters 文件
[root@master hadoop]# vim masters
[root@master hadoop]# cat masters
192.168.47.140
1.2 配置 slaves 文件
[root@master hadoop]# vim slaves
[root@master hadoop]# cat slaves
192.168.47.141
192.168.47.142
1.3新建目录
[root@master hadoop]# mkdir /usr/local/src/hadoop/tmp
[root@master hadoop]# mkdir /usr/local/src/hadoop/dfs/name -p
[root@master hadoop]# mkdir /usr/local/src/hadoop/dfs/data -p
1.4修改目录权限
[root@master hadoop]# chown -R hadoop:hadoop /usr/local/src/hadoop/
1.5同步配置文件到 Slave 节点
[root@master ~]# scp -r /usr/local/src/hadoop/ root@slave1:/usr/local/src/
The authenticity of host 'slave1 (192.168.47.141)' can't be established.
ECDSA key fingerprint is SHA256:vnHclJTJVtDbeULN8jdOLhTCmqxJNqUQshH9g9LfJ3k.
ECDSA key fingerprint is MD5:31:03:3d:83:46:aa:c4:d0:c9:fc:5f:f1:cf:2d:fd:e2.
Are you sure you want to continue connecting (yes/no)? yes
* * * * * * *
[root@master ~]# scp -r /usr/local/src/hadoop/ root@slave2:/usr/local/src/
The authenticity of host 'slave1 (192.168.47.142)' can't be established.
ECDSA key fingerprint is SHA256:vnHclJTJVtDbeULN8jdOLhTCmqxJNqUQshH9g9LfJ3k.
ECDSA key fingerprint is MD5:31:03:3d:83:46:aa:c4:d0:c9:fc:5f:f1:cf:2d:fd:e2.
Are you sure you want to continue connecting (yes/no)? yes
* * * * * * *
#slave1 配置(slave2同下)
[root@slave1 ~]# yum install -y vim
[root@slave1 ~]# vim /etc/profile
[root@slave1 ~]# tail -n 4 /etc/profile
export JAVA_HOME=/usr/local/src/jdk1.8.0_152
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/usr/local/src/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
[root@slave1 ~]# chown -R hadoop:hadoop /usr/local/src/hadoop/
[root@slave1 ~]# su - hadoop
上一次登录:四 2月 24 11:29:00 CST 2022 从 192.168.41.148pts/1 上
[hadoop@slave1 ~]$ source /etc/profile
十五、配置 Hadoop 格式化
1.1NameNode 格式化
[hadoop@master ~]# cd /usr/local/src/hadoop/
[hadoop@master hadoop]$ bin/hdfs namenode –format
1.2启动 NameNode
[hadoop@master hadoop]$ hadoop-daemon.sh start namenode
十六、查看 Java 进程
1.1使用 JPS 命令查看是否成功
[hadoop@master hadoop]$ jps
3557 NameNode
3624 Jps
1.2slave节点 启动 DataNode
[hadoop@slave1 hadoop]$ hadoop-daemon.sh start datanode
[hadoop@slave1 hadoop]$ jps
3557 DataNode
3725 Jps
1.3启动 SecondaryNameNode
[hadoop@master hadoop]$ hadoop-daemon.sh start secondarynamenode
starting secondarynamenode, logging to /opt/module/hadoop-
2.7.1/logs/hadoop-hadoop-secondarynamenode-master.out
[hadoop@master hadoop]$ jps
34257 NameNode
34449 SecondaryNameNode
34494 Jps
1.4查看 HDFS 数据存放位置
[hadoop@master hadoop]$ ll dfs/
总用量 0
drwx------ 3 hadoop hadoop 21 8 月 14 15:26 data
drwxr-xr-x 3 hadoop hadoop 40 8 月 14 14:57 name
[hadoop@master hadoop]$ ll ./tmp/dfs
总用量 0
十七、查看 HDFS 的报告
[hadoop@master sbin]$ hdfs dfsadmin -report
十八、使用浏览器查看节点状态
1.1在浏览器的地址栏输入http://master:50070,进入页面可以查看NameNode和DataNode信息
1.2在浏览器的地址栏输入http://master:50090,进入页面可以查看 SecondaryNameNode信息
1.3可以使用 start-dfs.sh 命令启动 HDFS。这时需要配置 SSH 免密码登录,否则在启动过程中系统将多次要求确认连接和输入 Hadoop 用户密码
[hadoop@master hadoop]$ stop-dfs.sh
[hadoop@master hadoop]$ start-dfs.sh
十九、在 HDFS 文件系统中创建数据输入目录,确保 dfs 和 yarn 都启动成功
[hadoop@master hadoop]$ start-yarn.sh
[hadoop@master hadoop]$ jps
34257 NameNode
34449 SecondaryNameNode
34494 Jps
32847 ResourceManager
如果是第一次运行 MapReduce 程序,需要先在 HDFS 文件系统中创建数据输入目录,存放输入数据。这里指定/input 目录为输入数据的存放目录。 执行如下命
令,在 HDFS 文件系统中创建/input 目录
[hadoop@master hadoop]$ hdfs dfs -mkdir /input
[hadoop@master hadoop]$ hdfs dfs -ls /