Hadoop入门

Hadoop入门

  • 一、Hadoop的安装和配置
    • (一)Hadoop基础环境的配置
      • 1.0 前置操作:为我创建的普通用户获得root权限
      • 1.1基础网络环境
        • 1.1.1先配置网络连通
        • 1.1.2配置网络地址与主机名的对应关系(可选)
        • 1.1.3关闭防火墙
      • 1.2 ssh免密登陆
      • 1.3 JDK的安装
    • (二)Hadoop的安装
    • (三)Hadoop配置
      • 3.1文件配置
      • 3.2格式化并启动hadoop
      • 3.3根据运行日志定位问题点
    • (四)分布式安装

一、Hadoop的安装和配置

 

(一)Hadoop基础环境的配置

 

1.0 前置操作:为我创建的普通用户获得root权限

操作方法如下:

  • 切换到管理员用户,右上角log out,登录root用户,进入界面
  • 命令行打开:
	/etc/sudoers 
	chmod u+w /etc/sudoers
	vim /etc/sudoers

或者从图形界面打开/etc/sudoers

复制第98行:

	root	ALL=(ALL)	  ALL 

在第99行复制并更改用户名:

	user(自己的用户名)  ALL=(ALL)    ALL
  • 被认可的用户使用特权命令时,需要在特权命令前加上sudo
     

1.1基础网络环境

 

1.1.1先配置网络连通

在图形界面中,打开网络连接的有线设置->齿轮->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

最后,重启网络

	sudo service network restart 

1.1.2配置网络地址与主机名的对应关系(可选)

	sudo vim /etc/hostname

将此文件内容全部删除,更改为你的当前操作主机的主机名

Hadoop入门_第1张图片

	sudo vim /etc/hosts

在最后新建一行,添加以下内容
IP地址1 主机名1
IP地址2 主机名2
IP地址3 主机名3
Hadoop入门_第2张图片

1.1.3关闭防火墙

查看防火墙状态

	systemctl   status   firewalld.service

Hadoop入门_第3张图片这里开始默认是开启的,我已经给关掉了,具体操作如下:
关闭防火墙

	systemctl    stop   firewalld.service

查看服务开启启动项列表

	systemctl     list-unit-files

设置防火墙开机不自动启动

	systemctl    disable    firewalld.service

1.2 ssh免密登陆

首先生成公私钥

	ssh-keygen    -t     rsa

Hadoop入门_第4张图片打开用户目录下的.ssh目录

	Cd    .ssh

会发现两个文件:id_rsa 和 id_rsa.pub

	cp    id_rsa.pub   authorized_keys

将公钥文件拷贝成authorized_keys

最后可以验证一下有没有配置成功

	ssh 本机主机名

如果不需要输入密码可直接登录就说明设置成功
然后exit退出即可。

1.3 JDK的安装

1、首先复制jdk文件(.tar.gz格式)到用户目录下,在此目录下新建java目录。
Hadoop入门_第5张图片
2、将安装包移动到该目录下解压。

	tar     zxvf     压缩包名

Hadoop入门_第6张图片
3、解压后为了方便后期操作,将解压后目录名重命名为jdk(使用mv改名)
Hadoop入门_第7张图片
4、卸载已经安装好的JDK(可选项)
 ① 查询当前安装好的JDK包名

	rpm  -qa  | grep   jdk

Hadoop入门_第8张图片
② 卸载方法

	rpm   -e   包名   --nodeps(忽略依赖关系)

在这里插入图片描述
③ 使用java -version命令验证
在这里插入图片描述
④ 此时已经没有java的环境变量了,因为都卸载完了,下一步就是给自己安装好的JDK配置环境变量。

5、配置JDK的环境变量
① 打开并编辑用户目录下的.\bashrc文件

	vim   ~/.bashrc

② 在正文的后面添加以下内容

	export   JAVA_HOME=/home/ryan/java/jdk
	export    PATH=$PATH:$JAVA_HOME/bin

Hadoop入门_第9张图片

③ 保存退出,让该文件立即生效

	source   ~/.bashrc

在这里插入图片描述
现在环境变量配置好了,再输入java -version查看
如果显示版本号与安装版本号相同,则证明安装成功了
在这里插入图片描述

(二)Hadoop的安装

首先将hadoop安装包复制到用户目录下,新建hadoop目录。将安装包移动到该目录下解压。
在这里插入图片描述
将解压完成后的目录(hadoop-2.6.2)改名为hadoop(为了方便)
在这里插入图片描述
将hadoop根目录下的bin目录和sbin目录路径加入到PATH中,更改~/.bashrc文件如下

	export JAVA_HOME=/home/用户名/java/jdk
	export HADOOP_HOME=/home/用户名/hadoop/hadoop
	export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

Hadoop入门_第10张图片

(三)Hadoop配置

3.1文件配置

在$HADOOP_HOME/etc/hadoop/目录下,需要配置以下文件
Hadoop入门_第11张图片vim hadoop-env.sh

export   JAVA_HOME=/home/ryan/java/jdk

在这里插入图片描述

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

在这里插入图片描述

vim core-site.xml

在configuration标签中添加以下变量和值


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


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

Hadoop入门_第12张图片
vim hdfs-site.xml(可以不做配置)

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

(如果不设置该参数,则默认值为$hadoop.tmp.dir/dfs/name)
dfs.namenode.name.dir
/home/ryan/hadoop/hadoop/tmp/dfs/name 

(如果不设置该参数,则默认值为$hadoop.tmp.dir/dfs/data)
dfs.datanode.data.dir
 /home/ryan/hadoop/hadoop/tmp/dfs/data 
*

vim mapred-site.xml


mapreduce.framework.name
yarn

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


yarn.resourcemanager.address
rmhostname:8032 

Hadoop入门_第13张图片
我在写的时候写成了8033,导致了resourcemanager没有开起来,可以按照下面的排错方法进行检查。
Hadoop入门_第14张图片
vim slaves
在此文件中写明所有从节点的节点名,一行一个(如果为伪分布式部署,则默认localhost即可,无需更改,如果是真分布式再进行修改)
把里面的localhost删掉,写上,

node-2
node-3

3.2格式化并启动hadoop

Hadoop入门_第15张图片
Hadoop入门_第16张图片

3.3根据运行日志定位问题点

哪个守护进程异常了,就去看一看对应的日志,来排错
Hadoop入门_第17张图片

(四)分布式安装

先克隆两个节点,node-2和node-3
进入HADOOP_HOME中进行slaves文件的配置
Hadoop入门_第18张图片Hadoop入门_第19张图片
然后把node2和node3的主机名都分别改成node-2和node-3
Hadoop入门_第20张图片在这里插入图片描述

Hadoop入门_第21张图片

Hadoop入门_第22张图片重新生成公私钥
Hadoop入门_第23张图片别忘记更改IP地址
Hadoop入门_第24张图片把node-2和node-3的公钥都拷贝到node-1的/etc/home/.ssh下面
Hadoop入门_第25张图片Hadoop入门_第26张图片来到node-1
Hadoop入门_第27张图片
Hadoop入门_第28张图片把authorized_keys复制到node-2和node-3中,这样就实现了三者互相的ssh免密登录
Hadoop入门_第29张图片然后就可以开启全部服务
Hadoop入门_第30张图片在node-1主节点中用jps查看开启的服务
在这里插入图片描述
从节点node-2
在这里插入图片描述
从节点node-3
在这里插入图片描述
这样就完成了分布式的安装。

你可能感兴趣的:(大三课程)