文章目录

  • 1. 添加新用户hadoop
  • 2. 修改hadoop权限(使用普通用户能使用root权限的命令,且使用sudo时不用输入password)
  • 1. 执行命令`visudo`
  • 2. 修改文件内容
  • 3. 执行命令`gpasswd -a hadoop wheel`
  • 3. 切换hadoop用户,创建文件夹,修改文件所有者为hadoop
  • 4. 在/opt/software中下载jdk和hadoop
  • 5. 解压jdk和hadoop到/opt/module
  • 6. 添加jdk和hadoop的环境变量
  • 1. 执行命令`sudo vim /etc/profile.d/my_env.sh`
  • 2. my_env.sh 添加内容
  • 3. 执行`source /etc/profile`使环境变量马上生效
  • 4. 测试环境变量是否生效
  • 7. 编写集群群发脚本
  • 1. 执行命令`vim /home/hadoop/xsync`
  • 2. xsync 添加
  • 3. 为文件添加执行权限`chmod +x /home/hadoop/xsync`
  • 4. 将文件放入用户bin目录下使得使用hadoop用户的时候在任何地方都能执行xsync脚本`sudo mv /home/hadoop/xsync /bin/xsync`
  • 5. 测试xsync功能` sudo xsync /home/hadoop/bin/xsync`
  • 8. 配置主机映射
  • 1. 执行`sudo vim /etc/hosts`
  • 2. hosts文件 在下面加入
  • 3. 修改windows的映射,进入`C:\Windows\System32\drivers\etc`打开hosts
  • 4. hosts 在下面加入
  • 9. 关闭防火墙
  • 10. 给虚拟机加快照,克隆3台虚拟机(百度)
  • 11. 修改主机名称`在这里插入代码片`
  • 12. 修改各自虚拟机的IP和hostname
  • 1. 修改hostname`sudo hostnamectl --static set-hostname hadoop101`依次类推
  • 2. 执行`sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33`
  • 3. 文件中修改2处(注释处)
  • 13. 修改VMWARE和windows网络设置(具体百度)
  • 14. 配置免密登录
  • 1. 执行`ssh-keygen -t rsa`
  • 2. 执行
  • 3. 再执行


1. 添加新用户hadoop

useradd hadoop
passwd hadoop
//输入密码

2. 修改hadoop权限(使用普通用户能使用root权限的命令,且使用sudo时不用输入password)

1. 执行命令visudo

2. 修改文件内容

centos配置hadoop环境变量 linux中hadoop配置环境变量_大数据

3. 执行命令gpasswd -a hadoop wheel

3. 切换hadoop用户,创建文件夹,修改文件所有者为hadoop

su hadoop
mkdir /opt/software /opt/module
sudo chown hadoop:hadoop /opt/software /opt/module

4. 在/opt/software中下载jdk和hadoop

5. 解压jdk和hadoop到/opt/module

tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module

6. 添加jdk和hadoop的环境变量

1. 执行命令sudo vim /etc/profile.d/my_env.sh

2. my_env.sh 添加内容

#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

3. 执行source /etc/profile使环境变量马上生效

4. 测试环境变量是否生效

hadoop version
java -version

7. 编写集群群发脚本

1. 执行命令vim /home/hadoop/xsync

2. xsync 添加

#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
  echo Not Enough Arguement!
  exit;
fi
#2. 遍历集群所有机器
for host in hadoop101 hadoop102 hadoop103
do
  echo ====================  $host  ====================
  #3. 遍历所有目录,挨个发送
  for file in $@
  do
    #4 判断文件是否存在
    if [ -e $file ]
    then
      #5. 获取父目录
      pdir=$(cd -P $(dirname $file); pwd)
      #6. 获取当前文件的名称
      fname=$(basename $file)
      ssh $host "mkdir -p $pdir"
      rsync -av $pdir/$fname $host:$pdir
    else
      echo $file does not exists!
    fi
  done
done

3. 为文件添加执行权限chmod +x /home/hadoop/xsync

4. 将文件放入用户bin目录下使得使用hadoop用户的时候在任何地方都能执行xsync脚本sudo mv /home/hadoop/xsync /bin/xsync

5. 测试xsync功能sudo xsync /home/hadoop/bin/xsync

8. 配置主机映射

1. 执行sudo vim /etc/hosts

2. hosts文件 在下面加入

192.168.1.100 hadoop100
192.168.1.101 hadoop101
192.168.1.102 hadoop102
192.168.1.103 hadoop103
192.168.1.104 hadoop104
192.168.1.105 hadoop105
192.168.1.106 hadoop106
192.168.1.107 hadoop107
192.168.1.108 hadoop108

3. 修改windows的映射,进入C:\Windows\System32\drivers\etc打开hosts

4. hosts 在下面加入

192.168.1.100 hadoop100
192.168.1.101 hadoop101
192.168.1.102 hadoop102
192.168.1.103 hadoop103
192.168.1.104 hadoop104
192.168.1.105 hadoop105
192.168.1.106 hadoop106
192.168.1.107 hadoop107
192.168.1.108 hadoop108

9. 关闭防火墙

sudo systemctl stop firewalld
sudo systemctl disable firewalld

10. 给虚拟机加快照,克隆3台虚拟机(百度)

11. 修改主机名称在这里插入代码片

12. 修改各自虚拟机的IP和hostname

1. 修改hostnamesudo hostnamectl --static set-hostname hadoop101依次类推

2. 执行sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33

3. 文件中修改2处(注释处)

DEVICE=ens33
TYPE=Ethernet
ONBOOT=yes
//1. BOOTPROTO改为static
BOOTPROTO=static
NAME="ens33"
//2. 修改IPADDR  类推 101 102 103 。。。
IPADDR=192.168.1.101
PREFIX=24
GATEWAY=192.168.1.2
DNS1=192.168.1.2

13. 修改VMWARE和windows网络设置(具体百度)

centos配置hadoop环境变量 linux中hadoop配置环境变量_linux_02


centos配置hadoop环境变量 linux中hadoop配置环境变量_centos配置hadoop环境变量_03

14. 配置免密登录

1. 执行ssh-keygen -t rsa

2. 执行

ssh-copy-id hadoop102
ssh-copy-id hadoop103
ssh-copy-id hadoop101
//这样hadoop101就能免密登录102 103了,但是102 103不能免密登录101

3. 再执行

xsync ~/.ssh/
//这样三台机器互相之间都能免密登录