前面安装好三节点的centos 6.5 和配置好静态ip,这里就不多说了

 

创建kfk用户,然后重启

centos浏览器火狐上不了_hdfs

 

Last login: Fri Jan  5 04:33:49 2018 from 192.168.86.1
[spark@spark1 ~]$ su
Password: 
[root@spark1 spark]# adduser kfk
[root@spark1 spark]# passwd kfk
Changing password for user kfk.
New password: 
BAD PASSWORD: it is WAY too short
BAD PASSWORD: is a palindrome
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@spark1 spark]# reboot

Broadcast message from spark@spark1
    (/dev/pts/2) at 5:52 ...

The system is going down for reboot NOW!

 

 

设置主机名

centos浏览器火狐上不了_centos浏览器火狐上不了_02

centos浏览器火狐上不了_centos浏览器火狐上不了_03

 

 

接下来是主机名与ip地址的映射

centos浏览器火狐上不了_hdfs_04

centos浏览器火狐上不了_centos浏览器火狐上不了_05

配置完了重启

centos浏览器火狐上不了_zookeeper_06

 

重启后可以看到我们的主机名改变了

centos浏览器火狐上不了_centos浏览器火狐上不了_07

 

 

接下来在windows下的映射

找到这个路径下的hosts文件,用记事本编辑

centos浏览器火狐上不了_hdfs_08

 

在后面加上

 

centos浏览器火狐上不了_centos浏览器火狐上不了_09

 

通过软件

centos浏览器火狐上不了_hdfs_10

实现远程连接,当然也可以用Xshell

进来之后需要设置一下,当然这个软件需要破解的,不能直接使用,怎么破解的这里就不多说了,百度上有教程,下载一个注册机按照教程来就好了

centos浏览器火狐上不了_spark_11

centos浏览器火狐上不了_hdfs_12

 

 

centos浏览器火狐上不了_zookeeper_13

 

 

centos浏览器火狐上不了_zookeeper_14

 

 下面设置root用户切换不需要密码

centos浏览器火狐上不了_spark_15

加这么一句话

centos浏览器火狐上不了_zookeeper_16

 

在编辑sudoers文件的时候大家会遇到不能编辑的问题,那是因为sudoers文件的权限是不够的原因,那就先通过chmod 777 sudoers修改权限,等编辑完了之后就chmod 440 sudoers把权限改回来

centos浏览器火狐上不了_hdfs_17

查看到防火墙是开启的,我们现行把防火墙关了

centos浏览器火狐上不了_spark_18

虽然这样能关闭了防火墙。但是我们这里还是要配置一下

centos浏览器火狐上不了_spark_19

 

把这里修改了

centos浏览器火狐上不了_hdfs_20

 

改成这样的,然后保存退出

centos浏览器火狐上不了_zookeeper_21

 

 

下一步就是卸载自带的jdk

 

centos浏览器火狐上不了_spark_22

具体步骤就是先查看jdk信息然后把这几个都卸载了

[kfk@bigdata-pro01 etc]$ sudo rpm -qa|grep java
java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
tzdata-java-2013g-1.el6.noarch
[kfk@bigdata-pro01 etc]$ sudo rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64 tzdata-java-2013g-1.el6.noarch

 

centos浏览器火狐上不了_spark_23

 

 

创建目录

centos浏览器火狐上不了_spark_24

