Hadoop 部署

hadoop部署步骤:

环境rhel8.2

1.配置主机网络信息

使物理机能和主机ping通
使用secureCRT与虚拟连接
设置网卡(dhcp)

[root@maoqiyang ~]# nmcli device connect ens160 
Device 'ens160' successfully activated with '4a5b3266-42ad-4e0f-a17d-8f200cc67def'.

2.设置主机名,绑定主机名与ip地址

[root@maoqiyang ~]# hostnamectl set-hostname maoqiyang
[root@maoqiyang ~]# bash
[root@maoqiyang ~]# cat /etc/hosts 
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

172.16.0.99    maoqiyang
[root@maoqiyang ~]# ping maoqiyang 
PING maoqiyang (172.16.0.99) 56(84) bytes of data.
64 bytes from maoqiyang (172.16.0.99): icmp_seq=1 ttl=64 time=0.062 ms
^C

3.开启sshd。关闭防火墙与selinux

systemctl  enable  --now sshd
systemctl  stop   firewalld
systemctl  disable  firewalld
sed  -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 
setenforce 0

4.创建hadoop并设置密码

[root@maoqiyang ~]# useradd hadoop && echo '123' | passwd --stdin hadoop
Changing password for user hadoop.
passwd: all authentication tokens updated successfully.
[root@maoqiyang ~]# cat /etc/shadow | grep hadoop
hadoop:$6$iQ9ZfF0I9gIglEZm$YLyxw22TvWnt63or457hOPBEkY6fCoBnEVpOcT7PcY2XDY3YhzBItoe23ecS5mpKID7x2iqpSbSv/r9s638Kn1:19062:0:99999:7:::
给hadoop提权
vi /etc/sudoers
hadoop  maoqiyang=(root)   NOPASSWD:ALL

5.安装java环境

1.卸载老版本,安装新版

rpm  -qa | grep  java
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.141-2.6.10.5.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64
查看删除结果再次键入命令 java -version 
NO such  file or directory则成功

2.传文件
(hadoop一会用)

物理机cmd scp
scp jdk-8u152-linux-x64.tar.gz  root@172.16.0.99:/root
scp hadoop-2.7.1.tar.gz  root@172.16.0.99:/root

3.解压文件

tar -zxvf  jdk-8u152-linux-x64.tar.gz -C /usr/local/src

4.配置jdk环境变量

vi /etc/profile
export JAVA_HOME=/usr/local/src/jdk1.8.0_152
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
java -version

6.安装Hadoop软件

tar  -zxvf  ~/hadoop-2.7.1.tar.gz -C  /usr/local/src/
配置环境变量
vi /etc/profile
export HADOOP_HOME=/usr/local/src/hadoop-2.7.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source  /etc/profile
hadoop     #查看是否生效

修改目录的所有者和拥有组让hadoop执行的时候不会有权限问题

chown -R hadoop:hadoop /usr/local/src
ll  /usr/local/src

7.安装单机版的hadoop系统

进入hadoop安装的目录
cd /usr/local/src/hadoop-2.7.1/
告诉hadoop系统jdk的目录
vi etc/hadoop/hadoop-env.sh
更改export JAVA_HOME 这行
export JAVA_HOME=/usr/local/src/jdk1.8.0_152
到此设置好了hadoop本地模式

8.运行hadoop

使用hadoop用户来运行hadoop
su - hadoop
将输入的文件放在hadoop家目录的input下
mkdir  ~/input
创建输入文件
vi  ~/input/data.txt
输入内容
Hello World
Hello Hadoop
Hello Huasan

测试mapreduce运行

hadoop jar /usr/local/src/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar  wordcount  ~/input/data.txt  ~/output

hadoop命令 jar包 要做什么(wordcount统计单词数量) 被统计的输入文件 和被统计的输出文件

注意:输出目录不能事先创建,如果已经有~/output 目录,就要选择另外的
输出目录,或者将~/output 目录先删除。删除命令如下所示。

[hadoop@maoqiyang ~]$ rm -rf ~/output

统计多个输入的单词数

hadoop jar /usr/local/src/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar  wordcount  ~/input/data.txt  ~/input/abc ~/input/etc/*  ~/output


~/input/data.txt    ~/input/abc   ~/input/etc/*  都会整合到输出文件output里面
posted @ 2022-03-11 23:08  supermao12  阅读(139)  评论(0编辑  收藏  举报