数据仓库与大数据工程,数据仓库与大数据工程笔记本虚拟机搭建

文件 0
Hadoop集群操作文档 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 网络科学与智能系统研究所2018年1月 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 修订记录 版本号 修订状态 简要说明修订内容和范围 修订日期 修订人 V1.0A 完成MySQL,zookeeper,Kafka三部分 2018.1.30宋超 V1.1M 修改SSH章节的bug 2018.1.30宋超 V1.2A 完成所有的Hadoop集群的安装说明 2018.1.31宋超 V1.3A 添加了封面、目录、页眉 2018.1.31宋超 V1.4A 新增了第二块网卡的配置方式(3.1到3.2.3) 2018.1.31宋超 修改hadoop安装过程的配置文件内容,增加HDFS的初始化, 曹仲、 V1.5A 2018.2.5 修改hive的配置文件,增加spark安装过程的描述 宋超 V1.6A 增加了架构图与引言 2018.2.26宋超 V1.7A 增加了对于虚拟机网络配置的解释 2018.3.5宋超 V1.8M 对ZooKeeper以及Kafka配置代码中的一些问题进行了修改2018.3.6纪宇泽 V1.9M 修改HBase的环境变量设置,修改Storm配置文件内容 2018.3.9王贝贝 V1.91M 修改了网卡配置的内容 2018.3.12宋超 V1.92M 修改了新建hadoop用户的内容 2018.3.12宋超 V1.93M 修改了错别字 2018.3.14宋超 V1.94M 修改了改hosts的描述 2018.3.14宋超 V1.95M 修改了Hive的启动条件 2018.3.15宋超 V1.96A 增加了3.2.5检查虚拟机间能否正常通信的内容 2018.3.16宋超 V2.0A 增加了各组件的测试内容以及web界面的进入方法 2018.3.17宋超 V2.01M 修复了同步hbase工作目录的小bug 2018.3.17宋超 V2.02M 增加了使hive用户可以在cluster2上登陆MySQL的命令 2018.3.19宋超 V2.03M 修复了小bug 2018.3.27宋超 V2.1M 增加Kafka的新配置 2018.3.29宋超 V2.2M 修改了MySQL的安装方法 2018.6.10宋超 V2.3M 修复了小bug 2018.6.17宋超 注:修订记录在体系文件发布后换版时使用,修订状态栏填写:A—增加,M—修改,D—删除 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 目录
1.

概述.......................................................................................................................................................................

12.

服务列表...............................................................................................................................................................

23.

搭建步骤...............................................................................................................................................................

4 3.1

安装虚拟机....................................................................................................................................................

43.2

准备工作........................................................................................................................................................

6 3.2.1关闭防火墙和Selinux

.......................................................................................................................

63.2.2

安装软件.............................................................................................................................................

63.2.3

检查网卡是否开机自启.....................................................................................................................

63.2.4修改hosts

...........................................................................................................................................

83.2.5

检查网络是否正常.............................................................................................................................

83.2.6新建hadoop

用户...............................................................................................................................

93.2.7生成ssh密钥并分发

.......................................................................................................................

103.2.8安装NTP服务

.................................................................................................................................

103.3安装MySQL

...............................................................................................................................................

113.3.1

安装...................................................................................................................................................

113.3.2

测试...................................................................................................................................................

123.4安装JDK

.....................................................................................................................................................

133.4.1

安装...................................................................................................................................................

133.4.2

测试...................................................................................................................................................

143.5安装

ZooKeeper...........................................................................................................................................

143.6安装

Kafka...................................................................................................................................................

173.6.1

安装...................................................................................................................................................

173.6.2

测试...................................................................................................................................................

183.6.3

可能遇到的问题...............................................................................................................................

193.7安装

Hadoop................................................................................................................................................

203.7.1

安装...................................................................................................................................................

203.7.2

测试...................................................................................................................................................

253.8安装

HBase..................................................................................................................................................

293.8.1

安装...................................................................................................................................................

293.8.2

测试...................................................................................................................................................

323.8.3

可能遇到的问题...............................................................................................................................

333.9安装

Hive.....................................................................................................................................................

333.9.1

安装...................................................................................................................................................

333.9.2

测试...................................................................................................................................................

363.10安装

Scala..................................................................................................................................................

373.11安装Spark

.................................................................................................................................................

373.11.1

安装.................................................................................................................................................

373.11.2

测试.................................................................................................................................................

393.12安装

Storm.................................................................................................................................................

40 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档
1.概述 《数据仓库与大数据工程》实验一需要学生在笔记本上搭建Hadoop集群,本文档对笔记本上创建虚拟机搭建Hadoop集群的步骤进行了说明。
包含所有需要安装的软件与服务的版本,安装路径,安装方法等。
主要流程为:安装虚拟机管理程序,创建三台虚拟服务器,在三台虚拟服务器上搭建以Hadoop集群为核心的大数据平台。

