Hadoop完全分布式安装步骤

Hadoop安装步骤

这是自己总结的hadoop安装步骤.(有问题欢迎留言)

1.Hadoop的类型介绍

Hadoop安装分为三种类型,
1,独立模式(standalone|local)
Nothing!
本地文件系统
不需要启动单独进程
2,pseudo(伪分布模式)
等同于完全分布式,只有一个节点
3,full distributed(完全分布式)

2 .安装hadoop

2.1安装jdk
前言:
先把系统的jdk清除
删除前记得先备份:
rm -f /usr/bin/java
rm -f /usr/bin/javac
rm -f /etc/alternatives/java
rm -f /etc/alternatives/javac
a)下载jdk-8u65-linux-x64.tar.gz上传到linux(centos7)上
b)tar开
$>su centos ; cd ~
$>mkdir downloads
$>cp /mnt/hdfs/downloads/bigdata/jdk-8u65-linux-x64.tar.gz ~/downlooads
$>tar -xzvf jdk-8u65-linux-x64.tar.gz
c)创建/soft文件夹
$>sudo mkdir /soft
$>sudo chown centos:centos /soft
d)移动tar开的文件夹到/soft下
$>mv ~/downloads/jdk-1.8.0_65 /soft/
e)创建符号连接
$>ln -s /soft/jdk-1.8.0_65 /soft/jdk
f)验证jdk安装是否成功
$>cd /soft/jdk/bin
$>./java -version
2.2centos配置环境变量
a)编辑/etc/profile
> s u d o n a n o / e t c / p r o f i l e . . . e x p o r t J A V A H O M E = / s o f t / j d k e x p o r t P A T H = >sudo nano /etc/profile ... export JAVA_HOME=/soft/jdk export PATH= >sudonano/etc/profile...exportJAVAHOME=/soft/jdkexportPATH=PATH:$JAVA_HOME/bin
b)使环境变量即刻生效
$>source /etc/profile
c)进入任意目录下,测试是否成功
$>cd ~
$>java -version
2.3安装hadoop
2.3.1安装hadoop
a)下载hadoop-2.7.3.tar.gz
b)tar开
$>su centos ; cd ~
$>cp /mnt/hdfs/downloads/bigdata/hadoop-2.7.3.tar.gz ~/downloads
$>tar -xzvf hadoop-2.7.3.tar.gz
c)移动tar开的文件到/soft下
$>mv ~/downloads/hadoop-2.7.3 /soft/
d)创建符号链接
$>ln -s /soft/hadoop-2.7.3 /soft/Hadoop
e)验证jdk安装是否成功
$>cd /soft/hadoop/bin
$>./hadoop version
2.3.2配置hadoop环境变量
> s u d o n a n o / e t c / p r o f i l e . . . e x p o r t J A V A H O M E = / s o f t / j d k e x p o r t P A T H = >sudo nano /etc/profile ... export JAVA_HOME=/soft/jdk export PATH= >sudonano/etc/profile...exportJAVAHOME=/soft/jdkexportPATH=PATH:$JAVA_HOME/bin

	export HADOOP_HOME=/soft/hadoop
	export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

文件生效 $>source /etc/profile
2.3.3配置hadoop
a.配置hadoop,使用符号链接的方式,让三种配置形态共存
创建三个配置目录,内容等同于hadoop目录
cp ${hadoop_home}/etc/hadoop ${hadoop_home}/etc/local
cp ${hadoop_home}/etc/hadoop ${hadoop_home}/etc/pseudo
cp ${hadoop_home}/etc/hadoop h a d o o p h o m e / e t c / f u l l b . 配 置 s t a n d a l o n e ( l o c a l ) 模 式 n o t h i n g ! 不 需 要 启 用 单 独 的 h a d o o p 进 程 c . P s e u d o d i s t r i b u t e d m o d e 伪 分 布 模 式 。 a ) 进 入 {hadoop_home}/etc/full b.配置standalone(local)模式 nothing! 不需要启用单独的hadoop进程 c.Pseudodistributed mode 伪分布模式。 a)进入 hadoophome/etc/fullb.standalone(local)nothing!hadoopc.Pseudodistributedmodea){HADOOP_HOME}/etc/hadoop目录
b)编辑core-site.xml
<?xml version="1.0"?>


fs.defaultFS
hdfs://localhost/


