linux Centos 7 安装hadoop3.1.3 详解

一、准备工作

  1. Linux环境:Centos 7

  2. 远程登陆:xShell 6

  3. 安装jdk并配置好环境变量

  4. 下载 hadoop-3.1.3.tar.gz

二、安装hadoop

        1. 把下载好的hadoop-3.1.3.tar.gz 上传到linux 的/usr/local/java目录(可自由选择)

## 进入该目录
cd /usr/local

##切换root用户
su root 

## 创建文件夹
mkdir java

         2. 解压 hadoop

tar -zxvf hadoop-3.1.3.tar.gz

        3. 为hadoop 配置环境变量

## 编辑
vi /etc/profile


## 在该文件末尾加入
export HADOOP_HOME=/usr/local/java/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin


## 刷新
source /etc/profile

        4. 修改配置文件

cd /usr/local/java/hadoop-3.1.3/etc/hadoop

        4.1 编辑 hadoop-env.sh 

vi hadoop-env.sh

        找到# export JAVA_HOME=,按i进入编辑模式,修改为以下内容后,按Esc,输入 :wq 保存并退出

export JAVA_HOME=/usr/local/java/jdk1.8.0_301

        4.2 配置core-site.xml,修改为以下内容,其中第5行 192.168.199.133 改为自己的主机名

<configuration>
     <!--设置namenode所在节点  192.168.199.133 需要改成自己的ip-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.199.133:9000</value>
    </property>
  <!--
        设置hadoop存放数据的目录, 需要手动创建data文件夹
    -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/java/hadoop-3.1.3/data</value>
    </property>
</configuration>

        4.3 配置yarn-site.xml,修改为以下内容,192.168.199.133 均改为自己的主机名

<configuration>
    <!-- 指定ResourceManager的地址-->
    <property>
		<name>yarn.resourcemanager.hostname</name>
		<value>192.168.199.133</value>
    </property>
    <property>
		<name>yarn.resourcemanager.address</name>
		<value>192.168.199.133:8032</value>
    </property>
    <property>
		<name>yarn.resourcemanager.scheduler.address</name>
		<value>192.168.199.133:8030</value>
    </property>
    <property>
		<name>yarn.resourcemanager.resource-tracker.address</name>
		<value>192.168.199.133:8031</value>
    </property>
    <property>
		<name>yarn.resourcemanager.admin.address</name>
		<value>192.168.199.133:8033</value>
    </property>
    <property>
		<name>yarn.resourcemanager.webapp.address</name>
		<value>192.168.199.133:8088</value>
    </property>
    <!-- 指定reducer获取数据的方式-->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

        4.5 配置hdfs-site.xml,修改为以下内容

<configuration>
    <!--设置block副本数,不能超过节点数-->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

        4.6 配置mapred-site.xml,修改为以下内容

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

        5. 配置start-dfs.sh,stop-dfs.sh

         切到hadoop/sbin这个目录配置

cd /usr/local/java/hadoop-3.1.3/sbin

        5.1 在start-dfs.sh,stop-dfs.sh第二行添加以下内容,因为是root登录的,不配置会出现错误

HDFS_DATANODE_USER=root  
HDFS_DATANODE_SECURE_USER=hdfs  
HDFS_NAMENODE_USER=root  
HDFS_SECONDARYNAMENODE_USER=root

      6. 配置start-yarn.sh,stop-yarn.sh,在第二行添加以下内容

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

        7. 实现SSH免密码远程登录,因为是伪分布式集群,其实就是自己登录自己(如果已经配置过可跳过)

        7.1 创建公钥/私钥,一路回车

ssh-keygen -t rsa

        7.2 创建authorized_keys文件并修改权限为600

cd ~/.ssh
touch authorized_keys
chmod 600 authorized_keys

        7.3 将公钥追加到authorized_keys文件中

cat id_rsa.pub >> authorized_keys

        7.4 尝试能否免密登录,能登陆就成功了,尝试后,输入exit退出

ssh 自己的主机名

        7.5 关闭防火墙(如果已经配置过可跳过)

##查看防火墙状态
firewall-cmd --state

## 关闭防火墙
systemctl stop firewalld.service

##禁止开机时防火墙自启
systemctl disable firewalld.service

        8. 格式化&启动&停止hadoop

        8.1 格式化hadoop,不要多次格式化。多次格式化会导致DataNode无法正常启动,解决办法在文末

hadoop namenode -format

        8.2 启动&停止hadoop

## 启动
start-all.sh

## 关闭
stop-all.sh

        8.3 验证是否成功

        启动以后可以输入jps,看有没有下面这些进程

16352 NameNode
21362 Jps
16644 SecondaryNameNode
17017 NodeManager
16475 DataNode
16891 ResourceManager

        8.4输入netstat -tpnl | grep java,查看是否有9870和8088端口,刚启动需要等待一会儿才能查询到端口,等待时间视虚拟机情况而定

netstat -tpnl | grep java

        8.5 可以在浏览器访问ip:9870和ip:8088

  • 7
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值