centos下 hadoop伪分布式和完全分布式的详细安装

hadoop完整环境搭建
windows下的安装:
工具准备:
vmware 最新版本就行
centos纯净版
hadoop2.7.3
jdk1.8
xshell secureCRT
步骤一 : 准备
1.1.安装vmare
1.2.配置虚拟机 master

  • 计算机重命名:
    $> hostnamectl set-hostname master
  • 关闭防火墙:
    $> service firewalld stop
    $> systemctl disable firewalld.service
    1.3.安装jdk(前提将hadoop和jdk压缩包上传到自己创将用户的某一文件夹中,建立/home/xx用户/soft)
    $> cd /usr/local
    $> rpm -ivh dk-8u91-linux-x64.rpm
    $> java
    1.4.配置jdk环境变量
    > v i / e t c / p r o f i l e 在 尾 部 添 加 以 下 内 容 e x p o r t J A V A H O M E = / u s r / j a v a / j d k 1.8. 0 9 1 e x p o r t C L A S S P A T H = . : > vi /etc/profile 在尾部添加以下内容 export JAVA_HOME=/usr/java/jdk1.8.0_91 export CLASSPATH=.: >vi/etc/profileexportJAVAHOME=/usr/java/jdk1.8.091exportCLASSPATH=.:JAVA_HOME/jre/lib/rt.jar: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
    export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
    使环境变量立即生效source /etc/profile
    1.5.测试
    任意位置输入
    java
    java -version
    1.6.安装hadoop
    $> cd /usr/local
    $> tar zxf hadoop-2.7.3.tar.gz
    将hadoop移动到/soft $> mv /usr/local/hadoop-2.7.3 /soft
    $> ln -s /soft/hadoop-2.7.3 /soft/hadoop
    配置hadoop > v i / s o f t / h a d o o p / e t c / h a d o o p / h a d o o p − e n v . s h 修 改 J A V A H O M E = / u s r / j a v a / j d k 1.8. 0 9 11.7. 配 置 h a d o o p 环 境 变 量 v i / e t c / p r o f i l e 内 容 e x p o r t P A T H = > vi /soft/hadoop/etc/hadoop/hadoop-env.sh 修改JAVA_HOME= /usr/java/jdk1.8.0_91 1.7.配置hadoop环境变量 vi /etc/profile 内容export PATH= >vi/soft/hadoop/etc/hadoop/hadoopenv.shJAVAHOME=/usr/java/jdk1.8.0911.7.hadoopvi/etc/profileexportPATH=PATH:/file/hadoop/bin:/file/hadoop/sbin
    使环境变量立即生效source /etc/profile
    1.8.测试
    任意位置输入
    hadoop
    hadoop version
    1.9
    步骤二:伪类分布式hadoop搭建
    2.1将地址与主机名配置到hosts文件中
    $> sudo vi /etc/hosts
    192.168.56.100 master
    2.2测试
    ping master
    2.3配置 hadoop-env.sh
    $>cd ~/soft/hadoop/etc/hadoop/hadoop-env.sh
    export JAVA_HOME=/usr/java/jdk1.8.0_91

2.4配置hadoop的四个配置文件
$> cd ~/soft/hadoop/etc/hadoop
$> vi core-site.xml


fs.defaultFS
hdfs://master:9000

fs.defaultFS -> hdfs://localhost:9000


   hadoop.tmp.dir
   /home/centos/soft/hadoop/tmp

$> vi hdfs-site.xml


   dfs.replication
   1

$> vi mapred-site.xml


     mapreduce.framework.name
     yarn

$> vi yarn-site.xml


    yarn.resourcemanager.hostname
    master



    yarn.nodemanager.aux-services
    mapreduce_shuffle

2.5配置ssh无密登录
$>cd ~/.ssh
$> ssh-keygen -t rsa 使用rsa算法生成公私秘钥对
$> ssh-copy-id master 将公钥发送给目标主机
目的是在远程登录的时候不同输入密码
2.6 格式化hdfs的名称节点
$> hdfs namenode -format
2.7启动hadoop hdfs 伪分布式集群:
$> start-dfs.sh
- NameNode -> 名称节点
- DataNode -> 数据节点
- SecondaryNameNode -> 辅助名称节点
$>start-yarn.sh
-resourcemanager 资源调度入口
-nodemanager 驱动 mapreduce
$> hadoop-daemon.sh start namenode -> 启动名称节点
$> hadoop-daemon.sh stop nameno -> 关闭名称节点
$>start-all.sh||stop-all.sh 不建议初学使用
2.8web ui测试
uri : http://192.168.56.100:50070
2.9关闭集群

步骤三:完全分布式hadoop搭建
3.1克隆master
slave1~3(内存512MB)
修改ip地址:
这里推荐一个特别好用的命令:
$>nmtui
进入之后,可以根据英语提示进行相应的修改
本人ip地址分配:
192.168.235.135 master
192.168.235.138 slave1
192.168.235.136 slave2
192.168.235.137 slave3
3.2重启网络
$>servic network restart
如果重启失败,重启一下即可
3.3修改主机名
hostnamectl set-hostname slave1
hostnamectl set-hostname slave2
hostnamectl set-hostname slave3
切换一下用户生效
3.4配置hosts文件 $>vi /etc/hosts
四台虚拟机都要配置
192.168.56.100 master
192.168.56.201 slave1
192.168.56.202 slave2
192.168.56.203 slave3

3.5重新配置ssh免密登录
$>cd ~/.ssh
$> ssh-keygen -t rsa 使用rsa算法生成公私秘钥对
$> ssh-copy-id master 将公钥发送给目标主机
$> ssh-copy-id slave1 将公钥发送给目标slave1
$> ssh-copy-id slave2 将公钥发送给目标slave2
$> ssh-copy-id slave3 将公钥发送给目标slave3
3.6测试
$>ssh slave1
$>exit
$>ssh slave2
3.7配置slaves
$>vi ~/soft/hadoop/etc/hadoop/slaves
为了告诉namenode datanode的位置
四台虚拟机都需要配置这个文件
3.8删除伪分布式的临时目录
$>tmp rm-rf dfs*
四个主机都要执行
3.9仅master进行格式化
$> hdfs namenode -format
3.9启动完全分布式
$>start-dfs.sh
3.10测试1
master ->jps->namenode
ssh slave1 jps
ssh slave2 jps
ssh slave3 jps
slave->jps->datanode
3.11测试2
webui查看namenode下数据节点的个数是否为3

说明:在伪分布式中master dfs文件中有name data 文件
在完全分布式中 master dfs只有name
slave dfs只有data

猜你喜欢

转载自blog.csdn.net/weixin_44703894/article/details/108684724
今日推荐