c)编辑hdfs-site.xml
<?xml version="1.0"?>


dfs.replication
1


d)编辑mapred-site.xml
注意:cp mapred-site.xml.template mapred-site.xml
<?xml version="1.0"?>


mapreduce.framework.name
yarn


e)编辑yarn-site.xml
<?xml version="1.0"?>


yarn.resourcemanager.hostname
localhost


yarn.nodemanager.aux-services
mapreduce_shuffle

	f)配置SSH
		1)检查是否安装了ssh相关软件包(openssh-server + openssh-clients + openssh)
			$yum list installed | grep ssh

		2)检查是否启动了sshd进程
			$>ps -Af | grep sshd
		
		3)在client侧生成公私秘钥对。
			$>ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
		
		4)生成~/.ssh文件夹,里面有id_rsa(私钥) + id_rsa.pub(公钥)

		5)追加公钥到~/.ssh/authorized_keys文件中(文件名、位置固定)
			$>cd ~/.ssh
			$>cat id_rsa.pub >> authorized_keys
		
		6)修改authorized_keys的权限为644.
			$>chmod 644 authorized_keys
		
		7)测试
			$>ssh localhost

让命令行提示符显示完整路径
1.编辑profile文件,添加环境变量PS1
[/etc/profile]
export PS1=’[\u@\h pwd]$’

2.source	
	$>source /etc/profile

