Linux虚拟机上Hadoop基础环境搭建

1 主要步骤

  • 配置网络
  • 修改主机名
  • 关闭防火墙
  • 关闭SELinux
  • 安装jdk
  • 增加hadoop用户
  • 配置ssh信任
  • 配置hadoop

集群部署规划

5台服务器,

一个主节点:nn1.hadoop, master (HA)

一个从节点:nn2.hadoop,slave

三个工作节点:

s1.hadoop、s2.hadoop、s3.hadoop (work1     work2    work3)

nn1.hadoop 机器作为操作机。 whoami ifconfig

在实际生产里还应有操作机(跳板机)

2 基础环境搭建

2.1 配置阿里云 yum 源

1)安装sz rz工具,用于以后用rz sz上传下载文件

yum install -y lrzsz

2)下载 repo 文件

文件下载地址: http://mirrors.aliyun.com/repo/Centos-7.repo

3)用 rz 将下载的 Centos-7.repo 文件上传到Linux系统的某个目录下

4)备份并替换系统的repo文件

cp Centos-7.repo /etc/yum.repos.d/
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
mv Centos-7.repo CentOS-Base.repo

5)执行yum源更新命令

yum clean all
#服务器的包信息下载到本地电脑缓存起来
yum makecache
yum update -y

配置完毕。

2.2 安装常用软件

yum install -y openssh-server vim gcc gcc-c++ glibc-headers bzip2-devel lzo-devel curl wget openssh-clients zlib-devel autoconf automake cmake libtool openssl-devel fuse-devel snappy-devel telnet unzip zip net-tools.x86_64 firewalld systemd ntp

2.3 关闭防火墙

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

关闭防火墙:systemctl stop firewalld.service

禁止防火墙开机启动: systemctl disable firewalld.service

查看服务是否开机启动: systemctl is-enabled firewalld.service

2.4 关闭SELinux

查看关闭状态

/usr/sbin/sestatus -v

关闭方法

vim /etc/selinux/config

把文件里的SELINUX=disabled

安装软件之前要 重启服务器

reboot

启动之后用

/usr/sbin/sestatus -v 查看selinux的修改状态

再查看确认防火墙是否关闭:systemctl is-enabled firewalld.service

可以开始安装软件了

2.5 安装JDK

2.5.1 JDK 下载地址

地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2.5.2 安装JDK

1)用 rz 命令将安装文件上传Linux 系统

进入指定目录后,用rz 命令上传文件到当前目录

2)安装JDK

由于是rmp格式文件可以直接安装

rpm -ivh jdk-8u144-linux-x64.rpm

-ivh:安装时显示安装进度

2.5.3 配置JDK 环境变量

1)修改系统环境变量文件 /etc/profile,在文件尾部追加以下内容

export JAVA_HOME=/usr/java/jdk1.8.0_144
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

(安装目录默认在  /usr/java, 配置环境变量在 /etc/profile 文件中)

备注:export 用于设置或显示环境变量。  一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export 可以向后面的shell传递变量的值。

2)使修改生效,并配置JDK

一定要执行source 刷新一下

#使修改生效
source /etc/profile
#查看系统变量值
echo $PATH
#检查JDK 配置情况
java -version

NTP服务器 --> 阿里云 --> 一个小时同步一回

每台电脑都需要做以上工作 那么我们需要先做一个母盘 然后通过克隆的方式再创建自己的集群

集群健康运行的标准是 每台电脑的时间都是一样的

#命令:
crontab -e
0 * * * * /usr/sbin/ntpdate time1.aliyun.com >> /tmp/autontpdate 2>&1

2.6 修改主安装常用软件主机名

(配置host是为了让计算机的ip和名字绑定,以后访问名字就行了)

hostnamectl set-hostname nn1.hadoop
#修改完后用hostname可查看当前主机名 // hostname是计算机名
hostname

2.7 创建hadoop 用户并设置 hadoop 用户密码

#创建hadoop用户
useradd hadoop

#给hadoop用户设置密码
000000

2.8 给hadoop用户,配置SSH密钥

