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

 

创建kfk用户,然后重启

spark新闻项目环境搭建_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!

 

 

设置主机名

spark新闻项目环境搭建_hdfs_02

spark新闻项目环境搭建_spark_03

 

 

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

spark新闻项目环境搭建_hdfs_04

spark新闻项目环境搭建_spark_05

配置完了重启

spark新闻项目环境搭建_zookeeper_06

 

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

spark新闻项目环境搭建_hdfs_07

 

 

接下来在windows下的映射

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

spark新闻项目环境搭建_zookeeper_08

 

在后面加上

 

spark新闻项目环境搭建_spark_09

 

通过软件

spark新闻项目环境搭建_spark_10

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

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

spark新闻项目环境搭建_hdfs_11

spark新闻项目环境搭建_spark_12

 

 

spark新闻项目环境搭建_zookeeper_13

 

 

spark新闻项目环境搭建_hdfs_14

 

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

spark新闻项目环境搭建_spark_15

加这么一句话

spark新闻项目环境搭建_spark_16

 

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

spark新闻项目环境搭建_spark_17

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

spark新闻项目环境搭建_spark_18

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

spark新闻项目环境搭建_zookeeper_19

 

把这里修改了

spark新闻项目环境搭建_spark_20

 

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

spark新闻项目环境搭建_hdfs_21

 

 

下一步就是卸载自带的jdk

 

spark新闻项目环境搭建_hdfs_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

 

spark新闻项目环境搭建_zookeeper_23

 

 

创建目录

spark新闻项目环境搭建_zookeeper_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用户下的目录

spark新闻项目环境搭建_zookeeper_25

 

 

安装jdk1.7版本

 

spark新闻项目环境搭建_zookeeper_26

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

spark新闻项目环境搭建_zookeeper_27

spark新闻项目环境搭建_zookeeper_28

改成可执行的权限

spark新闻项目环境搭建_spark_29

解压

spark新闻项目环境搭建_hdfs_30

 

 配置jdk环境变量

spark新闻项目环境搭建_hdfs_31

 

spark新闻项目环境搭建_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

 

 使环境变量生效

spark新闻项目环境搭建_hdfs_33

 

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

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

spark新闻项目环境搭建_spark_34

spark新闻项目环境搭建_spark_35

 

 

 

 hadoop 分布式集群部署

先上传hadoop安装包

spark新闻项目环境搭建_hdfs_36

 

    解压

spark新闻项目环境搭建_zookeeper_37

 

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

 

spark新闻项目环境搭建_hdfs_38

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

spark新闻项目环境搭建_hdfs_39

 

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

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

spark新闻项目环境搭建_hdfs_40

 

 你会发现多了这么一项

spark新闻项目环境搭建_zookeeper_41

spark新闻项目环境搭建_zookeeper_42

 

 

spark新闻项目环境搭建_zookeeper_43

连接成功!

spark新闻项目环境搭建_hdfs_44

 

 

spark新闻项目环境搭建_zookeeper_45

spark新闻项目环境搭建_zookeeper_46

 

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

spark新闻项目环境搭建_hdfs_47

 

 

spark新闻项目环境搭建_hdfs_48

 

spark新闻项目环境搭建_spark_49

 

 

spark新闻项目环境搭建_zookeeper_50

 

spark新闻项目环境搭建_zookeeper_51

 

spark新闻项目环境搭建_hdfs_52

 

 

spark新闻项目环境搭建_spark_53

 

 

spark新闻项目环境搭建_spark_54

 

spark新闻项目环境搭建_hdfs_55

 

 

spark新闻项目环境搭建_hdfs_56

 

 配置完之后先格式化一下

spark新闻项目环境搭建_zookeeper_57

 

 

spark新闻项目环境搭建_hdfs_58

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

spark新闻项目环境搭建_zookeeper_59

 

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

spark新闻项目环境搭建_hdfs_60

spark新闻项目环境搭建_zookeeper_61

 

 

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

spark新闻项目环境搭建_zookeeper_62

 

 

spark新闻项目环境搭建_hdfs_63

 

 

在hdfs上创建目录

