hadoop完全分布式搭建

Hadoop完全分布式搭建部署

先创建三台虚拟机
分别改主机名
第一台 master
第二台 slave1
第三台 slave2
三台机子要时间同步

如何查看当前主机名

hostname  centos6/7  想同

如何临时修改主机名

hostname  主机名    centos6/7 相同 

如何永久修改主机名

vim /etc/hostname        centos7重启生效

如何临时+永久修改主机名

hostname set-hostname 主机名   centos7

分别给三台机器 完成映射

vi /etc/hosts

分别给三台机器 关闭防火墙

如何查看当前防火墙是否运行

	systemctl status firewall

中间的常用命令
start 开启
stop 停止
restart 重启
reload 加载
status 状态

systemctl status firewalld		# 查看防火墙运行状态

如何临时关闭防火墙

systemctl stop firewalld

分别给三台机器 关闭selinux

如何查看当前selinux是否开启

getenforce

如何临时关闭selinux

setenforce 0

永久关闭selinux 需要重启
/etc/selinux/conf
enforcing # 开启状态 运行中
permissive # 关闭状态但是会提示警告信息
disabled # 完全关闭状态
SELINUX=disabled

设置免密登入

一路回车下去 出现下面这个说明成功
+---[RSA 2048]----+
|      . =.ooo.   |
|     . * = oo.   |
|    + * = oo.    |
|  o  B E +  o    |
| o .  = S. .     |
|.   .= .+..      |
|o   o.+o o       |
| o .  +=o..      |
|  .  o+*=.       |
+----[SHA256]-----+

[root@master ~]# cd .ssh/
[root@master .ssh]# ls
id_rsa 私钥 id_rsa.pub公钥
出现上面的说明有公钥 私钥

ssh-copy-id localhost (给主机一个钥匙)
ssh-copy-id slave1 (给slave1一个钥匙)
ssh-copy-id slave2 (给slave2一个钥匙)

验证是否免密成功
ssh slave1(验证机器的IP地址)
ssh slave2 (验证机器的IP地址)
因为我配置了host所以直接使用主机名

上传jdk和Hadoop包
使用xshell 或者其他工具将jdk 和Hadoop jar包导入master节点

在cd /usr/local/目录在面使用命令创建Hadoop 和java 两个目录

mkdir Hadoop  

mkdir java

解压jar包到Hadoop 和java里

tar -zxvf hadoop-2.6.5.tar.gz 

tar -zxvf jdk-7u67-linux-x64.tar.gz 

给java 和Hadoop配置环境变量
vim /etc/profile

在配置文件填写如下内容

export JAVA_HOME=/usr/local/java/jdk1.7.0_67 (此处为绝对路径 cd java下的jdk)
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.6.5 (此处为绝对路径 cd hadoop)
export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin:$HADOOP_HOME/sbin

生效配置文件

source /etc/profile

分别输入java和hadoop检测配置是否生效

配置Hadoop(配置jdk)

首先local下进入 cd hadoop/hadoop-2.6.5/etc/hadoop/

配置一下内容

vim hadoop-env.sh

把java_home= 后边改成/usr/local/java/jdk1.7.0_67(java里面jdk的路径)

vi core-site.xml

<!-- 这个属性用来指定namedo的HDFS协议的文件系统通信地址 --> 
<property>
	<name>fs.defaultFS</name>
	<value>hdfs://master:9000</value> 
</property>

<!-- 指定hadoop临时目录 运⾏时产生⽂件的存放⽬目录 --> 
/**tmp提前创建好**/

<property>
	<name>hadoop.tmp.dir</name> 
	<value>/usr/local/usr/local/hadoop/hadoop-2.6.5/tmp</value>
</property> 

vi hdfs-site.xml

<!--namenode数据的存放地址 也就是namenode元数据存放的地方>

<property>
	<name>dfs.namenode.name.dir</name> 
	<value>/usr/local/hadoop/hadoop-2.6.5/hdfs/name</value> 
</property>

<!--datanode数据的存放地址 也就是block存放的地方>(在Hadoop目录里创建一个hdfs  在hdfs里面创建一个name 一个data)

<property>
	<name>dfs.datanode.data.dir</name> 
	<value>/usr/local/hadoop/hadoop-2.6.5/hdfs/data</value> 
</property>

vi mapred-site.xml
cp mapred-site.xml.template mapred-site.xml (cp 这步可操作 也可以不操作)

<!--通知框架MR使用YARN>
<property>
	<name>mapreduce.framework.name</name> 
	<value>yarn</value>
</property> 

vi yarn-site.xml

<!—资源调度—>
<property>  
	<name>yarn.nodemanager.aux-services</name> 
	<value>mapreduce_shuffle</value> 
</property> 

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
</property>

<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>

<property>
	<name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>

伪分布式搭建完成 验证结果
Start-hdfs.sh
start-yarn.sh
登入master网址(50700 和 08088)
关闭所有stop-all.sh

vim slaves

配置slave奴隶节点
slave1
slave2 

把master节点所有的Hadoop和java包拷贝到slave1 和slave节点
在/usr/local下执行下面命令

scp -r  hadoop/hadoop-2.6.5/ slave1:/usr/local/hadoop
scp -r  hadoop/hadoop-2.6.5/ slave2:/usr/local/hadoop
scp -r  java/jdk1.7.0_67/ slave1:/usr/local/java
scp -r  java/jdk1.7.0_67/ slave2:/usr/local/java

拷贝配置文件到slave1 和slave2 节点上

scp  /etc/profile slave1:/etc/
scp  /etc/profile slave2:/etc

生效配置

source /etc/profile

启动所有服务

start-dfs.sh start-yarn.sh
六、检验⽅方法:
1、最后jps看一下 每个进程
2、主机点的ip加50070 例如:192.168.xxx.xxx:50070 (在⾕谷歌浏览器器打开)

补:
需要格式化namenode
hadoop namenode -format

执行start-dfs.sh
Jps后会出现
DataNode NameNode SecondaryNameNode
补:执行start-yarn.sh
NodeManager ResourceManager
启动所有start-all.sh
关闭所有stop-all.sh

hadoop namenode -format 只能执行一次

所有配置完成后在格式化 启动服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值