2.8.1 通过普通方法添加hadoop用户在wheel组中

第一步。# useradd hadoop

setp2: passwd hadoop

配置秘钥之前,先配置hosts文件(/etc/hosts)

hadoop用户进入whell组后,有root部分权限,并且可以免密切换到root

step3: 修改权限验证,进入。# vi /etc/pam.d/su

step4: 打开两个功能:①只允许wheel组切换到root,②wheel进入root免密

auth sufficient pam_wheel.so trust use_uid (去掉前面的#即可)

auth required pam_wheel.so use_uid  (去掉前面的#即可)

可以用set命令,在不打开文件的时候就能替换文件内容

step5:将hadoop加入wheel组,先看一下系统中的组:cat  /etc/group

# gpasswd  -a  hadoop  wheel  (将hadoop用户追加到wheel组中)

完成

2.8.2 配置hadoop用户的SSH免密

配置SSH密钥的目的:使得多台机器间可以免密登录。

实现原理:

使用ssh-keygen在linux01 上生成private和public密钥,将生成的public密钥拷贝到远程机器linux02 上后,就可以使用ssh命令无需密码登录到另外一台机器linux02上。如果想互相登录,则要把公钥私钥都拷贝到远程机器linux02 上。

(备注:如果用ssh密钥登录,需要用户的家目录是700,.ssh目录700,公钥文件们必须是600权限,ssh针对某个用户,在多台计算机中进行操作的时候是免密的。ssh必须是非root用户的配置,如果不是很紧急,root一般不会ssh. 所以hadoop集群是针对某个用户的配置,让一个用户可以操作多台电脑)

#切换到hadoop用户
su – hadoop
#创建.ssh目录
mkdir ~/.ssh
#生成ssh公私钥
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ‘‘
#输出公钥文件内容并且重新输入到~/.ssh/authorized_keys文件中  ,必须放置authorized_keys文件中才能被#linux识别,不然被认为是自己的公钥。
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
#给~/.ssh文件加上700权限
chmod 700 ~/.ssh
#给~/.ssh/authorized_keys加上600权限
chmod 600 ~/.ssh/authorized_keys 

2.9 禁止非 whell 组用户切换到root,配置免密切换root

通常情况下,一般用户通过执行“su -”命令、输入正确的root密码,可以登录为root用户来对系统进行管理员级别的配置。

但是,为了更进一步加强系统的安全性,有必要建立一个管理员的组,只允许这个组的用户来执行 “su -” 命令登录为 root 用户,而让其他组的用户即使执行 “su -” 、输入了正确的 root 密码,也无法登录为 root 用户。在UNIX和Linux下,这个组的名称通常为 “wheel” 。

1)修改/etc/pam.d/su配置

su 时要求用户加入到wheel组

修改/etc/pam.d/su文件,将“#auth\t\trequired\tpam_wheel.so”,替换成“auth\t\trequired\tpam_wheel.so”

sed -i ‘s/#auth\t\trequired\tpam_wheel.so/auth\t\trequired\tpam_wheel.so/g‘ ‘/etc/pam.d/su‘

命令说明:

修改某个文件,并替换文件里的内容,命令格式:

sed -i ‘s/要被取代的字串/新的字串/g‘ ‘文件名‘

-i :直接修改读取的文件内容,而不是输出到终端。

2)修改/etc/login.defs文件

只有wheel组可以su 到root

cp /etc/login.defs /etc/login.defs_back      先备份一个

# 把“SU_WHEEL_ONLY yes”字符串追加到/etc/login.defs文件底部
echo "SU_WHEEL_ONLY yes" >> /etc/login.defs 

tail /etc/login.defs     从文件底部查看

3) 添加用户到管理员,禁止普通用户su 到 root

#把hadoop用户加到wheel组里

#查看wheel组里是否有hadoop用户

4)用vuser1 用户验证一下,由于vuser1 没有在wheel 组里,所以没有 su - root 权限。

5)修改/etc/pam.d/su文件,将字符串“#auth\t\tsufficient\tpam_wheel.so”替换成“auth\t\tsufficient\tpam_wheel.so”