spark新闻项目环境搭建_zookeeper_64

 

 上传一个文件到hdfs上面去

spark新闻项目环境搭建_zookeeper_65

spark新闻项目环境搭建_spark_66

可以看到能上传

 

 下面继续配置

spark新闻项目环境搭建_spark_67

这里吧文件名改了

spark新闻项目环境搭建_spark_68

spark新闻项目环境搭建_spark_69

 

 

 

 

spark新闻项目环境搭建_hdfs_70

 

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

spark新闻项目环境搭建_zookeeper_71

spark新闻项目环境搭建_spark_72

 

 

 

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

spark新闻项目环境搭建_zookeeper_73

自己随意敲一些单词进去

spark新闻项目环境搭建_zookeeper_74

 

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

spark新闻项目环境搭建_spark_75

spark新闻项目环境搭建_zookeeper_76

 

分别启动resourcemanager   nodemanager

spark新闻项目环境搭建_zookeeper_77

spark新闻项目环境搭建_zookeeper_78

spark新闻项目环境搭建_spark_79

 

spark新闻项目环境搭建_zookeeper_80

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

spark新闻项目环境搭建_zookeeper_81

 

修改一下配置文件

spark新闻项目环境搭建_hdfs_82

 

spark新闻项目环境搭建_spark_83

spark新闻项目环境搭建_hdfs_84

spark新闻项目环境搭建_hdfs_85

 

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

 

删除

spark新闻项目环境搭建_zookeeper_86

 

 

spark新闻项目环境搭建_zookeeper_87

 

分发

spark新闻项目环境搭建_spark_88

spark新闻项目环境搭建_hdfs_89

 

先把启动的服务停掉

spark新闻项目环境搭建_spark_90

 

 再次格式化namenode

spark新闻项目环境搭建_spark_91

 

spark新闻项目环境搭建_zookeeper_92

 

 分别启动各个进程

spark新闻项目环境搭建_spark_93

spark新闻项目环境搭建_zookeeper_94

spark新闻项目环境搭建_zookeeper_95

 

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

spark新闻项目环境搭建_spark_96

 

现在我们重新创建一下

spark新闻项目环境搭建_spark_97

 

 

spark新闻项目环境搭建_spark_98

spark新闻项目环境搭建_spark_99

 

spark新闻项目环境搭建_spark_100

 

 

spark新闻项目环境搭建_zookeeper_101

 

 

spark新闻项目环境搭建_zookeeper_102

 

 

spark新闻项目环境搭建_zookeeper_103

spark新闻项目环境搭建_hdfs_104

 

 

spark新闻项目环境搭建_spark_105

 

在hdfs上创建一个输出路径

spark新闻项目环境搭建_zookeeper_106

 

 

spark新闻项目环境搭建_spark_107

 

 

下面我们来运行一下mapreduce

spark新闻项目环境搭建_zookeeper_108

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

spark新闻项目环境搭建_zookeeper_109

spark新闻项目环境搭建_hdfs_110

可以看到运行成功了!

spark新闻项目环境搭建_zookeeper_111

 

我们查看一下结果

spark新闻项目环境搭建_spark_112

 

 

 

 

 

zookeeper分布式集群的部署

先把安装包上传

spark新闻项目环境搭建_zookeeper_113

 

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

spark新闻项目环境搭建_hdfs_114

 

解压

spark新闻项目环境搭建_hdfs_115

spark新闻项目环境搭建_spark_116

 

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

spark新闻项目环境搭建_zookeeper_117

 

 把没有用的东西干掉

spark新闻项目环境搭建_hdfs_118

 

下面来配置zookeeper

把这个文件的名字改一下

spark新闻项目环境搭建_hdfs_119

 

修改后

spark新闻项目环境搭建_spark_120

 

spark新闻项目环境搭建_hdfs_121

 

 创建一个目录zkData

spark新闻项目环境搭建_zookeeper_122

 

修改配置文件

spark新闻项目环境搭建_hdfs_123

spark新闻项目环境搭建_spark_124

 

spark新闻项目环境搭建_spark_125