1 2.服务列表 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 实验一要求学生搭建的大数据平台以Hadoop为核心,HDFS、MySQL、HBase组成了存储系统,通过Kafka实时接入数据,使用Storm对数据进行实时分析,Map/Reduce和Spark负责离线数据分析。
Zookeeper负责为分布式应用程序协调服务。
图2-1大数据平台架构图 用于搭建笔记本集群的虚拟机工具为OracleVMVirtualBox5.1.26,使用其他工具也可用。
Hadoop大数据平台所需工具、软件包、版本及安装目录见表2-
1. 软件包名jdk-7u80-linux-x64.tar.gz mysql-5.6.37-linux-glibc2.12x86_64.tar.gzzookeeper-3.4.6.tar.gzkafka_2.10-0.8.2.1.tgz 表2-1Hadoop大数据平台所需的软件包 软件名称 版本 java软件开发工具1.7.80 包 MySQL 5.6.37 安装目录/usr/local/jdk1.7.0_80 /usr/local/mysql ZookeeperKafka
2 3.4.62.10.-0.8.2.1 /usr/local/zookeeper-3.4.6/usr/local/kafka_2.10.-0.8.2.1 hadoop-2.6.5.tar.gzhbase-1.2.6-bin.tar.gzapache-hive-1.1.0-bin.tar.gzmysql-connector-java-5.1.43-bin.jarscala-2.10.6.tgzspark-1.6.3-bin-hadoop2.6.tgz apache-storm-1.1.1.tar.gz 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 HadoopHBaseHiveMySQLJDBC驱动ScalaSpark 2.6.51.2.61.1.05.1.432.10.61.6.3 Storm 1.1.1 /usr/local/hadoop-2.6.5/usr/local/hbase-1.2.6/usr/local/apache-hive-1.1.0-bin /usr/local/scala-2.10.6/usr/local/spark-1.6.3-binhadoop2.6/usr/local/apache-storm-1.1.1 所有虚拟机上需要安装的软件与服务如表2-2所示。
主机名cluster1cluster2cluster3 表2-2虚拟机运行的服务列表 服务zookeeper,Kafka,HDFS(主),YARN(主),HBase(主),Hive,Spark(主),storm(主)zookeeper,Kafka,MySQL,HDFS,YARN,HBase,Hive,Spark,stormzookeeper,Kafka,HDFS,YARN,HBase,Hive,Spark,storm
3 3.搭建步骤 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 3.1安装虚拟机 注意:请关闭360安全卫士等软件!下载系统镜像,可从交大知行论坛上下载,CentOS-7-x86_64-Minimal-1511.iso。
虚拟机软件使用OracleVMVirtualBox5.1.26。
批注[宋超1]:2.03更新 网络设置:选择左上角的管理->全局设定->网络->NAT网络->右侧添加网卡->双击新增的网卡->网络CIDR:10.0.2.0/24->选OK->仅主机(Host-Only)网络->右侧添加网卡->双击新增的网卡->IPv4地址:192.168.56.1->IPv4网络掩码:255.255.255.0->DHCP服务器->取消勾选“启用服务器”->OK->点OK保存。
这里的NAT网络是为了创建出一个包含三台虚拟机的局域网环境,而Host-Only网络是为了使笔记本能与虚拟机通信,这样在虚拟机成功安装后,就可以使用putty或secureCRT等SSH工具从笔记本连接到虚拟机,然后将文档中提供的配置文件内容复制粘贴进去,若不配置Host-Only网络,本文档所有的配置文件全部需要手动输入。

4 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 内存1536M,选择现在创建虚拟硬盘,虚拟硬盘文件类型选择VHD(虚拟硬盘),存储分配选择动态分配(D),大小选择8G,然后选择创建。
右键选择创建好的虚拟机cluster1,选择设置 存储->没有盘片->右侧的光盘图标,选择下载好的CentOS-7-x86_64-Minimal-1511.iso,选择OK。
选择网络->网卡1->启用网络连接->连接方式->NAT->界面名称->选择刚才先建立的那块虚拟网卡即可->网卡2->启用网络连接->连接方式->仅主机(Host-Only)网络->界面名称->选择刚才后建立的那块虚拟网卡->OK。
双击cluster1进入虚拟机,选择InstallCentOS7,选择English->continue。
DATE&TIME,Region选择Asia,City选择Shanghai,左上角Done。
INSTALLATIONDESTINATION,点进去后直接点左上角的Done。
NETWORK&HOSTNAME,两张网卡右侧都选择ON,下面的Hostname改为cluster1,左上角Done。
选择右下角Begininstallation。
进入安装界面后选择rootpassword随意。
右侧usercreation,Fullname设置为cluster1,密码随意,不要选择makethisuseradministrator。
待下方进度条结束后,会有reboot这个选项,点击重启后,即可登陆。
再做两台这样的虚拟机分别是cluster2和cluster3即可。

5 3.2准备工作 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 注:以下内容“//”后面的内容为下一行语句的注释,“#”后面的语句是使用root用户执行的,“$”后面的语句是使用普通用户(3.2.5创建的hadoop用户)执行的。
红色是必须要注意的内容! 3.2.1关闭防火墙和Selinux 每台都要执行(我们安装的centOS最小版没有防火墙,在其他centOS上操作时必须要关闭防火墙)//关闭防火墙和selinux#systemctlfirewalld.service //禁止firewall开机启动#systemctldisablefirewalld.service //开机关闭Selinux,编辑Selinux配置文件#vi/etc/selinux/config将SELINUX设置为disabled如下:SELINUX=disabled //重启#reboot //重启机器后root用户查看Selinux状态#getenforce 3.2.2安装软件 以下软件是安装时需要的依赖环境,安装MySQL时需要使用perl和libaio,ntpdate负责集群内服务器时间,screen用于新建后台任务。
每台都要执行#yuminstallperl*#yuminstallntpdate#yuminstalllibaio#yuminstallscreen 3.2.3检查网卡是否开机自启 每台都要执行//查看网卡名,看里面一个enp0s开头的是多少,由于我们开启了两块网卡,注意这两张都是什么名字//我的网卡名分别是enp0s3和enp0s8,还有一个lo,这个可以忽略不计。
#ipaddr
6 批注[宋超2]:2.0更新 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 使用这条命令可以查看所有网卡的信息,注意记录每张网卡的网卡名:前面序号后面的即为网卡名。
还需记录每张网卡的ip地址,后面的就是。
注意:此处有两张网卡,分别是2:enp0s3和3:enp0s8,如果没有,可能是因为在安装系统的过程中,没有打开网络服务,或是网卡没有设定为开机自启。
接下来编辑网卡配置文件编辑的第一个网卡的配置文件,应该是ip为10.0.2开头的那张网卡,网卡名为enp0s3//编辑网卡配置文件#vi/etc/work-scripts/ifcfg-enp0s3//确认ONBOOT为yes,这个设置为yes后,该网卡会开机自启,不会开机连不上网ONBOOT=yes接下来编辑第二张网卡的配置文件,是enp0s8#vi/etc/work-scripts/ifcfg-enp0s8将BOOTPROTO设置为noneONBOOT=yes新增IPADDR=192.168.56.121(cluster2设置为192.168.56.122,cluster3为192.168.56.123)NETMASK=255.255.255.0NETWORK=192.168.56.0保存后关闭文件。
//重启网络服务#workrestart重启成功后会出现一个绿色的OK,失败则显示红色的failed,若失败,则使用reboot重启服务器即可。
重启后,就可以使用putty或其他SSH工具连接虚拟机了。