sed -i ‘s/#auth\t\tsufficient\tpam_wheel.so/auth\t\tsufficient\tpam_wheel.so/g‘ ‘/etc/pam.d/su‘ 

验证免密码切换到 root 用户

2.10 配置hosts 文件

在克隆机器前,配置nn1 机器的 /etc/hosts 文件,文件内需要配置nn1、nn2、s1、s2、s3 所有机器的IP 和 主机名。修改/etc/hosts文件,vim /etc/hosts。追加以下内容,不要把之前的内容删掉。

192.168.142.180 nn1.hadoop
192.168.142.181 nn2.hadoop
192.168.142.182 s1.hadoop
192.168.142.183 s2.hadoop
192.168.142.184 s3.hadoop

2.11 克隆4台机器

执行完上面的命令,一个基础的linux系统就配置好了。然后把这个nn1.hadoop虚拟机导出,再根据这个导出的虚拟机创建4个linux系统。

其中:nn2.hadoop: 从节点

s1.hadoop、s2.hadoop、s3.hadoop:三个工作节点

并用hadoop用户,测试彼此之间是否能进行ssh通信。

2.11.1 虚拟机克隆

右键 nn1 机器→ 管理 → 克隆。

克隆完成后,需要给克隆的虚拟机配置静态IP。

2.11.1.1 配置静态IP

1)查看网卡硬件名称和基本信息

ip add 

虚拟机会给每个克隆的虚拟机创建新网卡,如上面的 ens33 。

如果网卡设备信息中没有显示IP,则需要配置配置文件

cd /etc/sysconfig/network-scripts/

ifcfg-xxx 中的xxx 与网卡名相同后,配置ifcfg-xxx 文件

如果想一次删除所有内容可以先将光标 G 固定在最后一行 然后使用 :1,. d 的方式删除全部内容

TYPE="Ethernet"
BOOTPROTO="static"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="ens33"
UUID="fbe09adb-60e9-4e66-be20-9104c63a50c2"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.92.131
PREFIX=24
GATEWAY=192.168.92.2
DNS=192.168.92.2

需要修改的内容,配置完的网卡文件

配置完后,用systemctl restart network.service重启网络服务,当前的ssh就连接不上了,是因为网络IP被改变成你自己设置的静态IP。

用 ip add 查看网卡信息

用 ping www.baidu.com 看是否能连接外网。

如果上不了网执行以下操作。

2.11.1.2 配置 /etc/resolv.conf  的 nameserver

cat /etc/resolv.conf    查看nameserver是否被设置正确

vim /etc/resolv.conf 修改文件,如果不存在nameserver就在文件下面添加,如果存在就修改,把nameserver 设置成自己对应的DNS。

2.11.1.3 停止掉NetworkManager服务

systemctl stop NetworkManager.service  停止NetworkManager服务

systemctl disable NetworkManager.service   并设置成开机不启动

systemctl restart network.service            之后重启网络服务

2.11.2 修改每个机器的主机名

修改4台的主机名

hostnamectl set-hostname nn2.hadoop
hostnamectl set-hostname s1.hadoop
hostnamectl set-hostname s2.hadoop
hostnamectl set-hostname s3.hadoop

原文地址:https://www.cnblogs.com/yoyowin/p/12008773.html

时间: 2024-10-11 05:19:31

Linux虚拟机上Hadoop基础环境搭建的相关文章

Linux+Apache+Php+Oracle 基础环境搭建

前言: 不能保证100%一次通过,每个系统都会或多或少有区别,如果缺少某些依赖包的话,还请见谅 1.安装Apache需要编译安装的包,各官方网站下载 Pcre.Apr.Apr-Util 2.编译安装Apache: ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --with-mpm=pre

【Hadoop基础教程】1、Hadoop之服务器基础环境搭建