spark新闻项目环境搭建_hdfs_126

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

spark新闻项目环境搭建_spark_127

spark新闻项目环境搭建_hdfs_128

 

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

 

下面我们来启动zookeeper服务

spark新闻项目环境搭建_zookeeper_129

 

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

spark新闻项目环境搭建_zookeeper_130

spark新闻项目环境搭建_spark_131

从结果看没连接上

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

查看状态

spark新闻项目环境搭建_spark_132

查看zookeeper.out日志

spark新闻项目环境搭建_hdfs_133

 

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

spark新闻项目环境搭建_zookeeper_134

 

啊啊 啊啊啊啊啊啊啊!!!!!!!!!!!,真他的了,居然犯这样的错误

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

spark新闻项目环境搭建_zookeeper_135

 

spark新闻项目环境搭建_zookeeper_136

 

spark新闻项目环境搭建_zookeeper_137

 

居然成功了

spark新闻项目环境搭建_hdfs_138

spark新闻项目环境搭建_spark_139

成功了,感谢党!!!!

 

spark新闻项目环境搭建_zookeeper_140

 

 现在查看谁是“老大”

spark新闻项目环境搭建_zookeeper_141

spark新闻项目环境搭建_hdfs_142

spark新闻项目环境搭建_hdfs_143

 

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

 

 

 

 

                       Hadoop  HA的搭建

spark新闻项目环境搭建_hdfs_144

spark新闻项目环境搭建_spark_145

 

spark新闻项目环境搭建_spark_146

 

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

spark新闻项目环境搭建_zookeeper_147

 

 进到这里来

spark新闻项目环境搭建_hdfs_148

 

添加以下内容

spark新闻项目环境搭建_spark_149

 

spark新闻项目环境搭建_spark_150

 

 创建目录

spark新闻项目环境搭建_spark_151

 

spark新闻项目环境搭建_hdfs_152

 

 

spark新闻项目环境搭建_spark_153

 

 

spark新闻项目环境搭建_hdfs_154

 

 

修改core-site.xml

spark新闻项目环境搭建_spark_155

 

 

在第二个节点上

spark新闻项目环境搭建_spark_156

spark新闻项目环境搭建_zookeeper_157

 

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

spark新闻项目环境搭建_zookeeper_158

 

spark新闻项目环境搭建_hdfs_159

 

 

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

spark新闻项目环境搭建_spark_160

spark新闻项目环境搭建_hdfs_161

 

 

 给3个节点分别启动journalnode

spark新闻项目环境搭建_hdfs_162

spark新闻项目环境搭建_hdfs_163

 

spark新闻项目环境搭建_zookeeper_164

 

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

spark新闻项目环境搭建_hdfs_165

spark新闻项目环境搭建_zookeeper_166

 

启动namenode

spark新闻项目环境搭建_zookeeper_167

 

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

 

spark新闻项目环境搭建_zookeeper_168

spark新闻项目环境搭建_zookeeper_169

 

 

把节点2的namenode启动一下

spark新闻项目环境搭建_spark_170

 

 

打开测试页面看看

spark新闻项目环境搭建_zookeeper_171

 

spark新闻项目环境搭建_zookeeper_172

 

 

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

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

spark新闻项目环境搭建_spark_173

 

spark新闻项目环境搭建_spark_174

 

 

下面把namenode datanode都启动了

先把进程停止

spark新闻项目环境搭建_hdfs_175

 

 再启动

spark新闻项目环境搭建_spark_176

spark新闻项目环境搭建_hdfs_177

spark新闻项目环境搭建_zookeeper_178

 

 

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

spark新闻项目环境搭建_spark_179

 

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

spark新闻项目环境搭建_hdfs_180

spark新闻项目环境搭建_zookeeper_181

 

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

spark新闻项目环境搭建_zookeeper_182

 

 

spark新闻项目环境搭建_spark_183

 

查看hdfs上的文件

spark新闻项目环境搭建_zookeeper_184

 

 

spark新闻项目环境搭建_hdfs_185

 

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

spark新闻项目环境搭建_hdfs_186

 

 把nn2改成active状态

 

