分布式hadoop与spark集群搭建.docx
- 文档编号:9148131
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:28
- 大小:1.91MB
分布式hadoop与spark集群搭建.docx
《分布式hadoop与spark集群搭建.docx》由会员分享,可在线阅读,更多相关《分布式hadoop与spark集群搭建.docx(28页珍藏版)》请在冰豆网上搜索。
分布式hadoop与spark集群搭建
1、设置root用户密码,以root用户登录,设置方式如下
sudo-s
gedit/etc/lightdm/lightdm.conf
[SeatDefaults]
greeter-session=unity-greeter
user-session=Ubuntu
greeter-show-manual-login=true
allow-guest=false
启用root帐号:
(Ubuntu默认是禁止root账户的)
sudopasswdroot
设置好密码,重启系统,选择“login”,输入“root”,再输入密码就可以了。
2、配置机器的/etc/hosts和/etc/hostname并安装ssh设置三台机器之间的无密码登录,在“/etc/hostname”文件中把三台机器的hostname分别设置了SparkMaster、SparkWorker1、SparkWorker2并在每台机器的“/etc/hosts”配置如下IP和机器名称的对应关系:
127.0.0.1localhost
192.168.32.131SparkMaster
192.168.32.132SparkWorker1
192.168.32.133SparkWorker2
#ThefollowinglinesaredesirableforIPv6capablehosts
:
:
1ip6-localhostip6-loopback
fe00:
:
0ip6-localnet
ff00:
:
0ip6-mcastprefix
ff02:
:
1ip6-allnodes
ff02:
:
2ip6-allrouters
可通过ipconfig来查看ip地址。
可以pingSparkWorker1来查看ip是否配置成功
下面配置ssh无密码登陆:
1)apt-getinstallssh
2)/etc/init.d/sshstart,启动服务
3)ps-e|grepssh,验证服务是否正常启动
4)设置免密登陆,生成私钥和公钥:
ssh-keygen-trsa-P“”
再/root/.ssh中生成两个文件:
id_rsa和id_rsa.pub,id_rsa为私钥,id_rsa.pub为公钥,我们将公钥追加到authorized_keys中,
cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
将SparkWorker1、SparkWorker2的id_rsa.pub传给SparkMaster,使用scp命令进行复制:
SparkWorker1上,
scp~/.ssh/id_rsa.pubroot@SparkMaster:
~/.ssh/id_rsa.pub.SparkWorker1
SparkWorker2上,
scp~/.ssh/id_rsa.pubroot@SparkMaster:
~/.ssh/id_rsa.pub.SparkWorker2
然后将公钥添加到SparkMaster的authorized_keys中,
SparkMaster上,
cd~/.ssh
catid_rsa.pub.SparkWorker1>>authorized_keys
catid_rsa.pub.SparkWorker2>>authorized_keys
再将SparkMaster的authorized_keys复制到SparkWorker1、SparkWorker2的.ssh目录下:
scpauthorized_keysroot@SparkWorker1:
~/.ssh/authorized_keys
scpauthorized_keysroot@SparkWorker2:
~/.ssh/authorized_keys
至此,ssh无密登陆已配置完毕。
sshSparkMaster
sshSparkWorker1
sshSparkWorker2
在一台机器上可以登录其他系统无需密码。
3、配置java环境
SparkMaster上,jdk-8u25-linux-i586.tar.gz
mkdir/urs/lib/java
cd/urs/lib/java
tar-zxvfjdk-8u25-linux-i586.tar.gz
gedit~/.bashrc
在最后面添加,后面都用得上
#JAVA
exportJAVA_HOME=/usr/lib/java/jdk1.8.0_25
exportJRE_HOME=${JAVA_HOME}/jre
exportCLASS_PATH=.:
${JAVA_HOME}/lib:
${JRE_HOME}/lib
exportHADOOP_HOME=/usr/local/hadoop/hadoop-2.6.0
exportHADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
exportHADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
exportSCALA_HOME=/usr/lib/scala/scala-2.11.4
exportSPARK_HOME=/usr/local/spark/spark-1.2.0-bin-hadoop2.4
exportIDEA_HOME=/usr/local/idea/idea-IC-139.659.2
exportPATH=${IDEA_HOME}/bin:
${SPARK_HOME}/bin:
${SCALA_HOME}/bin:
${HADOOP_HOME}/bin:
${JAVA_HOME}/bin:
$PATH
source~/.bashrc,使配置生效。
java-version可查看版本号,可验证是否成功。
在SparkWorker1,SparkWorker2上以同样方法配置,也可通过scp复制。
scp-r/usr/lib/java/jdk1.8.0_25root@SparkWorker1:
~/usr/lib/java/
scp-r/usr/lib/java/jdk1.8.0_25root@SparkWorker2:
~/usr/lib/java/
scp~/.bashrcroot@SparkWorker1:
~/.bashrc
scp~/.bashrcroot@SparkWorker2:
~/.bashrc
复制完成后,在SparkWorker1,SparkWorker2上source~/.bashrc使配置生效。
4、配置hadoop环境
SparkMaster上,hadoop-2.6.0.tar.gz
mkdir/urs/lib/hadoop
cd/urs/lib/hadoop
tar-zxvfhadoop-2.6.0.tar.gz
cdhadoop-2.6.0
mkdirdfs
cddfs
mkdirname
mkdirdata
cd..
mkdirtmp
接下来开始修改hadoop的配置文件,首先进入Hadoop2.6.0配置文件区:
cdetc/hadoop
第一步修改配置文件hadoop-env.sh,在其中加入“JAVA_HOME”,指定我们安装的“JAVA_HOME”:
#Thejavaimplementationtouse.
exportJAVA_HOME=/usr/lib/java/jdk1.8.0_25
第二步修改配置文件yarn-env.sh,在其中加入“JAVA_HOME”,
#someJavaparameters
exportJAVA_HOME=/usr/lib/java/jdk1.8.0_25
if["$JAVA_HOME"!
=""];then
#echo"runjavain$JAVA_HOME"
JAVA_HOME=$JAVA_HOME
fi
第三步修改配置文件mapred-env.sh,在其中加入“JAVA_HOME”,如下所示:
#exportJAVA_HOME=/home/y/libexec/jdk1.6.0/
exportJAVA_HOME=/usr/lib/java/jdk1.8.0_25
exportHADOOP_JOB_HISTORYSERVER_HEAPSIZE=1000
exportHADOOP_MAPRED_ROOT_LOGGER=INFO,RFA
第四步修改配置文件slaves,设置Hadoop集群中的从节点为SparkWorker1和SparkWorker2,
SparkWorker1
SparkWorker2
第五步修改配置文件core-site.xml,如下所示:
xmlversion="1.0"encoding="UTF-8"?
>
xml-stylesheettype="text/xsl"href="configuration.xsl"?
>
--
LicensedundertheApacheLicense,Version2.0(the"License");
youmaynotusethisfileexceptincompliancewiththeLicense.
YoumayobtainacopyoftheLicenseat
http:
//www.apache.org/licenses/LICENSE-2.0
Unlessrequiredbyapplicablelaworagreedtoinwriting,software
distributedundertheLicenseisdistributedonan"ASIS"BASIS,
WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied.
SeetheLicenseforthespecificlanguagegoverningpermissionsand
limitationsundertheLicense.SeeaccompanyingLICENSEfile.
-->
--Putsite-specificpropertyoverridesinthisfile.-->
//SparkMaster:
9000
第六步修改配置文件hdfs-site.xml,如下所示:
xmlversion="1.0"encoding="UTF-8"?
>
xml-stylesheettype="text/xsl"href="configuration.xsl"?
>
--
LicensedundertheApacheLicense,Version2.0(the"License");
youmaynotusethisfileexceptincompliancewiththeLicense.
YoumayobtainacopyoftheLicenseat
http:
//www.apache.org/licenses/LICENSE-2.0
Unlessrequiredbyapplicablelaworagreedtoinwriting,software
distributedundertheLicenseisdistributedonan"ASIS"BASIS,
WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied.
SeetheLicenseforthespecificlanguagegoverningpermissionsand
limitationsundertheLicense.SeeaccompanyingLICENSEfile.
-->
--Putsite-specificpropertyoverridesinthisfile.-->
第七步修改配置文件mapred-site.xml,如下所示:
拷贝一份mapred-site.xml.template命名为mapred-site.xml,打开mapred-site.xml,
cpmapred-site.xml.templatemapred-site.xml
xmlversion="1.0"?
>
xml-stylesheettype="text/xsl"href="configuration.xsl"?
>
--
LicensedundertheApacheLicense,Version2.0(the"License");
youmaynotusethisfileexceptincompliancewiththeLicense.
YoumayobtainacopyoftheLicenseat
http:
//www.apache.org/licenses/LICENSE-2.0
Unlessrequiredbyapplicablelaworagreedtoinwriting,software
distributedundertheLicenseisdistributedonan"ASIS"BASIS,
WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied.
SeetheLicenseforthespecificlanguagegoverningpermissionsand
limitationsundertheLicense.SeeaccompanyingLICENSEfile.
-->
--Putsite-specificpropertyoverridesinthisfile.-->
第八步修改配置文件yarn-site.xml,如下所示:
xmlversion="1.0"?
>
--
LicensedundertheApacheLicense,Version2.0(the"License");
youmaynotusethisfileexceptincompliancewiththeLicense.
YoumayobtainacopyoftheLicenseat
http:
//www.apache.org/licenses/LICENSE-2.0
Unlessrequiredbyapplicablelaworagreedtoinwriting,software
distributedundertheLicenseisdistributedonan"ASIS"BASIS,
WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied.
SeetheLicenseforthespecificlanguagegoverningpermissionsand
limitationsundertheLicense.SeeaccompanyingLICENSEfile.
-->
--SitespecificYARNconfigurationproperties-->
共有八个步骤,建议使用scp命令把SparkMaster上安装和配置的Hadoop的各项内容拷贝到SparkWorker1和SparkWorker2上;
5、启动并验证Hadoop分布式集群
第一步:
格式化hdfs文件系统:
SparkMaster上,
root@SparkMaster:
/usr/local/hadoop/hadoop-2.6.0/bin#hadoopnamenode-format
第二步:
进入sbin中启动hdfs,执行如下命令:
root@SparkMaster:
/usr/local/hadoop/hadoop-2.6.0/sbin#./start-dfs.sh
此时我们发现在SparkMaster上启动了NameNode和SecondaryNameNode;
在SparkWorker1和SparkWorker2上均启动了DataNode:
每次使用“hadoopnamenode-format”命令格式化文件系统的时候会出现一个新的namenodeId,需要把自定义的dfs文件夹的data和name文件夹的内容清空。
SparkWorker1和SparkWorker2的也要删掉。
此时访问http:
//SparkMaster:
50070登录Web控制可以查看HDFS集群的状况:
第三步:
启动yarn集群
root@SparkMaster:
/usr/local/hadoop/hadoop-2.6.0/sbin#./start-yarn.sh
使用jps命令可以发现SparkMaster机器上启动了ResourceManager进程:
而在SparkWorker1和SparkWorker2上则分别启动了NodeManager进程:
在SparkMaster上访问http:
//SparkMaster:
8088可以通过Web控制台查看ResourceManager运行状态:
在SparkMaster上访问http:
//SparkWorker1:
8042可以通过Web控制台查看SparkWorker1上的NodeManager运行状态:
接下来使用“mr-jobhistory-daemon.sh”来启动JobHistoryServer:
启动后可以通过http:
//SparkMaster:
19888在Web控制台上看到JobHistory中的任务执行历史信息:
结束historyserver的命令如下所示:
第四步:
验证Hadoop分布式集群
首先在hdfs文件系统上创建两个目录,创建过程如下所示:
root@SparkMaster:
/usr/local/hadoop/hadoop-2.6.0/bin#hadoopfs-mkdir-p/data/wordcount
root@SparkMaster:
/usr/local/hadoop/hadoop-2.6.0/bin#hadoopfs-mkdir-p/output/
Hdfs中的/data/wordcount用来存放Hadoop自带的WordCount例子的数据文件,程序运行的结果输出到/output/wordcount目录中,透过Web控制可以发现我们成功创建了两个文件夹:
接下来将本地文件的数据上传到HDFS文件夹中:
root@SparkMaster:
/usr/local/hadoop/hadoop-2.6.0/bin#hadoopfs-put../etc/hadoop/*.xml/data/wordcount/
透过Web控制可以发现我们成功上传了文件:
也可通过hadoop的hdfs命令在控制命令终端查看信息:
root@SparkMaster:
/usr/local/hadoop/hadoop-2.6.0/bin#hadoopfs-ls/data/wordcount/
运行Hadoop自带的WordCount例子,执行如下命令:
root@SparkMaster:
/usr/local/hadoop/hadoop-2.6.0/bin#hadoopjar../share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jarwordcount/data/wordcount/output/wordcount
当我们在运行作业的过程中也可以查看Web控制台的信息:
程序运行结束后我们可以执行一下命令查看运行结果:
root@SparkMaster:
/us
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式 hadoop spark 集群 搭建
![提示](https://static.bdocx.com/images/bang_tan.gif)