[kfk@bigdata-pro01 ~]$ sudo mkdir /opt/softwares
[kfk@bigdata-pro01 ~]$ sudo mkdir /opt/modules
[kfk@bigdata-pro01 ~]$ sudo mkdir /opt/tools
[kfk@bigdata-pro01 ~]$ sudo mkdir /opt/datas
[kfk@bigdata-pro01 ~]$ cd /opt/
[kfk@bigdata-pro01 opt]$ ll
total 20
drwxr-xr-x  2 root root 4096 Jan  5 17:30 datas
drwxr-xr-x  2 root root 4096 Jan  5 17:30 modules
drwxr-xr-x. 2 root root 4096 Nov 22  2013 rh
drwxr-xr-x  2 root root 4096 Jan  5 17:25 softwares
drwxr-xr-x  2 root root 4096 Jan  5 17:30 tools
[kfk@bigdata-pro01 opt]$ sudo rm -rh rh
rm: invalid option -- 'h'
Try `rm --help' for more information.
[kfk@bigdata-pro01 opt]$ sudo rm -rf rh
[kfk@bigdata-pro01 opt]$ ll
total 16
drwxr-xr-x 2 root root 4096 Jan  5 17:30 datas
drwxr-xr-x 2 root root 4096 Jan  5 17:30 modules
drwxr-xr-x 2 root root 4096 Jan  5 17:25 softwares
drwxr-xr-x 2 root root 4096 Jan  5 17:30 tools
[kfk@bigdata-pro01 opt]$

 

 

把目录改成kfk用户下的目录

centos浏览器火狐上不了_zookeeper_25

 

 

安装jdk1.7版本

 

centos浏览器火狐上不了_zookeeper_26

上传安装包(这里我切换回远程连接xshell工具)

centos浏览器火狐上不了_centos浏览器火狐上不了_27

centos浏览器火狐上不了_centos浏览器火狐上不了_28

改成可执行的权限

centos浏览器火狐上不了_hdfs_29

解压

centos浏览器火狐上不了_spark_30

 

 配置jdk环境变量

centos浏览器火狐上不了_hdfs_31

 

centos浏览器火狐上不了_spark_32

#java
export JAVA_HOME=/opt/modules/jdk1.7.0_79
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

 

 使环境变量生效

centos浏览器火狐上不了_spark_33

 

 到这里为止,从复上面的操作,我同时配置另外两台机子主机名分别是bigdata-pro02.kfk.com     bigdata-pro03.kfk.com

 需要注意的是主机名映射的地方配置(三个节点都这样配置),在windows的hosts文件映射也是一样的,这里就不做赘述

centos浏览器火狐上不了_spark_34

centos浏览器火狐上不了_spark_35

 

 

 

 hadoop 分布式集群部署

先上传hadoop安装包


centos浏览器火狐上不了_hdfs_36

 

    解压

centos浏览器火狐上不了_hdfs_37

 

把一些没有用的文件删除掉

 

centos浏览器火狐上不了_zookeeper_38

把.cmd结尾的文件删除掉,因为这个是windows的才用到的文件

centos浏览器火狐上不了_zookeeper_39

 

 接下来我们配置文件,我们这里使用notepad++来远程连接配置文件

首先要下载一个插件,把这个插件放到对应notepad++的plugins目录下

centos浏览器火狐上不了_spark_40

 

 你会发现多了这么一项

centos浏览器火狐上不了_hdfs_41

centos浏览器火狐上不了_spark_42

 

 

centos浏览器火狐上不了_centos浏览器火狐上不了_43

连接成功!

centos浏览器火狐上不了_spark_44

 

 

centos浏览器火狐上不了_centos浏览器火狐上不了_45

centos浏览器火狐上不了_centos浏览器火狐上不了_46

 

 首先我们需要配置的是这个文件

centos浏览器火狐上不了_spark_47

 

 

centos浏览器火狐上不了_hdfs_48

 

centos浏览器火狐上不了_centos浏览器火狐上不了_49

 

 

centos浏览器火狐上不了_hdfs_50

 

centos浏览器火狐上不了_hdfs_51

 

centos浏览器火狐上不了_spark_52

 

 

centos浏览器火狐上不了_centos浏览器火狐上不了_53

 

 

centos浏览器火狐上不了_zookeeper_54

 

centos浏览器火狐上不了_spark_55

 

 

centos浏览器火狐上不了_zookeeper_56

 

 配置完之后先格式化一下

centos浏览器火狐上不了_hdfs_57

 

 

centos浏览器火狐上不了_zookeeper_58

分别启动一下这个节点的namenode  datanode

centos浏览器火狐上不了_zookeeper_59

 

 在浏览器上跑一下打开测试页面,我这里是在linux里面的火狐浏览器跑的,因为在windows下的浏览器打不开,我估计是我这边网络的原因

centos浏览器火狐上不了_centos浏览器火狐上不了_60

centos浏览器火狐上不了_hdfs_61

 

 

现在把安装好的hadoop分发到另外两个节点上

centos浏览器火狐上不了_zookeeper_62

 

 

centos浏览器火狐上不了_centos浏览器火狐上不了_63

 

 

在hdfs上创建目录

centos浏览器火狐上不了_spark_64

 

 上传一个文件到hdfs上面去

centos浏览器火狐上不了_hdfs_65

centos浏览器火狐上不了_zookeeper_66

可以看到能上传

 

 下面继续配置

centos浏览器火狐上不了_centos浏览器火狐上不了_67

这里吧文件名改了

centos浏览器火狐上不了_zookeeper_68

centos浏览器火狐上不了_zookeeper_69

 

 

 

 

centos浏览器火狐上不了_hdfs_70

 

 把配置好的文件分发到另外两个节点

centos浏览器火狐上不了_centos浏览器火狐上不了_71

centos浏览器火狐上不了_zookeeper_72

 

 

 

下面我们来做一个数据文件

centos浏览器火狐上不了_zookeeper_73

自己随意敲一些单词进去

centos浏览器火狐上不了_zookeeper_74

 

把这个数据文件上传到hdfs上去

centos浏览器火狐上不了_spark_75

centos浏览器火狐上不了_spark_76

 

分别启动resourcemanager   nodemanager

centos浏览器火狐上不了_hdfs_77

centos浏览器火狐上不了_hdfs_78

centos浏览器火狐上不了_zookeeper_79

 

centos浏览器火狐上不了_hdfs_80

这个时候可以发现多了一个tmp目录,但是不能访问

centos浏览器火狐上不了_centos浏览器火狐上不了_81

 

修改一下配置文件

centos浏览器火狐上不了_spark_82

 

centos浏览器火狐上不了_zookeeper_83

centos浏览器火狐上不了_hdfs_84

centos浏览器火狐上不了_centos浏览器火狐上不了_85

 

 因为在第一个节点对配置文件修改比较多,现在打算把他分发到另外两个节点上,所以先把另外两个节点的hadoop安装文件删除掉

 

删除

centos浏览器火狐上不了_centos浏览器火狐上不了_86

 

 

centos浏览器火狐上不了_spark_87

 

分发

centos浏览器火狐上不了_spark_88

centos浏览器火狐上不了_zookeeper_89

 

先把启动的服务停掉

centos浏览器火狐上不了_zookeeper_90

 

 再次格式化namenode

centos浏览器火狐上不了_zookeeper_91

 

centos浏览器火狐上不了_spark_92

 

 分别启动各个进程

centos浏览器火狐上不了_spark_93

centos浏览器火狐上不了_spark_94

centos浏览器火狐上不了_hdfs_95

 

 因为刚刚重新格式化了namenode,所以hdfs上的目录和文件就没有了

centos浏览器火狐上不了_spark_96

 

现在我们重新创建一下

centos浏览器火狐上不了_hdfs_97

 

 

centos浏览器火狐上不了_zookeeper_98

centos浏览器火狐上不了_spark_99

 

centos浏览器火狐上不了_zookeeper_100

 

 

centos浏览器火狐上不了_zookeeper_101

 

 

centos浏览器火狐上不了_spark_102

 

 

centos浏览器火狐上不了_hdfs_103

centos浏览器火狐上不了_hdfs_104

 

 

centos浏览器火狐上不了_zookeeper_105

 

在hdfs上创建一个输出路径

centos浏览器火狐上不了_centos浏览器火狐上不了_106

 

 

centos浏览器火狐上不了_spark_107

 

 

下面我们来运行一下mapreduce

centos浏览器火狐上不了_zookeeper_108

可以看到报错了,因为输出目录已经存在了。我们可以给一个不存在的输出目录给他

centos浏览器火狐上不了_centos浏览器火狐上不了_109

centos浏览器火狐上不了_zookeeper_110

可以看到运行成功了!

centos浏览器火狐上不了_spark_111

 

我们查看一下结果

centos浏览器火狐上不了_centos浏览器火狐上不了_112

 

 

 

 

 

zookeeper分布式集群的部署

先把安装包上传


centos浏览器火狐上不了_centos浏览器火狐上不了_113

 

 上传完成后我们修改一下他的权限

centos浏览器火狐上不了_zookeeper_114

 

解压

centos浏览器火狐上不了_hdfs_115

centos浏览器火狐上不了_zookeeper_116

 

我们可以看看zookeeper的目录结构

centos浏览器火狐上不了_centos浏览器火狐上不了_117

 

 把没有用的东西干掉

centos浏览器火狐上不了_hdfs_118

 

下面来配置zookeeper

把这个文件的名字改一下

centos浏览器火狐上不了_zookeeper_119

 

修改后

centos浏览器火狐上不了_spark_120

 

centos浏览器火狐上不了_spark_121

 

 创建一个目录zkData

centos浏览器火狐上不了_spark_122

 

修改配置文件

centos浏览器火狐上不了_centos浏览器火狐上不了_123

centos浏览器火狐上不了_spark_124

 

centos浏览器火狐上不了_centos浏览器火狐上不了_125

centos浏览器火狐上不了_hdfs_126

现在我们对zookeeper的配置就完成了,接下来就是分发给另外两台机器。

centos浏览器火狐上不了_centos浏览器火狐上不了_127

centos浏览器火狐上不了_zookeeper_128

 

 分发完了之后分别进入 第二个节点和第三个节点的/opt/modules/zookeeper-3.4.5-cdh5.10.0/zkData下分别把myid改成2和3         !!!!

 

下面我们来启动zookeeper服务

centos浏览器火狐上不了_zookeeper_129

 

启动完之后我们就可以通过客户端来连接我们的服务了

centos浏览器火狐上不了_zookeeper_130

centos浏览器火狐上不了_hdfs_131

从结果看没连接上

显然这里是要把3台机器的zookeeper启动了才行,当然这个是必须的,但是结果我的还是不行

查看状态

centos浏览器火狐上不了_spark_132

查看zookeeper.out日志

centos浏览器火狐上不了_hdfs_133

 

 经过一段时间的折腾,和从天而降的一个高速相助,我发现我的防火墙没有关闭

centos浏览器火狐上不了_zookeeper_134

 

啊啊 啊啊啊啊啊啊啊!!!!!!!!!!,居然犯这样的错误

好,废话不多,马上关闭防火墙

centos浏览器火狐上不了_hdfs_135

 

centos浏览器火狐上不了_zookeeper_136

 

centos浏览器火狐上不了_centos浏览器火狐上不了_137

 

居然成功了

centos浏览器火狐上不了_centos浏览器火狐上不了_138

centos浏览器火狐上不了_centos浏览器火狐上不了_139

成功了,感谢党!!!!

 

centos浏览器火狐上不了_centos浏览器火狐上不了_140

 

 现在查看谁是“老大”

centos浏览器火狐上不了_centos浏览器火狐上不了_141

centos浏览器火狐上不了_spark_142

centos浏览器火狐上不了_spark_143

 

可以看出来第三台机器是老大!!

 

 

 

 

                       Hadoop  HA的搭建


centos浏览器火狐上不了_centos浏览器火狐上不了_144

centos浏览器火狐上不了_centos浏览器火狐上不了_145

 

centos浏览器火狐上不了_hdfs_146

 

先把原来的配置文件和临时目录备份一下

centos浏览器火狐上不了_hdfs_147

 

 进到这里来

centos浏览器火狐上不了_spark_148

 

添加以下内容

centos浏览器火狐上不了_centos浏览器火狐上不了_149

 

centos浏览器火狐上不了_spark_150

 

 创建目录

centos浏览器火狐上不了_hdfs_151

 

centos浏览器火狐上不了_hdfs_152

 

 

centos浏览器火狐上不了_zookeeper_153

 

 

centos浏览器火狐上不了_hdfs_154

 

 

修改core-site.xml

centos浏览器火狐上不了_hdfs_155

 

 

在第二个节点上

centos浏览器火狐上不了_spark_156

centos浏览器火狐上不了_spark_157

 

在第三个节点上也是一样的操作

centos浏览器火狐上不了_hdfs_158

 

centos浏览器火狐上不了_centos浏览器火狐上不了_159

 

 

把第一节点的配置文件分别分发到其他两个节点

centos浏览器火狐上不了_centos浏览器火狐上不了_160

centos浏览器火狐上不了_hdfs_161

 

 

 给3个节点分别启动journalnode

centos浏览器火狐上不了_hdfs_162

centos浏览器火狐上不了_spark_163

 

centos浏览器火狐上不了_centos浏览器火狐上不了_164

 

接下来在节点1上对namenode格式化

centos浏览器火狐上不了_spark_165

centos浏览器火狐上不了_hdfs_166

 

启动namenode

centos浏览器火狐上不了_hdfs_167

 

在nn2上同步nn1的元数据信息

 

centos浏览器火狐上不了_centos浏览器火狐上不了_168

centos浏览器火狐上不了_hdfs_169

 

 

把节点2的namenode启动一下

centos浏览器火狐上不了_centos浏览器火狐上不了_170

 

 

打开测试页面看看

centos浏览器火狐上不了_hdfs_171

 

centos浏览器火狐上不了_hdfs_172

 

 

我们可以发现两个都是standby状态,是因为我们还没有设置哪个是active状态

现在我们将nn1设置为active状态

centos浏览器火狐上不了_zookeeper_173

 

centos浏览器火狐上不了_spark_174

 

 

下面把namenode datanode都启动了

先把进程停止

centos浏览器火狐上不了_spark_175

 

 再启动

centos浏览器火狐上不了_hdfs_176

centos浏览器火狐上不了_hdfs_177

centos浏览器火狐上不了_spark_178

 

 

 可以看到每次启动都需要我们手动去设置active状态

centos浏览器火狐上不了_hdfs_179

 

下一步要在hdfs上创建目录,那我们就先把nn1设置成active状态

centos浏览器火狐上不了_centos浏览器火狐上不了_180

centos浏览器火狐上不了_zookeeper_181

 

在hdfs上创建目录并且把本地文件上传

centos浏览器火狐上不了_hdfs_182

 

 

centos浏览器火狐上不了_zookeeper_183

 

查看hdfs上的文件

centos浏览器火狐上不了_spark_184

 

 

centos浏览器火狐上不了_hdfs_185

 

现在把节点1的namenode 进程杀掉

centos浏览器火狐上不了_spark_186

 

 把nn2改成active状态

 

centos浏览器火狐上不了_spark_187

我们可以看到没有成功。

 

 

 

centos浏览器火狐上不了_centos浏览器火狐上不了_188

centos浏览器火狐上不了_hdfs_189

现在成功了!!

 

在节点1上能读取hdfs上的文件,说明这个HA配置成功!

centos浏览器火狐上不了_zookeeper_190

centos浏览器火狐上不了_hdfs_191

 

 在配置文件添加以下内容(其实这里添加的配置内容有错误的,下面会讲到)

centos浏览器火狐上不了_centos浏览器火狐上不了_192

 

 

centos浏览器火狐上不了_centos浏览器火狐上不了_193

 

把进程都停下来

 

centos浏览器火狐上不了_hdfs_194

 

同时把zookeeper也停下来

centos浏览器火狐上不了_hdfs_195

 

centos浏览器火狐上不了_spark_196

centos浏览器火狐上不了_zookeeper_197

 

现在所有进程都停止了,下面安装步骤分别启动进程。

先分别启动三台机器的zookeeper

 

centos浏览器火狐上不了_centos浏览器火狐上不了_198

centos浏览器火狐上不了_hdfs_199

 

centos浏览器火狐上不了_zookeeper_200

 

初始化HA在zookeeper中的状态

centos浏览器火狐上不了_spark_201

 

 

centos浏览器火狐上不了_zookeeper_202

 

 可以看到报错了!!,是之前的配置文件没有配好,正确的是这样的

centos浏览器火狐上不了_zookeeper_203

 

 修改后,再来一次

centos浏览器火狐上不了_hdfs_204

 

 

centos浏览器火狐上不了_zookeeper_205

可以看到成功了!

 

启动HDFS服务

centos浏览器火狐上不了_hdfs_206

 

 

centos浏览器火狐上不了_hdfs_207

centos浏览器火狐上不了_centos浏览器火狐上不了_208

 

 

上传文件到hdfs上

centos浏览器火狐上不了_spark_209

 

centos浏览器火狐上不了_zookeeper_210

 

 

这个时候我们把节点1的namenode停掉

centos浏览器火狐上不了_zookeeper_211

 

 看看能不能读取hdfs上的文件,结果报错了

centos浏览器火狐上不了_spark_212

 

 发现在节点2的zkfc进程没有启动

centos浏览器火狐上不了_zookeeper_213

 

查看日志

centos浏览器火狐上不了_hdfs_214

原因是我们在节点1上配置了hdfs-site.xml没有同步到其他节点去。

现在我们把他分发到节点2去

centos浏览器火狐上不了_spark_215

 

在节点2再次启动zkfc,可以看到启动成功了

centos浏览器火狐上不了_spark_216

 

现在我们重新来把所有进程重启一下,先停掉所有进程

centos浏览器火狐上不了_zookeeper_217

centos浏览器火狐上不了_hdfs_218

centos浏览器火狐上不了_centos浏览器火狐上不了_219

 

 

先启动zookeeper

centos浏览器火狐上不了_zookeeper_220

centos浏览器火狐上不了_zookeeper_221

centos浏览器火狐上不了_centos浏览器火狐上不了_222

 

 

把zkfc重新格式化一次

 

centos浏览器火狐上不了_hdfs_223

 

输入Y 

centos浏览器火狐上不了_zookeeper_224

 

启动hdfs的所以服务

centos浏览器火狐上不了_centos浏览器火狐上不了_225

 

启动zkfc

centos浏览器火狐上不了_hdfs_226

centos浏览器火狐上不了_zookeeper_227

centos浏览器火狐上不了_spark_228

centos浏览器火狐上不了_spark_229

 

 

 

因为节点1是active状态,所以我们就把他的namenode进程干掉

centos浏览器火狐上不了_zookeeper_230

 

这个时候节点2变成active状态

centos浏览器火狐上不了_hdfs_231

 

centos浏览器火狐上不了_zookeeper_232

 

 

centos浏览器火狐上不了_centos浏览器火狐上不了_233

现在我们完成了基于zookeeper的故障转移了!!!!!!

 

 

 

centos浏览器火狐上不了_centos浏览器火狐上不了_234

 

 

centos浏览器火狐上不了_zookeeper_235

 

 下面我们来配置yarn的HA

添加以下内容

 

centos浏览器火狐上不了_hdfs_236

centos浏览器火狐上不了_spark_237

 

centos浏览器火狐上不了_hdfs_238

 

 

centos浏览器火狐上不了_hdfs_239

 

 

把配置文件分配给其他节点

 

centos浏览器火狐上不了_zookeeper_240

 

 启动进程resourcemanager  nodemanager

centos浏览器火狐上不了_spark_241

centos浏览器火狐上不了_spark_242

 

centos浏览器火狐上不了_centos浏览器火狐上不了_243

centos浏览器火狐上不了_zookeeper_244

centos浏览器火狐上不了_hdfs_245

 

 

下面我们进行一个mapreduce程序,先创建一个输出目录在hdfs上 

 

centos浏览器火狐上不了_zookeeper_246

centos浏览器火狐上不了_zookeeper_247

centos浏览器火狐上不了_hdfs_248

 

 

centos浏览器火狐上不了_hdfs_249