7 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 以下以putty为例:在windows中,下载putty,打开后,输入192.168.56.121 然后点击右下角的Open,即可连接到cluster1上。
同样的,可以使用Filezilla传输文件。
主机为:sftp://192.168.56.121,用户名为root,端口号不用设定,快速连接即可。
3.2.4修改hosts 每台都要执行//记录当前ip地址,要记录第一张网卡的ip地址#ipaddr //修改hosts#vi/etc/hosts//在最下面添加以下几行内容,下面的红色的ip地址写你用ipaddr里面显示的第一张网卡(enp0s3)的ip10.0.2.6cluster110.0.2.8cluster210.0.2.7cluster3 3.2.5检查网络是否正常 //在cluster1上#pingcluster2如果出现如下界面
8 批注[宋3]:2.2更新 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 可以看到time=多少秒,说明可以从cluster1连接到cluster2,同理,检查能否连接到cluster3,使用Ctrl+C中断命令ping。
//检查能否连接到cluster3#pingcluster3 如果出现如下界面 可能导致该问题的原因:1.hosts配置有误,hosts中的cluster2的ip地址,与cluster2的实际ip地址不同,请返回检查cluster2的ip 地址。
2.cluster2处于关机状态,没有开机。
3.2.6新建hadoop用户 每台都要执行新建hadoop用户,这个用户专门用来维护集群,因为实际中使用root用户的机会很少,而且不安全。
//新建hadoop组#groupaddhadoop //新建hadoop用户#useradd-s/bin/bash-ghadoop-d/home/hadoop-mhadoop //修改hadoop这个用户的密码#passwdhadoop 批注[宋超4]:1.9更新
9 3.2.7生成ssh密钥并分发 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 只在cluster1上执行//生成ssh密钥(cluster1上),切换到hadoop用户$ssh-keygen-trsa然后一路回车 //接下来分发密钥,请仔细观察显示的内容,会让你输入yes$ssh-copy-idcluster1$ssh-copy-idcluster2$ssh-copy-idcluster3 3.2.8安装NTP服务 //三台都要安装#yuminstallntpdate//cluster1上装ntp#yuminstallntp //cluster1上执行以下操作#vi/etc/ntp.conf注释掉以下4行,也就是在这4行前面加#serveriburstserveriburstserveriburstserveriburst最下面加入以下内容,红色部分分别为网关和掩码restrictdefaultignorerestrict10.0.2.0mask255.255.255.0nomodifynotrapserver127.127.1.0 //重启ntp服务#servicentpdrestart //设置ntp服务器开机自动启动#chkconfigntpdon //以下为客户端的配置(除cluster1外其他所有的机器,即cluster2和cluster3):设定每天00:00向服务器同步时间,并写入日志#crontab-e输入以下内容后保存并退出:00***/usr/sbin/ntpdatecluster1>>/root/ntpd.log 10 批注[宋超5]:2.0更新批注[宋6]:V2.2更新 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 //手动同步时间,需要在每台机器上(除ntpserver),使用ntpdatecluster1同步时间#ntpdatecluster1 3.3安装MySQL 3.3.1安装 只在cluster2上做以下内容,因为我们的集群中,只有cluster2上需要安装一个MySQL#yumremovemysqlmysql-serverpat-mysql51#rm-rf/var/lib/mysql#rm-rf/etc/f 下载mysql-5.6.37-linux-glibc2.12-x86_64#cpmysql-5.6.37-linux-glibc2.12-x86_64.tar.gz/usr/local/ //解压到/usr/local/#tar-zxvfmysql-5.6.37-linux-glibc2.12-x86_64.tar.gz //改名为mysql#mvmysql-5.6.37-linux-glibc2.12-x86_64mysql //删除安装包#rmmysql-5.6.37-linux-glibc2.12-x86_64.tar.gz //修改环境变量#vi/etc/profile在最下面添加exportMYSQL_HOME=/usr/local/mysqlexportPATH=$MYSQL_HOME/bin:$PATH //刷新环境变量#source/etc/profile //新建mysql用户#groupaddmysql在/etc/group中可以看到#useradd-r-gmysql-s/bin/falsemysql在/etc/passwd中可以看到#cd/usr/local/mysql#chown-Rmysql:mysql.#scripts/mysql_install_db--user=mysql //修改当前目录拥有者为root用户#chown-Rroot. 11 //修改当前data目录拥有者为mysql用户#chown-Rmysqldata 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 #bin/mysqld_safe--user=mysql& #cd/usr/local/mysql //登陆mysql#bin/mysql //登陆成功后退出即可mysql>exit; //进行root账户密码的修改等操作#bin/mysql_secure_installation 首先要求输入root密码,由于我们没有设置过root密码,括号里面说了,如果没有root密码就直接按回车。
是否设定root密码,选y,设定密码为cluster,是否移除匿名用户:y。
然后有个是否关闭root账户的远程登录,选n,删除test这个数据库?y,更新权限?y,然后ok。
#cpsupport-files/mysql.server/etc/init.d/mysql.server //查看mysql的进程号#ps-ef|grepmysql //如果有的话就kill掉,保证mysql已经中断运行了,一般kill掉/usr/local/mysql/bin/mysqld开头的即可#kill进程号 //启动mysql#/etc/init.d/mysql.serverstart-user=mysql#exit 还需要配置一下访问权限:$mysql-uroot-pmysql>GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'cluster'WITHGRANTOPTION;mysql>FLUSHPRIVILEGES; //关闭mysql的指令(不需要执行)#mysqladmin-uroot-pshutdown 批注[宋7]:V2.2更新批注[宋超8]:2.0更新批注[宋超9]:2.0更新 3.3.2测试 mysql>createdatabasetest_table;mysql>usetest_table; 12 mysql>createtableuserinfo(idintnotnull);mysql>insertintouserinfovalues
(1);mysql>select*fromuserinfo;mysql>dropdatabasetest_table;mysql>showdatabases; 3.4安装JDK 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 3.4.1安装 每台都要安装$suroot#cpjdk-7u80-linux-x64.tar.gz/usr/local/#tar-zxvfjdk-7u80-linux-x64.tar.gz //修改环境变量#vi/etc/profile //添加以下内容exportJAVA_HOME=/usr/local/jdk1.7.0_80/exportJRE_HOME=/usr/local/jdk1.7.0_80/jreexportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH //复制jdk到其他的服务器上#scp-r/usr/local/jdk1.7.0_80/cluster2:/usr/local/#scp-r/usr/local/jdk1.7.0_80/cluster3:/usr/local/ //cluster2上#vi/etc/profile //添加以下内容exportJAVA_HOME=/usr/local/jdk1.7.0_80/exportJRE_HOME=/usr/local/jdk1.7.0_80/jreexportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH //cluster3上#vi/etc/profile //添加以下内容exportJAVA_HOME=/usr/local/jdk1.7.0_80/exportJRE_HOME=/usr/local//jdk1.7.0_80/jre 13 批注[宋超10]:2.0更新 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 exportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH 3.4.2测试 $java-version可以看到java版本为1.7.0_80即为安装成功 3.5安装ZooKeeper 每台都要安装//cluster1上将zookeeper解压到/usr/local目录下,配置环境变量#vi/etc/profile //添加以下内容exportZOOKEEPER_HOME=/usr/local/zookeeper-3.4.6exportPATH=$ZOOKEEPER_HOME/bin:$PATH #cd/usr/local/zookeeper-3.4.6 //在conf中新建zoo.cfg文件#viconf/zoo.cfg //输入以下内容#客户端心跳时间(毫秒)tickTime=2000#允许心跳间隔的最大时间initLimit=10#同步时限syncLimit=5#数据存储目录dataDir=/home/hadoop_files/hadoop_data/zookeeper#数据日志存储目录dataLogDir=/home/hadoop_files/hadoop_logs/zookeeper/dataLog#端口号clientPort=2181#集群节点和服务端口配置server.1=cluster1:2888:3888server.2=cluster2:2888:3888server.3=cluster3:2888:3888 //创建zookeeper的数据存储目录和日志存储目录 14 批注[宋超11]:2.0更新批注[宋超12]:2.0更新 批注[宋13]:2.3更新 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 #mkdir-p/home/hadoop_files/hadoop_data/zookeeper#mkdir-p/home/hadoop_files/hadoop_logs/zookeeper/dataLog#mkdir-p/home/hadoop_files/hadoop_logs/zookeeper/logs //修改文件夹的权限#chown-Rhadoop:hadoop/home/hadoop_files#chown-Rhadoop:hadoop/usr/local/zookeeper-3.4.6 //在cluster1号服务器的data目录中创建一个文件myid,输入内容为1//myid应与zoo.cfg中的集群节点相匹配#echo"1">>/home/hadoop_files/hadoop_data/zookeeper/myid //修改zookeeper的日志输出路径(注意CDH版与原生版配置文件不同)#vibin/zkEnv.sh //将配置文件里面的以下项替换为红字的内容if["x${ZOO_LOG_DIR}"="x"]then ZOO_LOG_DIR="/home/hadoop_files/hadoop_logs/zookeeper/logs"fiif["x${ZOO_LOG4J_PROP}"="x"]then ZOO_LOG4J_PROP="INFO,ROLLINGFILE"fi //修改zookeeper的日志配置文件#viconf/log4j.properties //修改为以下内容:zookeeper.root.logger=INFO,ROLLINGFILE.apache.log4j.DailyRollingFileAppender 将这个zookeeper-3.4.6的目录复制到其他的两个节点上#scp-r/usr/local/zookeeper-3.4.6cluster2:/usr/local/#scp-r/usr/local/zookeeper-3.4.6cluster3:/usr/local/ //退回hadoop用户#exit //刷新环境变量$source/etc/profile //启动zookeeper$zkServer.shstart 15 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 //cluster2上面改环境变量,加入以下内容exportZOOKEEPER_HOME=/usr/local/zookeeper-3.4.6exportPATH=$ZOOKEEPER_HOME/bin:$PATH //创建zookeeper的数据存储目录和日志存储目录$suroot#mkdir-p/home/hadoop_files/hadoop_data/zookeeper#mkdir-p/home/hadoop_files/hadoop_logs/zookeeper/dataLog#mkdir-p/home/hadoop_files/hadoop_logs/zookeeper/logs //添加myid#echo"2">>/home/hadoop_files/hadoop_data/zookeeper/myid //修改文件夹的权限#chown-Rhadoop:hadoop/home/hadoop_files#chown-Rhadoop:hadoop/usr/local/zookeeper-3.4.6 //退回hadoop用户#exit //刷新环境变量$source/etc/profile //启动zookeeper$zkServer.shstart //cluster3上面加环境变量#vi/etc/profileexportZOOKEEPER_HOME=/usr/local/zookeeper-3.4.6exportPATH=$ZOOKEEPER_HOME/bin:$PATH //创建zookeeper的数据存储目录和日志存储目录#mkdir-p/home/hadoop_files/hadoop_data/zookeeper#mkdir-p/home/hadoop_files/hadoop_logs/zookeeper/dataLog#mkdir-p/home/hadoop_files/hadoop_logs/zookeeper/logs //添加myid#echo"3">>/home/hadoop_files/hadoop_data/zookeeper/myid //修改文件夹的权限#chown-Rhadoop:hadoop/home/hadoop_files#chown-Rhadoop:hadoop/usr/local/zookeeper-3.4.6 16 //退回hadoop用户#exit 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 //刷新环境变量$source/etc/profile //启动zookeeper(每台都要执行,而且三台要接连执行,都启动后再做下面的)$zkServer.shstart //三台zookeeper都启动后,使用jps命令查看进程是否启动#jps 可以看到一个叫QuorumPeerMain的进程,说明zookeeper启动成功 //退出root用户#exit //查看zookeeper状态$zkServer.shstatus可以看到三台中有一个是leader,两个是follower //关闭zookeeper的命令(关机前在每台上都要执行,这里不需要执行)$zkServer.sh 3.6安装Kafka 3.6.1安装 //cluster1上kafka_2.10-0.8.2.1解压到/usr/local //添加环境变量exportKAFKA_HOME=/usr/local/kafka_2.10-0.8.2.1exportPATH=$KAFKA_HOME/bin:$PATH //修改配置文件#vi/usr/local/kafka_2.10-0.8.2.1/config/server.properties //修改下面3项//第一项:这个值要唯
一,不同的机器不能相同,cluster1就写1,cluster2就写2,cluster3就写3broker.id=1 //第二项:修改日志路径 17 批注[宋超14]:2.0更新 log.dirs=/home/hadoop_files/hadoop_logs/kafka 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 //第三项:此处要写zookeeper集群的ip+端口号,逗号隔开zookeeper.connect=cluster1:2181,cluster2:2181,cluster3:2181 //第四项:此处要写对应机器的ip地址!advertised.host.name=192.168.56.121 //修改完环境变量,更新配置文件#source/etc/profile //保存退出后创建logs文件夹#mkdir-p/home/hadoop_files/hadoop_logs/kafka //修改权限#chown-Rhadoop:hadoop/home/hadoop_files#chown-Rhadoop:hadoop/usr/local/kafka_2.10-0.8.2.1 //复制文件夹#scp-r/usr/local/kafka_2.10-0.8.2.1cluster2:/usr/local/#scp-r/usr/local/kafka_2.10-0.8.2.1cluster3:/usr/local/ //cluster2上#vi/usr/local/kafka_2.10-0.8.2.1/config/server.propertiesbroker.id=
2 //cluster3上#vi/usr/local/kafka_2.10-0.8.2.1/config/server.propertiesbroker.id=
3 //使用hadoop用户启动kafka集群先启动zookeeper集群,然后在kafka集群中的每个节点使用$kafka-server-start.sh/usr/local/kafka_2.10-0.8.2.1/config/server.properties&启动完成后按回车即可 批注[宋超15]:2.1更新 3.6.2测试 //创建ic$ics.sh--create--zookeepercluster1:2181,cluster2:2181,cluster3:2181--replication-factor3--partitions1icmykafka //查看Topic:$ics.sh--list--zookeepercluster1:2181,cluster2:2181,cluster3:2181 18 此时会显示Topic:mykafka 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 //查看详细信息$ics.sh--describe--zookeepercluster1:2181,cluster2:2181,cluster3:2181Topic:mykafkaPartitionCount:1ReplicationFactor:3Configs:Topic:mykafkaPartition:0Leader:133Replicas:133,134,132Isr:134 //发送消息(cluster1上执行)$kafka-console-producer.sh--broker-listlocalhost:9092icmykafka //接收消息(cluster2上执行)$kafka-console-consumer.sh-zookeepercluster1:2181,cluster2:2181,cluster3:2181icmykafka--frombeginning //在cluster1输入以下内容testmyclustertest 可以在cluster2上看到相应的信息按Ctrl+C退出 //关闭kafka,在每台上执行$.sh //新建虚拟窗口kafka,在每台上执行$screen-Skafka //启动kafka集群,在每台上执行$kafka-server-start.sh/usr/local/kafka_2.10-0.8.2.1/config/server.properties //退出虚拟窗口kafka,在每台上执行$Ctrl+A+D在每台服务器上面执行jps可以看到Kafka进程在运行 //关闭kafka的命令为,在每台服务器上进入虚拟窗口kafka,然后使用.sh即可。
3.6.3可能遇到的问题
1.如果出现以下信息,则需要下载slftj-nop-1.5.jar,并将其复制至kafka的libs目录下:SLF4J:Failedtoloadclass.slf4j.impl.StaticLoggerBinder".SLF4J:Defaultingtono-operation(NOP)loggerimplementationSLF4J:See#StaticLoggerBinderforfurtherdetails.2.Error:whilemandreplicationfactor:3largerthanavailablebrokers:1 19 这是因为没有将3台机器的kafka都启动。
3.7安装Hadoop 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 3.7.1安装 Hadoop启动的先决条件是zookeeper已经成功启动//在cluster1节点/usr/local/解压hadoop安装包$suroot#tar-zxvfhadoop-2.6.5.tar.gz //删除安装包#rmhadoop-2.6.5.tar.gz //切换到存有hadoop配置文件的目录#cd/usr/local/hadoop-2.6.5/etc/hadoop //修改hadoop-env.sh文件#vihadoop-env.sh将exportJAVA_HOME=${JAVA_HOME}替换为exportJAVA_HOME=/usr/local/jdk1.7.0_80exportHADOOP_PID_DIR=/home/hadoop_files //配置mapred-env.sh#vimapred-env.shexportHADOOP_MAPRED_PID_DIR=/home/hadoop_files //配置core-site.xml文件#vicore-site.xml --指定hdfs的nameservices名称为mycluster,与hdfs-site.xml的HA配置相同--> fs.defaultFShdfs://cluster1:9000 --指定缓存文件存储的路径--> hadoop.tmp.dir/home/hadoop_files/hadoop_tmp/hadoop/data/tmp --配置hdfs文件被永久删除前保留的时间(单位:分钟),默认值为0表明垃圾回收站功能关闭--> 20 批注[宋超16]:2.0更新 fs.trash.interval1440 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 --指定zookeeper地址,配置HA时需要--> ha.zookeeper.quorumcluster1:2181,cluster2:2181,cluster3:2181 //配置hdfs-site.xml文件#vihdfs-site.xml --指定hdfs元数据存储的路径--> dfs.namenode.name.dir/home/hadoop_files/hadoop_data/hadoop/namenode --指定hdfs数据存储的路径--> dfs.datanode.data.dir/home/hadoop_files/hadoop_data/hadoop/datanode dfs.secondary.http.addresscluster1:50090 --数据备份的个数--> dfs.replication3 --关闭权限验证--> dfs.permissions.enabledfalse --开启WebHDFS功能(基于REST的接口服务)--> 21 dfs.webhdfs.enabledtrue 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 //配置mapred-site.xml文件#vimapred-site.xml --指定MapReduce计算框架使用YARN--> mapreduce.framework.nameyarn --指定jobhistoryserver的rpc地址--> mapreduce.jobhistory.addresscluster1:10020 --指定jobhistoryserver的http地址--> mapreduce.jobhistory.webapp.addresscluster1:19888 //配置yarn-site.xml文件#viyarn-site.xml --NodeManager上运行的附属服务,需配置成mapreduce_shuffle才可运行MapReduce程序--> yarn.nodemanager.aux-servicesmapreduce_shuffle --配置WebApplicationProxy安全代理(防止yarn被攻击)--> yarn.web-proxy.addresscluster2:8888 --开启日志--> 22 yarn.log-aggregation-enabletrue 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 --配置日志删除时间为7天,-1为禁用,单位为秒--> yarn.log-aggregation.retain-seconds604800 --修改日志目录--> yarn.nodemanager.remote-app-log-dir/home/hadoop_files/hadoop_logs/yarnyarn.resourcemanager.addresscluster1:8032yarn.resourcemanager.scheduler.addresscluster1:8030yarn.resourcemanager.resource-tracker.addresscluster1:8031 //配置slaves文件#vislaves删除localhost添加以下内容:cluster1cluster2cluster3 //创建配置文件中涉及的目录(在所有结点上)#mkdir-p/home/hadoop_files/hadoop_data/hadoop/namenode#mkdir-p/home/hadoop_files/hadoop_data/hadoop/datanode#mkdir-p/home/hadoop_files/hadoop_tmp/hadoop/data/tmp#mkdir-p/home/hadoop_files/hadoop_logs/yarn 23 //修改文件夹权限(在所有结点上)#chown-Rhadoop:hadoop/home/hadoop_files/#chown-Rhadoop:hadoop/usr/local/hadoop-2.6.5/ 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 //将cluster1的hadoop工作目录同步到集群其它节点$scp-r/usr/local/hadoop-2.6.5cluster2:/usr/local/$scp-r/usr/local/hadoop-2.6.5cluster3:/usr/local/ //修改文件夹权限(在所有结点上)#chown-Rhadoop:hadoop/usr/local/hadoop-2.6.5/ //在集群各节点上修改环境变量#vi/etc/profileexportHADOOP_HOME=/usr/local/hadoop-2.6.5exportLD_LIBRARY_PATH=$HADOOP_HOME/lib/nativeexportPATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH //使修改的环境变量生效$source/etc/profile //启动zookeeper集群(分别在cluster1,cluster2和cluster3上执行)$zkServer.shstart 接下来开始格式化://启动journalnode(在所有datanode上执行,也就是cluster1,cluster2,cluster3)$hadoop-daemon.shstartjournalnode启动后使用jps命令可以看到JournalNode进程 //格式化HDFS(在cluster1上执行)$hdfsnamenode-format //格式化完毕后可关闭journalnode(在所有datanode上执行)$hadoop-daemon.shjournalnode //启动HDFS(cluster1上)$start-dfs.sh //启动后cluster1上使用jps可以看到NameNode,DataNode,SecondaryNameNodecluster2和cluster3上可以看到DataNode$jps //启动YARN(cluster1上)$start-yarn.sh 24 批注[宋超17]:2.0更新批注[宋超18]:2.0更新 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 //启动后cluster1上使用jps可以看到NodeManager,ResourceManagercluster2和cluster3上可以看到NodeManager$jps //以下两条命令是关闭YARN和HDFS的命令,重启服务器或关机前一定要执行,否则有可能导致数据或服务损坏//关闭YARN的命令(cluster1上)$-yarn.sh //关闭HDFS的命令(cluster1上)$-dfs.sh 批注[宋超19]:2.0更新批注[宋超20]:2.0更新 3.7.2测试 启动HDFS后,可以在浏览器中,打开192.168.56.121:50070,可以看到HDFS的web界面 第一页Overview是当前HDFS的概况,里面显示了HDFS的启动时间,版本等信息。
点击上面标签栏的第二项Datanodes,可以看到如下界面 25 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 这个页面显示了当前HDFS中的可用节点。
启动YARN后,可以通过浏览器访问192.168.56.121:8088,查看YARN的web界面 该页面展示了所有提交到YARN上的程序,点击左侧的Nodes可以看到YARN的节点 26 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 注意,此处可以看到每个节点的可用内存MemAvail为8G,我们的虚拟机每台内存只有1.5G,之所以出现这个问题是因为我们没有在yarn-site.xml这个文件中对节点的可用内存进行配置,可以增加一下内容进行配置:--配置nodemanager可用的资源内存--> yarn.nodemanager.resource.memory-mb20480 --配置nodemanager可用的资源CPU--> yarn.nodemanager.resource.cpu-vcores24由于我们的虚拟机没有那么大的内存空间以及CPU资源,所以我们暂时不设置这两个参数,在后续实验中,需要同学们设置这个参数以达到集群性能的最大化。
命令行测试://cluster1//切换至hadoop用户的主目录$cd~///新建一个测试文件$vitestfile输入 27 123//保存退出 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 //查看HDFS根目录的文件$hdfsdfs-ls/ //在HDFS的根目录创建test目录$hdfsdfs-mkdir/test //如果出现了mkdir:Cannotcreatedirectory/test.Namenodeisinsafemode.说明HDFS刚启动不久,还在安全检查中。
由于我们的笔记本性能不够强,安全检查的时间会很长,可以使用命令退出安全模式,看到SafemodeisOFF,再执行上面的创建目录的命令$hdfsdfsadmin-safemodeleave //创建完文件夹后再次查看根目录,查看目录是否新建成功$hdfsdfs-ls/ //将测试文件testfile上传至HDFS根目录下的test目录中$hdfsdfs-puttestfile/test //在cluster2上//切换至hadoop用户的主目录$cd~/ //查看HDFS根目录$hdfsdfs-ls/ //查看HDFS根目录下的test目录,可以看到我们刚才在cluster1上上传的文件testfile$hdfsdfs-ls/test //查看HDFS上的/test/testfile文件的内容$hdfsdfs-cat/test/testfile //将HDFS上的/test/testfile下载到本地$hdfsdfs-get/test/testfile //查看本地当前目录内的内容,可以看到刚才下载的testfile$ls 28 批注[宋超21]:2.0更新 3.8安装HBase 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 3.8.1安装 HBase启动的先决条件是zookeeper和Hadoop已经启动//切换至root用户$suroot //在cluster1节点/usr/local/解压hbase安装包#tar-zxvfhbase-1.2.6-bin.tar.gz //进入hbase的conf目录#cd/usr/local/hbase-1.2.6/conf/ //修改hbase-env.sh#vihbase-env.sh将JAVA_HOME,HADOOP_HOME,HBASE_LOG_DIR,HBASE_MANAGES_ZK修改为以下内容:记得去掉前面的##配置JDK安装路径exportJAVA_HOME=/usr/local/jdk1.7.0_80#配置Hadoop安装路径exportHADOOP_HOME=/usr/local/hadoop-2.6.5#设置HBase的日志目录exportHBASE_LOG_DIR=/home/hadoop_files/hadoop_logs/hbase/logs#使用独立的ZooKeeper集群exportHBASE_MANAGES_ZK=false#设置pid的路径exportHBASE_PID_DIR=/home/hadoop_files //配置hbase-site.xml#vihbase-site.xml hbase.rootdirhdfs://cluster1:9000/hbase hbase.cluster.distributedtrue 29 批注[宋超22]:2.0更新 hbase.master60000 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 hbase.tmp.dir/home/hadoop_files/hadoop_tmp/hbase/tmp hbase.zookeeper.quorumcluster1,cluster2,cluster3 hbase.zookeeper.property.dataDir/home/hadoop_files/hadoop_data/zookeeper hbase.zookeeper.property.clientPort2181 zookeeper.session.timeout120000 hbase.regionserver.restart.on.zk.expiretrue hbase.master.info.port60010 //配置regionservers#viregionservers删除localhost 30 添加:cluster1cluster2cluster3 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 //删除hbase的slf4j-log4j12-1.7.5.jar,解决hbase和hadoop的LSF4J包冲突#cd/usr/local/hbase-1.2.6/lib#mvslf4j-log4j12-1.7.5.jarslf4j-log4j12-1.7.5.jar.bk //将hbase工作目录同步到集群其它节点#scp-r/usr/local/hbase-1.2.6/cluster2:/usr/local/#scp-r/usr/local/hbase-1.2.6/cluster3:/usr/local/ //创建hbase的缓存文件目录(所有节点)#mkdir-p/home/hadoop_files/hadoop_tmp/hbase/tmp //创建hbase的日志文件目录(所有节点)$mkdir-p/home/hadoop_files/hadoop_logs/hbase/logs //改权限(所有节点)#chown-Rhadoop:hadoop/usr/local/hbase-1.2.6#chown-Rhadoop:hadoop/home/hadoop_files //在集群各节点上修改环境变量#vi/etc/profileexportHBASE_HOME=/usr/local/hbase-1.2.6exportPATH=$HBASE_HOME/bin:$PATH$source/etc/profile //启动HBase(cluster1上)先启动zookeeper,Hadoop的HDFS和YARN,然后才能启动HBase//启动HDFS(cluster1上)$start-dfs.sh//启动YARN(cluster1上)$start-yarn.sh//启动HBase(cluster1上)$start-hbase.sh启动后cluster1上使用jps可以看到HMaster和HRegionServercluster2和cluster3上可以看到HRegionServer //关机前执行关闭HBase的命令(cluster1上)$-hbase.sh 31 3.8.2测试 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 用浏览器打开192.168.56.121:60010,可以看到HBase的web界面 测试HBase://cluster1上$hbaseshellhbase>create'userinfotable',{NAME=>'username'},{NAME=>'fullname'},{NAME=>'homedir'}hbase>put'userinfotable','r1','username','vcsa'hbase>put'userinfotable','r2','username','sasuser'hbase>scan'userinfotable'可以看到刚才插入的信息,在web界面也可以看到刚才建立的表。
32 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 删除刚才建立的表:hbase>disable'userinfotable'hbase>drop'userinfotable'hbase>exit 3.8.3可能遇到的问题
1.HRegionServer闪退,在cluster1上使用start-hbase.sh启动后,用jps查看进程,可以看到HRegionServer,过一会儿再看就消失了。
解决方法:有可能是时间不同步导致的问题,检查三台服务器的时间是否还同步。
3.9安装Hive 3.9.1安装 以下内容除在MySQL中创建hive用户和创建hive数据库只用操作一次,其他操作需要在每个Hadoop结点上都执行一次。
注:hive能启动的先决条件是MySQL已经安装并配置完成,而且HDFS也要启动之后才能运行hive$suroot#cpapache-hive-1.1.0-bin.tar.gz/usr/local#cd/usr/local#tar-zxvf./apache-hive-1.1.0-bin.tar.gz#vi/etc/profile 33 批注[宋超23]:2.0更新 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 //在下面加上两行:exportHIVE_HOME=/usr/local/apache-hive-1.1.0-binexportPATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH //root用户登陆MySQL#mysql-uroot-p//创建用户hive,密码hivemysql>GRANTUSAGEON*.*TO'hive'@'%'IDENTIFIEDBY'hive'WITHGRANTOPTION;//创建数据库hivemysql>createdatabasehive;//允许任意ip以hive登陆数据库mysql>grantallonhive.*tohive@'%'identifiedby'hive';mysql>grantallonhive.*tohive@'localhost'identifiedby'hive';mysql>grantallonhive.*tohive@'cluster2'identifiedby'hive';//刷新权限mysql>flushprivileges;//退出mysql>exit; //验证hive用户,密码hive #mysql-uhive-p //查看当前的数据库 mysql>showdatabases; 若看到下面有hive这个库,则说明创建成功 +-------------------------------+ |Database | +-------------------------------+ |information_schema| |hive | +-------------------------------+ 2rowsinset(0.00sec) //退出mysql mysql>exit; //修改hive-site.xml#cpapache-hive-1.1.0-bin/conf/hive-default.xml.templateapache-hive-1.1.0-bin/conf/hive-site.xml#viapache-hive-1.1.0-bin/conf/hive-site.xml找到以下property项,value值修改成如下,其他的在hive-site.xml中出现,但是下文没出现的就不需要更改了: javax.jdo.option.ConnectionURLjdbc:mysql://cluster2:3306/hive 34 批注[宋超24]:2.02更新 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 javax.jdo.option.ConnectionDriverName<.mysql.jdbc.Driver javax.jdo.option.ConnectionPasswordhive hive.hwi.listen.port9999ThisistheporttheHiveWebInterfacewilllistenon datanucleus.autoCreateSchematrue datanucleus.fixedDatastorefalse javax.jdo.option.ConnectionUserNamehiveUsernametouseagainstmetastoredatabase hive.exec.local.scratchdir/home/hadoop_files/hadoop_tmp/hive/iotmpLocalscratchspaceforHivejobs hive.downloaded.resources.dir/home/hadoop_files/hadoop_tmp/hive/iotmpTemporarylocaldirectoryforaddedresourcesintheremotefilesystem. 35 批注[c25]:与原文件相同 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 hive.querylog.location/home/hadoop_files/hadoop_logs/hive/querylogLocationofHiveruntimestructuredlogfile //拷贝mysql-connector-java-5.1.43-bin.jar到hive的lib下面#cpmysql-connector-java-5.1.43-bin.jar/usr/local/apache-hive-1.1.0-bin/lib/ //把jline-2.12.jar拷贝到hadoop相应的目录下,替代jline-0.9.94.jar,否则启动会报错#cp/usr/local/apache-hive-1.1.0-bin/lib/jline-2.12.jar/usr/local/hadoop-2.6.5/share/hadoop/yarn/lib/ //切换到hadoop目录中share/hadoop/yarn/lib#cd/usr/local/hadoop-2.6.5/share/hadoop/yarn/lib/ //将hadoop-2.6.5/share/hadoop/yarn/lib/里面的jline-0.9.94重命名#mvjline-0.9.94.jarjline-0.9.94.jar.bak //创建hive临时文件夹和日志目录#mkdir-p/home/hadoop_files/hadoop_tmp/hive/iotmp#mkdir-p/home/hadoop_files/hadoop_logs/hive/querylog//改一下权限#chown-Rhadoop:hadoop/home/hadoop_files/#chown-Rhadoop:hadoop/usr/local/apache-hive-1.1.0-bin 3.9.2测试 //打开hive客户端$hivehive>createtabletest_table(idint,namestring);hive>insertintotest_tablevalues(
1,”test”); //换台服务器hive>showtables;应该可以看到刚才创建的test_tablehive>select*fromtest_table;hive>droptabletest_table;hive>showtables;hive>exit; 36 3.10安装Scala 在cluster1上$suroot#mvscala-2.10.6.tgz/usr/local#tar-zxvfscala-2.10.6.tgz#vi/etc/profile最下面加两行:exportSCALA_HOME=/usr/local/scala-2.10.6exportPATH=$SCALA_HOME/bin:$PATH//刷新环境变量#source/etc/profile//查看版本,验证安装是否成功#scala-version //复制到所有的服务器上#scp-r/usr/local/scala-2.10.6cluster2:/usr/local/#scp-r/usr/local/scala-2.10.6cluster3:/usr/local/ //在每一个节点上修改环境变量#vi/etc/profileexportSCALA_HOME=/usr/local/scala-2.10.6exportPATH=$SCALA_HOME/bin:$PATH //刷新环境变量#source/etc/profile //修改文件夹权限(每一个节点都要操作)#chown-Rhadoop:hadoop/usr/local/scala-2.10.6 3.11安装Spark 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 3.11.1安装 (所有节点都要操作)下载spark-1.6.3-bin-hadoop2.6.tgz//解压#cpspark-1.6.3-bin-hadoop2.6.tgz/usr/local#cd/usr/local/#tar-zxvfspark-1.6.3-bin-hadoop2.6.tgz#cdspark-1.6.3-bin-hadoop2.6//环境变量 37 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 #vi/etc/profile添加以下内容:exportSPARK_HOME=/usr/local/spark-1.6.3-bin-hadoop2.6exportPATH=$SPARK_HOME/bin:$PATH主节点要再加一行(cluster1):exportPATH=$SPARK_HOME/sbin:$PATH //复制conf文件夹里面template一份,改名为spark-env.sh#cpconf/spark-env.sh.templateconf/spark-env.sh //在conf/spark-env.sh最下面加入以下7行:#viconf/spark-env.shexportJAVA_HOME=/usr/local/jdk1.7.0_80exportSCALA_HOME=/usr/local/scala-2.10.6exportSPARK_MASTER_IP=cluster1exportHADOOP_CONF_DIR=/usr/local/hadoop-2.6.5/etc/hadoopexportSPARK_DIST_CLASSPATH=$(/usr/local/hadoop-2.6.5/bin/hadoopclasspath)exportSPARK_CLASSPATH=$HIVE_HOME/lib/mysql-connector-java-5.1.43-bin.jarexportSPARK_PID_DIR=/home/hadoop_files //在conf下面新建一个叫slaves的文件#viconf/slaves添加以下几行cluster1cluster2cluster3 //将hive目录下conf文件夹中的hive-site.xml复制到spark的conf目录下#cd/usr/local/#cpapache-hive-1.1.0-bin/conf/hive-site.xmlspark-1.6.3-bin-hadoop2.6/conf/ //将hadoop/etc/hadoop文件中的hdfs-site.xml和core-site.xml文件复制到spark的conf目录下#cphadoop-2.6.5/etc/hadoop/hdfs-site.xmlhadoop-2.6.5/etc/hadoop/core-site.xmlspark-1.6.3-bin-hadoop2.6/conf/ //将conf目录下的spark-defaults.conf.template复制一份,改名为spark-default.conf#cdspark-1.6.3-bin-hadoop2.6/conf/#cpspark-defaults.conf.templatespark-defaults.conf#vispark-defaults.conf //在最下面加上下面这一行spark.filesfile:///usr/local/spark-1.6.3-bin-hadoop2.6/conf/hdfs-site.xml,file:///usr/local/spark-1.6.3-binhadoop2.6/conf/core-site.xml
保存后退出即可。
38 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 //复制到所有的服务器上#scp-r/usr/local/spark-1.6.3-bin-hadoop2.6cluster2:/usr/local/#scp-r/usr/local/spark-1.6.3-bin-hadoop2.6cluster3:/usr/local/ //修改spark文件夹的权限(每个spark结点)#chown-Rhadoop:hadoop/usr/local/spark-1.6.3-bin-hadoop2.6 //运行Spark(cluster1上)运行spark前需启动hadoop的HDFS和YARN$start-master.sh$start-slaves.sh //关闭Spark的命令(cluster1上)$-slaves.sh$-master.sh 批注[宋超26]:2.0更新 3.11.2测试 在cluster1上使用jps命令可以看到Master和Worker,cluster2和3上可以看到Worder用浏览器访问192.168.56.121:8080可以看到Spark的web界面,可以看到3个worker 批注[宋超27]:2.0更新 39 3.12安装Storm 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 storm需要python2.6以上的版本//查看python版本#python 可以在最上面一行看到python的版本//退出python交互式界面>>>exit()如果版本低于2.6,使用yuminstallpython,安装Python2.7 (以下都要在所有节点上操作)将下载的storm解压到/usr/local下 //添加环境变量#vi/etc/profileexportSTORM_HOME=/usr/local/apache-storm-1.1.1exportPATH=$STORM_HOME/bin:$PATH //改一下权限#chown-Rhadoop:hadoopapache-storm-1.1.1//更改配置文件#viapache-storm-1.1.1/conf/storm.yaml 里面有两个要改的地方第一个是storm.zookeeper.servers: -“cluster1”-“cluster2”-“cluster3”第二个是加入一行storm.local.dir:“/home/hadoop_files/hadoop_tmp/storm/tmp”切记:冒号左右要有空格,否则会报错couldnotfoundexpected‘:’storm.local.dir的最左边也要有一个空格//然后新建tmp文件夹,改权限#mkdir-p/home/hadoop_files/hadoop_tmp/storm/tmp#chown-Rhadoop:hadoop/home/hadoop_files#chown-Rhadoop:hadoop/usr/local/apache-storm-1.1.1 //新建storm-master的虚拟窗口(cluster1)$screen-Sstorm-master$stormnimbus$Ctrl+A+D 40 数据仓库与大数据工程笔记本虚拟机搭建Hadoop集群操作文档 //新建storm-supervisor的虚拟窗口(cluster2,cluster3)$screen-Sstorm-supervisor$stormsupervisor$Ctrl+A+D//新建storm-ui的虚拟窗口(cluster1)$screen-Sstorm-ui$stormui$Ctrl+A+D//新建storm-logviewer的虚拟窗口(cluster1,cluster2,cluster3)$screen-Sstorm-logviewer$stormlogviewer$Ctrl+A+D使用jps可以看到以下进程cluster1:nimbus,core,logviewercluster2:Supervisor,logviewercluster3:Supervisor,logviewer关闭的过程就是按逆向的顺序进入虚拟窗口后,使用Ctrl+C退出即可。
41

标签: #驱动程序 #镜像文件 #镜像文件 #应用程序 #文件夹 #压缩文件 #压缩文件 #文件