Linux中安装配置hadoop集群(图文搭配详细版)

Linux中安装配置hadoop集群

准备工作:创建一个虚拟机,虚拟机名字为hadoop000,创建一个名为hadoop的用户,密码随意

​ 软件:SecureCRT ,WinSCP

  1. 虚拟机使用hadoop用户登陆

  2. 使用SecureCRT进行终端操作(界面简洁),终端ifconfig查看Linux ip地址,连接SecureCRT.

  3. 在hadoop目录下新建了两个文件夹app software

    Linux中安装配置hadoop集群(图文搭配详细版)_第1张图片

  4. 将下载好的hadoop.tar和jdk.tar通过WinSCP放到software文件夹中

Linux中安装配置hadoop集群(图文搭配详细版)_第2张图片

  1. 解压同时将解压后的复制到app文件夹中

    tar -zxvf linux_jdk7u79linuxx64.tar.gz -C ~/app

    在这里插入图片描述
    tar -zxvf hadoop-2.6.0-cdh5.7.0.tar -C ~/app

    在这里插入图片描述

  2. 配置jdk环境变量

    vi ~/.bash_profile

    ​ 在文件中加入

export JAVA_HOME=/home/hadoop/app/jdk1.7.0_79

​export PATH= $ JAVA_HOME/bin:$ PATH

Linux中安装配置hadoop集群(图文搭配详细版)_第3张图片

source ~/.bash_profile 重新编译该文件,使环境变量生效

  1. ssh安装(远程操作需要ssh)

    sudo yum install ssh

    emm…接下来报了一个提示:

Linux中安装配置hadoop集群(图文搭配详细版)_第4张图片

问题来源:
我们使用sudo命令,让Hadoop用户使用root身份执行命令时导致报错

解决方法:
1. 以root身份登陆(su root),然后执行如下命令
2. visudo(不是vi sudo)
3. 然后找到
root ALL=(ALL) ALL 这一行
在下一行添加自己的用户名,比如:hadoop
hadoop ALL=(ALL) ALL

Linux中安装配置hadoop集群(图文搭配详细版)_第5张图片

重新输入sudo yum install ssh

Linux中安装配置hadoop集群(图文搭配详细版)_第6张图片

emmm…Error 好吧,当初我在这里搜遍全网,只为解决这个

#yum -y update 没用

Linux中安装配置hadoop集群(图文搭配详细版)_第7张图片 没用

安装EPEL库也没用

所以之后 我,,尝试性的输入了

sudo service sshd status

在这里插入图片描述 我真是又高兴又难过(我之前安装过ssh然而我并不知道)

ssh有关的安装详情可以参考https://blog.csdn.net/java_dotar_01/article/details/76942563

  1. sudo service sshd start 在这里插入图片描述

  2. 机器参数设置

    cat /etc/sysconfig/network

    ​ NETWORDING=yes

    ​ HOSTNAME=hadoop001 ​ 在这里插入图片描述

  3. 设置IP和hostname的映射关系

    vi /etc/hosts ​ 在这里插入图片描述

  4. 配置ssh免密码登陆(ssh进程的通信是免密码登录的,不然会非常麻烦)

    1. cd
    2. ssh-keygen -t rsa

    然后一直回车 Linux中安装配置hadoop集群(图文搭配详细版)_第8张图片

    1. cd

    2. cd .ssh

    3. cp id_rsa.pub authorized_keys

    4. ssh localhost 测试一下

    5. ssh hadoop001测试一下是不是免密码登陆

Linux中安装配置hadoop集群(图文搭配详细版)_第9张图片

  1. 配置hadoop-env.sh文件

    su hadoop(换hadoop用户登陆)

    cd ~/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop

    vi hadoop-env.sh

export JAVA_HOME=/home/hadoop/app/jdk1.7.0_79

  1. 配置core-site.xml文件

    vi core-site.xml

fs.defaultFShdfs://hadoop001:8020hadoop.tmp.dir/home/hadoop/app/tmp

Linux中安装配置hadoop集群(图文搭配详细版)_第10张图片

  1. hdfs-site.xml 设置集群block的副本系数
    vi hdfs-site.xml
  dfs.replication1

     
  1. 把hadoop客户端的环境也配置到环境变量中

    vi ~/.bash_profile

export HADOOP_HOME=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0

export PATH=$ HADOOP_HOME/bin:$PATH

(加在之前配置jdk环境变量语句之后)

注意:环境变量一定要输入正确,不然会报 bash:XXXcommand not found 错误

别忘了 source ~/.bash_profile

  1. 启动集群

    • 格式化文件系统

      cd ~/app/hadoop-2.6.0-cdh5.7.0/bin

      (到bin目录下) hdfs namenode -format

      注意:只执行一次,格式化之后,整个文件系统数据丢失

    • 启动集群

      cd ~/app/hadoop-2.6.0-cdh5.7.0/sbin

      ​ (到sbin目录下) ./start-dfs.sh 启动集群

      ​ 如果此时需要你输入密码,到可以输入命令的时候,重新操作一遍“免密”

      ​ 这里大家也可能会遇到一些错误:

      ​ [启动hadoop,报错Error JAVA_HOME is not set and could not be found]:这个的话就是第12步修改错了文件,注意修改的是hadoop-env.sh文件,不是hadoop.env.sh

    • jps 查看进程,查看DataNode和NameNode是否启动

      Linux中安装配置hadoop集群(图文搭配详细版)_第11张图片

      这一步经常会有错误,我两次都没有一次性成功

      1.输入jps之后,只出来jps进程,此时可以关闭虚拟机,重启一次(这个意义其实也就是将tmp删除(tmp在app文件下)

      2.输入jps之后,发现缺少namenode进程,emmm,于是我又作死地格式化了一边,就是执行了 hdfs namenode -format,嗯,然后namenode出来了

    • 停止集群 ./stop-all.sh

  2. 打开linux浏览器访问hadoop001:50070

    Linux中安装配置hadoop集群(图文搭配详细版)_第12张图片

    成功

    如果想在本机浏览器上浏览,需要到hosts文件中配置映射(C:\Windows\System32\drivers\etc\hosts)

    在这里插入图片描述

    差点忘了 在本机访问时一定登陆root关闭防火墙

    service iptables stop

你可能感兴趣的:(Linux中安装配置hadoop集群(图文搭配详细版))