Hadoop的安装和配置

Hadoop基础环境的配置

前置操作

使我所创建的普通用户获得管理员权限,操作方法如下:

  1. 切换到管理员用户,切换方法略
  2. 打开/etc/sudoers
    命令1:chmod u+w /etc/sudoers
    命令2:vim /etc/sudoers 或者从图形界面打开/etc/sudoers
    复制第98行:root ALL=(ALL) ALL
    在第99行复制并更改用户名:ryan(改成自己的用户名) ALL=(ALL) ALL
  3. 被认可的用户使用特权命令时,需要在特权命令前加上sudo

基础网络环境

先配置网络联通

在图形界面中,打开网络连接的有线设置->齿轮->ipv4->地址选择手动,填写网络信息就可以了。但是网络信息必须符合网络规则(编辑中有虚拟网络编辑器)
在命令行中:
在这里插入图片描述
打开文件后,将以下配置进行更改:
BOOTPROTO=static
ONBOOT=yes
添加以下配置
IPADDR=192.168.218.10
NETMASK=255.255.255.0
GATEWAY=192.168.218.2
DNS1=8.8.8.8

最后,重启网络:service network restart

关闭防火墙

查看防火墙状态
Systemctl status firewalld.service
关闭防火墙
Systemctl stop firewalld.service
查看服务开启启动项列表
Systemctl list-unit-files
设置防火墙开机不自动启动
Systemctl disable firewalld.service

免密登录

  1. 首先生成公私钥
    Ssh-****** -t rsa
  2. 打开用户目录下的.ssh目录
    Cd
    Cd .ssh
  3. 将公钥文件拷贝成authorized_keys
    Cp id_rsa.pub authorized_keys
  4. 验证
    Ssh 本节点主机名,若无需输入密码可直接登录则设置成功

jdk安装

  1. 复制jdk文件(.tar.gz格式)到用户目录下
    在这里插入图片描述
  2. 在此目录下新建java目录,将安装包移动到该目录下解压
    Tar zxvf 压缩包名
    解压后为了方便后期操作,将解压后目录名重命名为jdk(使用mv改名)
    在这里插入图片描述
  3. 打开并编辑用户目录下的.\bashrc文件
    Vim ~/.bashrc
    在正文的后面添加以下内容(v+i切换到插入模式)
    Export JAVA_HOME=/home/ryan/java/jdk
    Export PATH= P A T H : PATH: JAVA_HOME/bin
    在这里插入图片描述
  4. 保存退出
    让该文件立即生效
    Source ~/.bashrc

hadoop的安装

  1. 首先将hadoop安装包复制到用户目录下,新建hadoop目录。将安装包移动到该目录下解压。
    将解压完成后的目录(hadoop-2.6.2)改名为hadoop(为了方便)

在这里插入图片描述
2.将hadoop根目录下的bin目录和sbin目录路径加入到PATH中
更改~/.bashrc文件如下
export JAVA_HOME=/home/ryan/java/jdk
export HADOOP_HOME=/home/ryan/hadoop/hadoop
export PATH= P A T H : PATH: JAVA_HOME/bin: H A D O O P H O M E / b i n : HADOOP_HOME/bin: HADOOP_HOME/sbin
改完后,执行source命令令其立即生效

在这里插入图片描述
3. 使用hadoop version验证是否成功

hadoop的配置

在$HADOOP_HOME/etc/hadoop/目录下需要配置以下文件

Hadoop-env.sh
export JAVA_HOME=/home/ryan/java/jdk

Yarn-env.sh
export JAVA_HOME=/home/ryan/java/jdk

Core-site.xml
在configuration标签中添加以下变量和值

fs.defaultFS
hdfs://node-1:9000


hadoop.tmp.dir
/home/ryan/hadoop/hadoop/tmp

Hdfs-site.xml
(如果不设置该参数,则默认值为3)
dfs.replication
2

(如果不设置该参数,则默认值为 h a d o o p . t m p . d i r / d f s / n a m e ) < n a m e > d f s . n a m e n o d e . n a m e . d i r < / n a m e > < v a l u e > / h o m e / r y a n / h a d o o p / h a d o o p / t m p / d f s / n a m e < / v a l u e > < / p r o p e r t y > < p r o p e r t y > ( hadoop.tmp.dir/dfs/name) <name>dfs.namenode.name.dir</name> <value>/home/ryan/hadoop/hadoop/tmp/dfs/name </value> </property> <property>(如果不设置该参数,则默认值为 hadoop.tmp.dir/dfs/data)
dfs.datanode.data.dir
/home/ryan/hadoop/hadoop/tmp/dfs/data

Mapred-site.xml

mapreduce.framework.name
yarn

在这里插入图片描述
Yarn-site.xml

yarn.resourcemanager.address
rmhostname:8032

在这里插入图片描述
Slaves
在此文件中写明所有从节点的节点名,一行一个(如果为伪分布式部署,则默认localhost即可,无需更改)

格式化并启动hadoop

根据运行日志定位问题点