本blog以K-Master服务器基础环境配置为例分别演示用户配置.sudo权限配置.网路配置.关闭防火墙.安装JDK工具等.用户需参照以下步骤完成KVMSlave1~KVMSlave3服务器的基础环境配置. 开发环境 硬件环境:Centos 6.5 服务器4台(一台为Master节点,三台为Slave节点) 软件环境:Java 1.7.0_45.hadoop-1.2.1 1.安装环境 硬件环境:Centos 6.5 服务器4台(一台为Master节点,三台为Slave节点) 软件环境:Java

Hadoop开发环境搭建(linux)

Hadoop开发环境搭建(linux) 零.安装xwindows apt-get install ubuntu-desktop 一.安装Eclipse 下载Eclipse,解压安装,例如安装到/usr/local,即/usr/local/eclipse 二.在eclipse上安装hadoop插件 1.下载hadoop插件 下载地址:http://pan.baidu.com/s/1mgiHFok 此zip文件包含了源码,我们使用使用编译好的jar即可,解压后,release文件夹中的hadoop.

Linux虚拟机上搭建ftp服务器

Linux虚拟机上搭建ftp服务器 实验介绍:本文主要介绍在虚拟机的Linux系统上搭建ftp服务器,并且最终可以在另外一台win7虚拟机中能够正常上传和下载文件,并建立访问用户的黑白名单,以及虚拟账户功能. 1.首先打开Linux虚拟机,配置IP地址,本文的Linux的IP地址为192.168.1.16/24,直接通过系统光盘自带的vsftpd软件包安装.(前提是已经挂载了光盘镜像文件) 2.安装成功后,开启vsftpd服务,在win7虚拟机上(IP地址192.168.1.100)就可以访问L

Spark入门实战系列--2.Spark编译与部署(上)--基础环境搭建

[注] 1.该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取: 2.Spark编译与部署将以CentOS 64位操作系统为基础,主要是考虑到实际应用一般使用64位操作系统,内容分为三部分:基础环境搭建.Hadoop编译安装和Spark编译安装,该环境作为后续实验基础: 3.文章演示了Hadoop.Spark的编译过程,同时附属资源提供了编译好的安装包,觉得编译费时间可以直接使用这些编译好的安装包进行部署. 1.运行环境说明 1.1 硬软件环境 l  主机

(3)windows下hadoop+eclipse环境搭建

(1)环境说明 hadoop的集群环境我已经在虚拟机上搭建并能正常运行(见前2篇文章),现在我要在windows下搭建hadoop+eclipse的开发环境. (2)安装hadoop-eclipse-plugin-1.1.2.jar插件 hadoop-eclipse-plugin-1.1.2.jar这个插件大家可以自己编译,或者直接到网上下载.我是直接在网上下载安装. 下载好后,将hadoop-eclipse-plugin-1.1.2.jar放到eclipse安装目录下的plugins文件夹下.

Linux下的ssh实验环境搭建与管理

Linux下的ssh实验环境搭建与管理 实验环境 服务端:xuegod-63   IP:192.168.1.63 客户端:xuegod-64   IP:192.168.1.64 客户端普通用户:ceshi  密码:123456 安装好扫描软件rpm -ivh /mnt/Packages/nmap-5.21-4.el6.x86_64.rpm 实验目标 1:SSHD服务介绍 2:SSHD服务安装配置 3:两Linux服务器之间数据拷贝 4:SSHD服务作用: 实验步骤 1:搭建环境 1):网桥模式

hadoop3.1.0 window win7 基础环境搭建

https://blog.csdn.net/wsh596823919/article/details/80774805 hadoop3.1.0 window win7 基础环境搭建 前言:在windows上部署hadoop默认都是安装了java环境的哈. 1.下载hadoop3.1.0 https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common 2.下载之后解压到某个目录 3.配置hadoop_home 新建HADOOP_HOME,指向ha

Hadoop 分布式环境搭建

Hadoop 分布式环境搭建 一.前期环境 安装概览 IP Host Name Software Node 192.168.23.128 ae01 JDK 1.7 NameNode, SecondaryNameNode, DataNode, JobTracker, TaskTracker 192.168.23.129 ae02 JDK 1.7 DataNode, TaskTracker 192.168.23.130 ae03 JDK 1.7 DataNode, TaskTracker 若使用虚拟