spark新闻项目环境搭建_spark_187

我们可以看到没有成功。

 

 

 

spark新闻项目环境搭建_hdfs_188

spark新闻项目环境搭建_zookeeper_189

现在成功了!!

 

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

spark新闻项目环境搭建_spark_190

spark新闻项目环境搭建_zookeeper_191

 

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

spark新闻项目环境搭建_hdfs_192

 

 

spark新闻项目环境搭建_hdfs_193

 

把进程都停下来

 

spark新闻项目环境搭建_hdfs_194

 

同时把zookeeper也停下来

spark新闻项目环境搭建_hdfs_195

 

spark新闻项目环境搭建_spark_196

spark新闻项目环境搭建_spark_197

 

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

先分别启动三台机器的zookeeper

 

spark新闻项目环境搭建_zookeeper_198

spark新闻项目环境搭建_hdfs_199

 

spark新闻项目环境搭建_spark_200

 

初始化HA在zookeeper中的状态

spark新闻项目环境搭建_zookeeper_201

 

 

spark新闻项目环境搭建_spark_202

 

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

spark新闻项目环境搭建_hdfs_203

 

 修改后,再来一次

spark新闻项目环境搭建_zookeeper_204

 

 

spark新闻项目环境搭建_zookeeper_205

可以看到成功了!

 

启动HDFS服务

spark新闻项目环境搭建_hdfs_206

 

 

spark新闻项目环境搭建_hdfs_207

spark新闻项目环境搭建_spark_208

 

 

上传文件到hdfs上

spark新闻项目环境搭建_zookeeper_209

 

spark新闻项目环境搭建_spark_210

 

 

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

spark新闻项目环境搭建_hdfs_211

 

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

spark新闻项目环境搭建_hdfs_212

 

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

spark新闻项目环境搭建_hdfs_213

 

查看日志

spark新闻项目环境搭建_spark_214

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

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

spark新闻项目环境搭建_zookeeper_215

 

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

spark新闻项目环境搭建_zookeeper_216

 

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

spark新闻项目环境搭建_spark_217

spark新闻项目环境搭建_spark_218

spark新闻项目环境搭建_zookeeper_219

 

 

先启动zookeeper

spark新闻项目环境搭建_zookeeper_220

spark新闻项目环境搭建_hdfs_221

spark新闻项目环境搭建_spark_222

 

 

把zkfc重新格式化一次

 

spark新闻项目环境搭建_zookeeper_223

 

输入Y 

spark新闻项目环境搭建_hdfs_224

 

启动hdfs的所以服务

spark新闻项目环境搭建_hdfs_225

 

启动zkfc

spark新闻项目环境搭建_hdfs_226

spark新闻项目环境搭建_spark_227

spark新闻项目环境搭建_spark_228

spark新闻项目环境搭建_hdfs_229

 

 

 

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

spark新闻项目环境搭建_spark_230

 

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

spark新闻项目环境搭建_spark_231

 

spark新闻项目环境搭建_spark_232

 

 

spark新闻项目环境搭建_spark_233

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

 

 

 

spark新闻项目环境搭建_zookeeper_234

 

 

spark新闻项目环境搭建_zookeeper_235

 

 下面我们来配置yarn的HA

添加以下内容

 

spark新闻项目环境搭建_hdfs_236

spark新闻项目环境搭建_zookeeper_237

 

spark新闻项目环境搭建_spark_238

 

 

spark新闻项目环境搭建_zookeeper_239

 

 

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

 

spark新闻项目环境搭建_zookeeper_240

 

 启动进程resourcemanager  nodemanager

spark新闻项目环境搭建_spark_241

spark新闻项目环境搭建_hdfs_242

 

spark新闻项目环境搭建_hdfs_243

spark新闻项目环境搭建_hdfs_244

spark新闻项目环境搭建_hdfs_245

 

 

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

 

spark新闻项目环境搭建_hdfs_246

spark新闻项目环境搭建_zookeeper_247

spark新闻项目环境搭建_zookeeper_248

 

 

spark新闻项目环境搭建_hdfs_249