创建符号链接
$>ln -s
对hdfs进行格式化
> h a d o o p n a m e n o d e − f o r m a t 修 改 h a d o o p 配 置 文 件 , 手 动 指 定 J A V A H O M E 环 境 变 量 [ >hadoop namenode -format 修改hadoop配置文件,手动指定JAVA_HOME环境变量 [ >hadoopnamenodeformathadoopJAVAHOME[{hadoop_home}/etc/hadoop/hadoop-env.sh]

export JAVA_HOME=/soft/jdk

启动hadoop的所有进程
$>start-all.sh
启动完成后,出现以下进程
$>jps
33702 NameNode
33792 DataNode
33954 SecondaryNameNode

		29041 ResourceManager
		34191 NodeManager

查看hdfs文件系统
$>hdfs dfs -ls /
创建目录
$>hdfs dfs -mkdir -p /user/centos/Hadoop
通过webui查看hadoop的文件系统
http://localhost:50070/
停止hadoop所有进程
$>stop-all.sh
centos防火墙操作
[cnetos 6.5之前的版本]
$>sudo service firewalld stop //停止服务
$>sudo service firewalld start //启动服务
$>sudo service firewalld status //查看状态

	[centos7]
	$>sudo systemctl enable firewalld.service	//"开机启动"启用
	$>sudo systemctl disable firewalld.service	//"开机自启"禁用
	$>sudo systemctl start firewalld.service	//启动防火墙
	$>sudo systemctl stop firewalld.service		//停止防火墙
	$>sudo systemctl status firewalld.service	//查看防火墙状态

	[开机自启]
	$>sudo chkconfig firewalld	on				//"开启自启"启用
	$>sudo chkconfig firewalld	off				//"开启自启"禁用

hadoop的端口

50070		//namenode http port
50075		//datanode http port
50090		//2namenode	http port

8020		//namenode rpc port
50010		//datanode rpc port

hadoop四大模块

common
hdfs		//namenode + datanode + secondarynamenode

mapred
yarn		//resourcemanager + nodemanager

启动脚本

1.start-all.sh		//启动所有进程
2.stop-all.sh		//停止所有进程

3.start-dfs.sh		//
4.start-yarn.sh

[hdfs]  start-dfs.sh stop-dfs.sh
	NN
	DN
	2NN

[yarn] start-yarn.sh stop-yarn.sh
	RM
	NM

d.完全分布式
1.克隆3台client(centos7)
右键centos-7–>管理->克隆-> … -> 完整克隆
2.启动client
3.启用客户机共享文件夹。
4.修改hostname和ip地址文件
[/etc/hostname]
s202

	[/etc/sysconfig/network-scripts/ifcfg-ethxxxx]
	...
    BOOTPROTO=none或者

BOOTPROTO=“static”
IPADDR=…
[/etc/hosts]
127.0.0.1 localhost
192.168.231.201 s201
192.168.231.202 s202
192.168.231.203 s203
192.168.231.204 s204
5.重启网络服务
$>sudo service network restart

6.修改/etc/resolv.conf文件
	nameserver 192.168.231.2
配置完重启linux,hostname才生效
7.重复以上3 ~ 6过程.

准备完全分布式主机的ssh

  1. 删除所有主机上的/home/centos/.ssh/*

  2. 在s201主机上生成密钥对
    $>ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa
    3.将s201的公钥文件id_rsa.pub远程复制到202 ~ 204主机上。
    并放置/home/centos/.ssh/authorized_keys
    $>scp id_rsa.pub centos@s201:/home/centos/.ssh/authorized_keys
    $>scp id_rsa.pub centos@s202:/home/centos/.ssh/authorized_keys
    $>scp id_rsa.pub centos@s203:/home/centos/.ssh/authorized_keys
    > s c p i d r s a . p u b c e n t o s @ s 204 : / h o m e / c e n t o s / . s s h / a u t h o r i z e d k e y s 4. 配 置 完 全 分 布 式 ( >scp id_rsa.pub centos@s204:/home/centos/.ssh/authorized_keys 4.配置完全分布式( >scpidrsa.pubcentos@s204:/home/centos/.ssh/authorizedkeys4.({hadoop_home}/etc/hadoop/)
    [core-site.xml]
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>


    fs.defaultFS
    hdfs://s201/

    [hdfs-site.xml]
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
    		<property>
    				<name>dfs.replication</name>
    				<value>3</value>
    		</property>
    </configuration>
    
    [mapred-site.xml]
    	注意:cp mapred-site.xml.template mapred-site.xml
    	<?xml version="1.0"?>
    	<configuration>
    		<property>
    			<name>mapreduce.framework.name</name>
    			<value>yarn</value>
    		</property>
    	</configuration>
    
    [yarn-site.xml]
    <?xml version="1.0"?>
    <configuration>
    		<property>
    				<name>yarn.resourcemanager.hostname</name>
    				<value>s201</value>
    		</property>
    		<property>
    				<name>yarn.nodemanager.aux-services</name>
    				<value>mapreduce_shuffle</value>
    		</property>
    </configuration>
    
    [slaves]
    s202
    s203
    s204
    
    [hadoop-env.sh]
    ...
    export JAVA_HOME=/soft/jdk
    ...
    

5.分发配置
$>cd /soft/hadoop/etc/
$>scp -r full centos@s202:/soft/hadoop/etc/
$>scp -r full centos@s203:/soft/hadoop/etc/
$>scp -r full centos@s204:/soft/hadoop/etc/

6.删除符号连接
	$>cd /soft/hadoop/etc
	$>rm hadoop
	$>ssh s202 rm /soft/hadoop/etc/hadoop
	$>ssh s203 rm /soft/hadoop/etc/hadoop
	$>ssh s204 rm /soft/hadoop/etc/hadoop

7.创建符号连接
	$>cd /soft/hadoop/etc/
	$>ln -s full hadoop
	$>ssh s202 ln -s /soft/hadoop/etc/full /soft/hadoop/etc/hadoop
	$>ssh s203 ln -s /soft/hadoop/etc/full /soft/hadoop/etc/hadoop
	$>ssh s204 ln -s /soft/hadoop/etc/full /soft/hadoop/etc/hadoop

8.删除临时目录文件
	$>cd /tmp
	$>rm -rf hadoop-centos
	$>ssh s202 rm -rf /tmp/hadoop-centos
	$>ssh s203 rm -rf /tmp/hadoop-centos
	$>ssh s204 rm -rf /tmp/hadoop-centos

9.删除hadoop日志
	$>cd /soft/hadoop/logs
	$>rm -rf *
	$>ssh s202 rm -rf /soft/hadoop/logs/*
	$>ssh s203 rm -rf /soft/hadoop/logs/*
	$>ssh s204 rm -rf /soft/hadoop/logs/*
10.格式化文件系统
	$>hadoop namenode -format

11.启动hadoop进程
	$>start-all.sh

使用jps查看进程前,先把jdk下的jps连到/usr/local/bin/下
Ln -s /soft/jdk/jps /usr/local/bin/jps
Hadoop的使用
启动和停止单节点
启动和停止名称节点:
Hadoop-daemon.sh start/stop namenode
启动和停止辅助名称节点
Hadoop-daemon.sh start/stop secondarynamenode
启动和停止数据节点
Hadoop-daemons.sh start/stop dataname

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值