系统相关
首页 > 系统相关> > Hadoop3.1.3版本安装(CentOs7环境)

Hadoop3.1.3版本安装(CentOs7环境)

作者:互联网

集群Hadoop实验(虚拟机模拟)centOS

选择一台作为Master,其余的作为Slave结点。

三台虚拟机的用户名都是qinphy

官网下载Hadoop3.1.3(https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz )

ssh网络配置

三台虚拟机都需要做的

  1. 卸载原有的ssh:原本的有缺陷。
  2. 安装ssh
  3. 修改ssh的配置文件,使其能够ssh远程用密码登录。
  4. 修改hosts文件,配置网络地址的映射。
  5. 测试本地连接,自动生成~/.ssh文件夹
# 卸载安装中途都默认yes
$ sudo yum remove openssh-server
$ sudo yum install openssh-server
$ sudo vi /etc/ssh/sshd_config

ssh配置文件需要添加的内容:

Port=22
PermitRootLogin=yes
PasswordAuthentication=yes
# 启动ssh服务
$ sudo systemctl start sshd.service
$ sudo vi /etc/hosts

hosts文件需要添加的内容(每台机器的IP地址和自定义的结点名称)

192.168.165.132 Master
192.168.165.130 Slave1
192.168.165.131 Slave2

内容是IP + 结点名称,构成地址映射。

# 测试映射和连接,在Master上:
$ ping Slave1 -c 3
$ ping Slave2 -c 3
# 有时间显示,连接正常
# 测试本地连接
$ ssh localhost
password:
$ exit

Master结点要做的

  1. 用ssh设置免密登录
  2. 测试本地免密
  3. 测试免密登录Slave1和Slave2
$ cd ~/.ssh
$ ssh-keygen -t rsa
# 一直回车即可
$ cat ./id_rsa.pub >> ./authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ ssh localhost
# 这里不用输入密码
$ exit
$ ssh-copy-id qinphy@Slave1
yes
password:
$ ssh-copy-id qinphy@Slave2
yes
password:

安装JAVA环境

JAVA选择的是JDK1.8版本,提前下载到了windows里面

这里采用手动安装:

  1. XShell自带文件传输

  2. 也可以安装lrzsz传输文件:

    # 三台虚拟机都要做的
    $ sudo yum install lrzsz
    # rz上传文件
    # sz下载文件
    
# 三台虚拟机都需要安装JAVA环境
# 创建~/Downloads文件夹,把外来的软件包放这里
$ mkdir ~/Downloads
$ cd ~/.Downloads
# 安装了lrzsz就用rz上传
$ rz
# 创建jvm文件夹,这里是JAVA环境的安装位置
$ cd /usr/lib
$ sudo mkdir jvm
# 解压安装JDK
$ cd ~/Downloads
$ sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm
# 设置JAVA环境变量
$ vim ~/.bashrc

JAVA环境变量:

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
# 使环境变量生效
$ source ~/.bashrc
# 验证是否安装成功
$ java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

安装Hadoop只在Master上

  1. 解压安装Master
  2. 授权给qinphy用户
$ cd ~/Downloads
# 用lrzsz上传也可以使用Xshell自带的文件传输
$ rz
$ sudo tar -zxf ./hadoop-3.1.3.tar.gz -C /usr/local
$ cd /usr/local
# 更改文件夹名称
$ sudo mv ./hadoop-3.1.3/ ./hadoop
$ sudo chown -R qinphy ./hadoop
$ cd /usr/local/hadoop
$ ./bin/hadoop version
hadoop-2.7.1
...

Hadoop集群配置

  1. 配置环境变量

    export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
    
$ sudo vi ~/.bashrc
$ source ~/.bashrc
  1. 配置分布式环境
$ cd /usr/local/hadoop/etc/hadoop
$ sudo vi workers
# Hadoop-2.7.1方法:
$ sudo vi slaves

slaves文件配置

# 删除localhost
# localhost
Slave1
Slave2
$ sudo vi core-site.xml

core-site.xml 文件配置:

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://Master:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/usr/local/hadoop/tmp</value>
                <description>Abase for other temporary directories.</description>
        </property>
</configuration>
$ sudo vi hdfs-site.xml

hdfs-site.xml文件配置:

<configuration>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>Master:50090</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/usr/local/hadoop/tmp/dfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/usr/local/hadoop/tmp/dfs/data</value>
        </property>
</configuration>
$ sudo vi mapred-site.xml
# 安装Hadoop-2.7.1如下方法:
$ sudo mv mapred-site.xml.template mapred-site.xml
$ sudo vi mapred-site.xml

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>
$ sudo vi yarn-site.xml

yarn-site.xml配置文件:

<configuration>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>Master</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>

Slave结点的配置

  1. 把Master结点的Hadoop文件移植到Slave节点上。
  2. Slave结点解压安装这些文件。
# Master结点上的压缩转移
$ cd /usr/local
$ tar -zcf ~/hadoop.master.tar.gz ./hadoop
$ cd ~
$ scp ./hadoop.master.tar.gz Slave1:/home/qinphy
password:
$ scp ./hadoop.master.tar.gz Slave2:/home/qinphy
password:
# 在Salve结点上:
$ sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local
$ sudo chown -R qinphy /usr/local/hadoop

Master结点的启动

# 初始化Namenode,只在第一次运行时需要
$ hdfs namenode -format

注意:CentOS需要关闭防火墙:

$ systemctl stop firewalld.service
$ systemctl disable firewalld.service

启动结点:

$ start-dfs.sh
$ start-yarn.sh
$ mr-jobhistory-daemon.sh start historyserver
# 以上语句等同于:
$ start-all.sh
# 在Master上验证:
$ jps
# 在Slave上验证
$ cd /usr/local/hadoop
$ jps

Master验证结果:

Master

Slave1上验证结果:

Slave

Slave2上验证结果:

Slave

Master还有一个重要的report验证:

$ hdfs dfsadmin -report

结果是(出现Live datanode != 0):

Report

标签:CentOs7,sudo,hadoop,Hadoop3.1,Master,ssh,版本,local,usr
来源: https://blog.csdn.net/weixin_42631782/article/details/115437954