文章标题

5 篇文章 0 订阅
3 篇文章 0 订阅
                    Spark集群安装用户手册

1. 安装虚拟机,安装centos7(liunx操作系统)虚拟机取名为CDHNode1
2. 为centos7操作系统设置静态ip
2.1虚拟机网络适配器采用桥接方法

2.2配置DNS:
修改 /etc/resolv.conf 文件,添加如下代码:
nameserver 192.168.1.101
2.3.配置固定IP地址:
修改 /etc/sysconfig/network-scripts/ifcfg-eth0 文件,该文件全部代码如下:

设置静态ip完成(虚拟机克隆时只需要改一下ip)克隆虚拟机至五个(192.168.1.101 192.168.1.102 192.168.1.103 192.168.1.104 192.168.1.105)
2.3修改对应的主机名CDHNode1至CDHNode5
Vim etc/sysconfig/network

3.使用Xshell远程连接centos系统
3.1、首先点击新建按钮,如下;在新建会话属性对话框中输入名称和需要连接的主机ip地址。

3.2、接下来点击左侧的用户身份验证,输入要登录主机的用户名和密码,点击确定,此时创建成功。

3.3 4、此时连接成功,即可进行远程操作

3.4依次连接CDHNode1到CDNode5

3.5:同步各主机的时间

a. 使用data设置日期时间
b. date –s 09/31/17 设置日期为2017年09月31日
c. date –s 13:48:59

  1. 配置ssh免密登录
    接上面的配置,我们已经使用Xshell远程登录上五个节点。下面我们就配置免密码登录hadoop用户,如果你使用root用户登录的,需要先切换到hadoop用户,使用 su hadoop命令切换。步骤如下:
    3.1、首先切换到hadoop的家目录下,使用cd /home/hadoop命令来切换。然后在hadoop家目录下创建 .ssh目录。

3.2然后生成hadoop用户的rsa(非对称加密算法),运行如下命令后,一直回车,即可生成hadoop的公钥和私钥 shh –keygen –t rsa

3.3 切换到 .ssh目录下,即可看到已经生成的公钥和私钥。

3.4 按照上面的步骤,在所有节点上生成公钥和私钥,接下来需要把所有节点的公钥发到CDHNode1节点的授权文件。如下图,我们使用Xshell最下方的撰写栏向所有节点发送ssh-copy-id CDHNode1命令。

3.5 可以查看CDHNode1节点的授权文件authorized_keys中是否把所有节点的公钥都添加到此文件中,若有节点没有加入,则可以使用上一步命令重新添加。

3.6然后我们就把这个文件拷贝到其他节点的.ssh目录下

CDHNode3、CDHNode4、CDHNode5按照上述命令自己执行。注意,这个命令是在CDHNode1节点上执行的。
3.7根据下图,可以看到CDHNode5下已经复制了一份authorized_keys文件。下面以CDHNode5为例,修改.ssh目录以及.ssh目录下的文件的权限。其他节点按照如下步骤 一 一 修改

3.8修改好权限后,至此ssh配置成功,可以使用ssh测试是否配置成功,第一次使用ssh连接其他节点时需要输入yes,退出使用exit命令,在第二次登陆时,就不需要在输入,如下图直接登陆并显示最后登录时间

提示:rsa非对称加密算法是把公钥发送个对方,对方使用公钥对数据进行加密后,自己在使用私钥对数据进行解密。
免密码登录的原理:
1. 需要依靠密钥,也就是自己创建的一对密钥,并把公钥放到需要访问的服务器上。
2. 如果你需要连接SSH服务器,客户端软件就会向服务器发出请求,请求用你的密钥进行安全验证。
3. 服务器收到请求后,现在该服务器上的主目录下寻找你的公钥,然后把它和你发送过来的公钥进行比较。如果两个密钥一致,服务端就用公钥加密“质询”(challenge),并把它发送给客户端软件。
4. 客户端收到“质询”后,就用你的私钥进行解密。再把它发送个服务器。
5. 服务器比较发送来的“质询”和原先的是否一致,如果一致则进行授权,完成建立会话的操作。
脚本工具的使用
此处使用脚本文件的目的是为了简化安装步骤,毕竟有五个节点,如果全部使用命令一个一个操作,太费时费力了。为了简化操作,我们使用脚本文件来帮助我们执行多个重复的命令。就就相当于windows的批处理,把所有的命令集中起来,一个命令完成多个操作。
下面我们在CDHNode1节点上新建三个文件,deploy.conf(配置文件),deploy.sh(实现文件复制的shell脚本文件),runRemoteCdm.sh(在远程节点上执行命令的shell脚本文件)。
1、我们把三个文件放到/home/hadoop/tools目录下,先创建此目录
[hadoop@CDHNode1 ~] mkdir/home/hadoop/tools2tools[hadoop@CDHNode1 ] cd tools
3、首先创建deploy.conf文件
[hadoop@CDHNode1 tools]$ vi deploy.conf

CDHNode1,all,zookeeper,journalnode,namenode,resourcemanager,
CDHNode2,all,slave,zookeeper,journalnode,namenode,datanode,resourcemanager,
CDHNode3,all,slave,zookeeper,journalnode,datanode,nodemanager,
CDHNode4,all,slave,journalnode,datanode,nodemanager,
CDHNode5,all,slave,journalnode,datanode,nodemanager,
先解释一下这个文件,这个文件就是配置在每个几点上的功能。比如zookeeper安装在CDHnode1、CDHnode2、CDHnode3这三个主机上。其他的自己对比查看。
4、创建deploy.sh文件
[hadoop@CDHNode1 tools]$ vi deploy.sh

!/bin/bash

set -x

if [ $# -lt 3 ]
then
echo “Usage: ./deply.sh srcFile(or Dir) descFile(or Dir) MachineTag”
echo “Usage: ./deply.sh srcFile(or Dir) descFile(or Dir) MachineTag confFile”
exit
fi

src= 1dest= 2
tag= 3if[a 4’a’ == ‘aa’ ]
then
confFile=/usr/hadoop/tools/deploy.conf
else
confFile=$4
fi

if [ -f confFile]thenif[f src ]
then
for server in cat $confFile|grep -v '^#'|grep ','$tag','|awk -F',' '{print $1}'
do
scp src server”:” destdoneelif[d src ]
then
for server in cat $confFile|grep -v '^#'|grep ','$tag','|awk -F',' '{print $1}'
do
scp -r src server”:”${dest}
done
else
echo “Error: No source file exist”
fi

else
echo “Error: Please assign config file or run deploy.sh command with deploy.conf in same directory”
fi

5、创建 runRemoteCmd.sh 脚本文件
[hadoop@CDHNode1 tools]$ vi runRemoteCmd.sh

!/bin/bash

set -x

if [ $# -lt 2 ]
then
echo “Usage: ./runRemoteCmd.sh Command MachineTag”
echo “Usage: ./runRemoteCmd.sh Command MachineTag confFile”
exit
fi

cmd= 1tag= 2
if [ ‘a’$3’a’ == ‘aa’ ]
then

confFile=/usr/hadoop/tools/deploy.conf
else
confFile=$3
fi

if [ -f $confFile ]
then
for server in cat $confFile|grep -v '^#'|grep ','$tag','|awk -F',' '{print $1}'
do
echo “********* serverssh server "source /etc/profile; $cmd”
done
else
echo “Error: Please assign config file or run deploy.sh command with deploy.conf in same directory”
fi

6、给脚本文件添加执行权限。
[hadoop@CDHNode1 tools] chmodu+xdeploy.sh[hadoop@CDHNode1tools] chmod u+x runRemoteCmd.sh

7、把tools目录添加到环境变量PATH中。
[hadoop@CDHNode1 tools]$vi /home/hadoop/.bash_profile
添加下面内容?

tools

export PATH= PATH:/home/hadoop/tools8[hadoop@CDHNode1tools] source /home/hadoop/.bash_profile

9、在CDHNode1节点上,通过runRemoteCmd.sh脚本,一键创建所有节点的软件安装目录/home/hadoop/app。
[hadoop@CDHNode1 tools]$ runRemoteCmd.sh “mkdir /home/hadoop/app” all

我们可以在所有节点查看到/home/hadoop/app目录已经创建成功。

我们先来说一下软件的安装步骤:
对于解压安装的软件,安装步骤为:
1. 使用rz命令上传要安装的文件,此命令只能在远程连接工具xshell上执行,不能再centos虚拟机上执行
2. 使用tar -zxvf softwarename.tar.gz
3. 修改配置文件(根据需要而定,有时可省略)
4. 在环境变量文件中配置环境变量
5. 使用source 是环境变量文件即时生效。
安装JDK
首先在CDHNode1上安装jdk,然后复制到其他节点。
1、上传使用rz后,找到下载的jdk文件(jdk-7u79-Linux-x64.tar.gz )即可,选择后就可以上传,上传需要时间。
[hadoop@CDHNode1 ~] cd/home/hadoop/app[hadoop@CDHNode1app] rz //选择本地的下载好的jdk

2、解压.jdk-8u131-linux-i586.tar.gz
[hadoop@CDHNode1 app]$ tar zxvf jdk-7u79-linux-x64.tar.gz //解压

3、修改jdk的名字,删除上传的压缩文件.jdk-8u131-linux-i586.tar.gz
[hadoop@CDHNode1 app] mvj.jdk8u131linuxi586.tar.gz[hadoop@CDHNode1app] rm -rf .jdk-8u131-linux-i586.tar.gz

4、配置环境变量
[hadoop@CDHNode1 app]$vi /home/hadoop/.bash_profile

java

export JAVA_HOME=/home/hadoop/app/jdk
export CLASSPATH=.: JAVAHOME/lib: CLASSPATH
export PATH= PATH: JAVA_HOME/bin:$JAVA_HOME/jre/bin

5、使环境变量文件即时生效
[hadoop@CDHNode1 app]$source /home/hadoop/.bash_profile

6、查看是否安装成功,查看Java版本
[hadoop@CDHNode1 app]# java -version

出现以上结果就说明CDHNode1节点上的jdk安装成功。
然后将CDHNode1下的jdk安装包复制到其他节点上。
[hadoop@CDHNode1 app]$ deploy.sh jdk /home/hadoop/app/ slave

CDHNode2、CDHNode3、CDHNode4、CDHNode5加点重复CDHNode1上的jdk配置即可。就是在其他节点上从第4步开始配置。
、安装Zookeeper
首先在CDHNode1上安装Zookeeper,然后复制到其他节点。
1、 将本地下载好的zookeeper-3.4.6.tar.gz安装包,上传至CDHNode1节点下的/home/hadoop/app目录下。
[hadoop@CDHNode1 app]$ rz //选择本地下载好的zookeeper-3.4.8.tar.gz

2、解压zookeeper-3.4.8.tar.gz
[hadoop@CDHNode1 app]$ tar zxvf zookeeper-3.4.8.tar.gz

3、修改zookeeper的名字,删除上传的压缩文件zookeeper-3.4.8.tar.gz
[hadoop@CDHNode1 app] rmrfzookeeper3.4.6.tar.gz//zookeeper3.4.8.tar.gz[hadoop@CDHNode1app] mv zookeeper-3.4.8 zookeeper //重命名

4、修改Zookeeper中的配置文件。
[hadoop@CDHNode1 app] cd/home/hadoop/app/zookeeper/conf/[hadoop@CDHNode1conf] cp zoo_sample.cfg zoo.cfg //复制一个
hadoop@CDHNode1 conf]$ vi zoo.cfg

添加下面的

The number of milliseconds of each tick

tickTime=2000

The number of ticks that the initial

synchronization phase can take

initLimit=10

The number of ticks that can pass between

sending a request and getting an acknowledgement

syncLimit=5

the directory where the snapshot is stored.

do not use /tmp for storage, /tmp here is just

example sakes.

数据文件目录与日志目录

dataDir=/home/hadoop/data/zookeeper/zkdata
dataLogDir=/home/hadoop/data/zookeeper/zkdatalog

the port at which the clients will connect

clientPort=2181

server.服务编号=主机名称:Zookeeper不同节点之间同步和通信的端口:选举端口(选举leader)

server.1=CDHNode1:2888:3888
server.2=CDHNode2:2888:3888
server.3=CDHNode3:2888:3888

administrator guide before turning on autopurge.

http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance

The number of snapshots to retain in dataDir

autopurge.snapRetainCount=3

Purge task interval in hours

Set to “0” to disable auto purge feature

autopurge.purgeInterval=1

5、配置环境变量
[hadoop@CDHNode1 app] vi/home/hadoop/.bashprofileexportZOOKEEPERHOME=/home/hadoop/app/zookeeperexportPATH= PATH:$ZOOKEEPER_HOME/bin

6、使环境变量文件即时生效
[hadoop@CDHNode1 app]$source /home/hadoop/.bash_profile

7、通过远程命令deploy.sh将Zookeeper安装目录拷贝到其他节点(CDHNode2、CDHNode3)上面
[hadoop@CDHNode1 app]$deploy.sh zookeeper /home/hadoop/app/ zookeeper

8、通过远程命令runRemoteCmd.sh在所有的zookeeper节点(CDHNode1、CDHNode2、CDHNode3)上面创建目录:
[hadoop@CDHNode1 app] runRemoteCmd.shmkdirp/home/hadoop/data/zookeeper/zkdatazookeeper//[hadoop@CDHNode1app] runRemoteCmd.sh “mkdir -p /home/hadoop/data/zookeeper/zkdatalog” zookeeper //创建日志目录

9、然后分别在CDHNode1、CDHNode2、CDHNode3上面,进入zkdata目录下,创建文件myid,里面的内容分别填充为:1、2、3, 这里我们以CDHNode1为例。
[hadoop@CDHNode1 app] cd/home/hadoop/data/zookeeper/zkdata[hadoop@CDHNode1zkdata] vi myid
//输入数字1
CDHNode2输入数字2、CDHNode3输入数字3。

10、在CDHNode2、CDHNode3上面配置Zookeeper环境变量。按照第5、6步配置。

11、使用runRemoteCmd.sh 脚本,启动所有节点(CDHNode1、CDHNode2、CDHNode3)上面的Zookeeper。

[hadoop@CDHNode1 zkdata]$ runRemoteCmd.sh “/home/hadoop/app/zookeeper/bin/zkServer.sh start” zookeeper

12、查看所有节点上面的QuorumPeerMain进程是否启动。
[hadoop@CDHNode1 zkdata]$ runRemoteCmd.sh “jps” zookeeper

13、查看所有Zookeeper节点状态。

[hadoop@CDHNode1 zkdata]$ runRemoteCmd.sh “/home/hadoop/app/zookeeper/bin/zkServer.sh status” zookeeper

如果一个节点为leader,另2个节点为follower,则说明Zookeeper安装成功。

安装hadoop
首先在CDHNode1上安装hadoop,然后复制到其他节点。
1、 将本地下载好的hadoop-2.7.3.tar.gz安装包,上传至CDHNode1节点下的/home/hadoop/app目录下。
[hadoop@CDHNode1 app]$ rz //选择本地下载好的hadoop-2.7.3.tar.gz

2、 解压hadoop-2.7.3.tar.gz

[hadoop@CDHNode1 app]$ tar zxvf hadoop-2.7.3.tar.gz //解压

3、 修改hadoop的名字,删除上传的压缩文件hadoop-2.7.3.tar.gz
[hadoop@CDHNode1 app] rmrfhadoop2.6.0cdh5.4.5.tar.gz//[hadoop@CDHNode1app] mv hadoop-2.6.0 hadoop //重命名

4、 配置环境变量
[hadoop@CDHNode1 app]$vi /home/hadoop/.bash_profile
添加

hadoop_home 2.7.3 path

HADOOP_HOME=/home/hadoop/app/hadoop
PATH= HADOOPHOME/bin: PATH
export HADOOP_HOME PATH

5、 使环境变量文件即时生效
[hadoop@CDHNode1 app]$source /home/hadoop/.bash_profile

6、 切换到/home/hadoop/app/hadoop/etc/hadoop/目录下,修改配置文件。
[hadoop@CDHNode1 app] cd/home/hadoop/app/hadoop/etc/hadoop/HDFShadoopenv.sh[hadoop@CDHNode1hadoop] vi hadoop-env.sh
export JAVA_HOME=/home/hadoop/app/jdk

配置core-site.xml
[hadoop@CDHNode1 hadoop]$ vi core-site.xml


fs.defaultFS
hdfs://cluster1



hadoop.tmp.dir
/home/hadoop/data/tmp



ha.zookeeper.quorum
CDHNode1:2181,CDHNode2:2181,CDHNode3:2181,CDHNode4:2181,CDHNode5:2181

配置hdfs-site.xml
[hadoop@CDHNode1 hadoop]$ vi hdfs-site.xml


dfs.replication
3



dfs.permissions
false


dfs.permissions.enabled
false



dfs.nameservices
cluster1



dfs.ha.namenodes.cluster1
CDHNode1,CDHNode2



dfs.namenode.rpc-address.cluster1.CDHNode1
CDHNode1:9000



dfs.namenode.http-address.cluster1.CDHNode1
CDHNode1:50070



dfs.namenode.rpc-address.cluster1.CDHNode2
CDHNode2:9000



dfs.namenode.http-address.cluster1.CDHNode2
CDHNode2:50070



dfs.ha.automatic-failover.enabled
true



dfs.namenode.shared.edits.dir
qjournal://CDHNode1:8485;CDHNode2:8485;CDHNode3:8485;CDHNode4:8485;CDHNode5:8485/cluster1



dfs.client.failover.proxy.provider.cluster1
org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider



dfs.journalnode.edits.dir
/home/hadoop/data/journaldata/jn



dfs.ha.fencing.methods
shell(/bin/true)


dfs.ha.fencing.ssh.private-key-files
/home/hadoop/.ssh/id_rsa


dfs.ha.fencing.ssh.connect-timeout
10000



dfs.namenode.handler.count
100

配置 slave
[hadoop@CDHNode1 hadoop]$ vi slaves

CDHNode3

CDHNode4

CDHNode5

YARN安装配置
配置mapred-site.xml
[hadoop@CDHNode1 hadoop]$ vi mapred-site.xml


mapreduce.framework.name
yarn

<– 指定运行mapreduce的环境是Yarn,与hadoop1不同的地方 –>

配置yarn-site.xml
[hadoop@CDHNode1 hadoop]$ vi yarn-site.xml



yarn.resourcemanager.connect.retry-interval.ms
2000



yarn.resourcemanager.ha.enabled
true



yarn.resourcemanager.ha.automatic-failover.enabled
true



yarn.resourcemanager.ha.automatic-failover.embedded
true


yarn.resourcemanager.cluster-id
yarn-rm-cluster



yarn.resourcemanager.ha.rm-ids
rm1,rm2



yarn.resourcemanager.hostname.rm1
CDHNode1



yarn.resourcemanager.hostname.rm2
CDHNode2



yarn.resourcemanager.recovery.enabled
true



yarn.resourcemanager.zk.state-store.address
CDHNode1:2181,CDHNode2:2181,CDHNode3:2181,CDHNode4:2181,CDHNode5:2181



yarn.resourcemanager.zk-address
CDHNode1:2181,CDHNode2:2181,CDHNode3:2181,CDHNode4:2181,CDHNode5:2181



yarn.resourcemanager.address.rm1
CDHNode1:8032



yarn.resourcemanager.scheduler.address.rm1
CDHNode1:8034



yarn.resourcemanager.webapp.address.rm1
CDHNode1:8088



yarn.resourcemanager.address.rm2
CDHNode2:8032



yarn.resourcemanager.scheduler.address.rm2
CDHNode2:8034



yarn.resourcemanager.webapp.address.rm2
CDHNode2:8088



yarn.nodemanager.aux-services
mapreduce_shuffle


yarn.nodemanager.aux-services.mapreduce_shuffle.class
org.apache.hadoop.mapred.ShuffleHandler


向所有节点分发hadoop安装包。
[hadoop@CDHNode1 app]$ deploy.sh hadoop /home/hadoop/app/ slave

建立好目录(用于存放数据的目录):
runRemoteCmd.sh “mkdir -p /home/hadoop/data/name” all
runRemoteCmd.sh “mkdir -p /home/hadoop/data/hdfs/edits” all
runRemoteCmd.sh “mkdir -p /home/hadoop/data/datanode” all
runRemoteCmd.sh “mkdir -p /home/hadoop/data/journaldata/jn” all
runRemoteCmd.sh “mkdir -p /home/hadoop/data/tmp” all
runRemoteCmd.sh “touch /home/hadoop/app/hadoop/etc/hadoop/excludes” all
runRemoteCmd.sh “mkdir -p /home/hadoop/data/pid” all

当你的在初始化工程中出错,要把相关目录的文件删除,然后再重新初始化

rm -rf /home/hadoop/data/name/*
rm -rf /home/hadoop/data/hdfs/edits/*
rm -rf /home/hadoop/data/datanode/*
rm -rf /home/hadoop/data/journaldata/jn/*
rm -rf /home/hadoop/data/tmp/*

集群初始化
1、启动所有节点上面的Zookeeper进程
[hadoop@CDHNode1 hadoop]$ runRemoteCmd.sh “/home/hadoop/app/zookeeper/bin/zkServer.sh start” zookeeper

2、启动所有节点上面的journalnode进程
[hadoop@CDHNode1 hadoop]$ runRemoteCmd.sh “/home/hadoop/app/hadoop/sbin/hadoop-daemon.sh start journalnode” all

2、 首先在主节点上(比如,CDHNode1)执行格式化
[hadoop@CDHNode1 hadoop] bin/hdfsnamenodeformat//namenode[hadoop@CDHNode1hadoop] bin/hdfs zkfc -formatZK //格式化高可用
[hadoop@CDHNode1 hadoop]$bin/hdfs namenode //启动namenode

注意:执行完上述命令后,程序就会在等待状态,只有执行完下一步时,利用按下ctrl+c来结束namenode进程。

4、与此同时,需要在备节点(比如 CDHNode2)上执行数据同步
注意:同时是在执行完上一步后,上一步程序停止的情况下执行此步骤的
[hadoop@CDHNode2 hadoop]$ bin/hdfs namenode -bootstrapStandby //同步主节点和备节点之间的元数据

5、CDHNode2同步完数据后,紧接着在CDHNode1节点上,按下ctrl+c来结束namenode进程。 然后关闭所有节点上面的journalnode进程
[hadoop@CDHNode1 hadoop]$ runRemoteCmd.sh “/home/hadoop/app/hadoop/sbin/hadoop-daemon.sh stop journalnode” all //然后停掉各节点的journalnode

6、如果上面操作没有问题,我们可以一键启动hdfs所有相关进程
[hadoop@CDHNode1 hadoop]$ sbin/start-dfs.sh
启动成功之后,查看关闭其中一个namenode ,然后在启动namenode 观察切换的状况

7、验证是否启动成功
通过web界面查看namenode启动情况。

启动成功之后,查看关闭其中一个namenode ,然后在启动namenode 观察切换的状况
使用命令 kill

上传文件至hdfs
[hadoop@CDHNode1 hadoop] via.txt//a.txthadoopCDHhelloworldCDHhadoop[hadoop@CDHNode1hadoop] hdfs dfs -mkdir /test //在hdfs上创建一个文件目录
[hadoop@CDHNode1 hadoop] hdfsdfsputdjt.txt/test//hdfs[hadoop@CDHNode1hadoop] hdfs dfs -ls /test //查看a.txt是否上传成功

如果上面操作没有问题说明hdfs配置成功。

启动YARN
1、在CDHNode1节点上执行。
[hadoop@CDHNode1 hadoop]$ sbin/start-yarn.sh

2、在CDHNode2节点上面执行。
[hadoop@CDHNode2 hadoop]$ sbin/yarn-daemon.sh start resourcemanager

同时打开一下web界面。
http://192.168.1.101:8088

http://192.168.1.102:8088

关闭1 再启动

集群关启顺序
关闭YARN
a、在CDHNode2节点上面执行

hadoop@CDHNode2 hadoop]$ sbin/yarn-daemon.sh stop resourcemanager

b、在CDHNode1节点上执行
[hadoop@CDHNode1 hadoop]$ sbin/stop-yarn.sh

c、关闭HDFS
hadoop@CDHNode1 hadoop]$ sbin/stop-dfs.sh

d、关闭zookeeper
[hadoop@CDHNode1 hadoop]$ runRemoteCmd.sh “/home/hadoop/app/zookeeper/bin/zkServer.sh stop” zookeeper

再次启动集群
a、启动zookeeper
[hadoop@CDHNode1 hadoop]$ runRemoteCmd.sh “/home/hadoop/app/zookeeper/bin/zkServer.sh start” zookeeper

b、启动HDFS
[hadoop@CDHNode1 hadoop]$ sbin/start-dfs.sh

c、在CDHNode1节点上执行
[hadoop@CDHNode1 hadoop]$ sbin/start-yarn.sh

d、在CDHNode2节点上面执行
[hadoop@CDHNode2 hadoop]$ sbin/yarn-daemon.sh start resourcemanager

至此,hadoop 分布式集群搭建完毕
安装spark集群
1. 按照上面的步骤安装scala
[hadoop@CDHNode1 app] rz//scala2.12.3.tgz[hadoop@CDHNode1app] tar zxvf scala-2.12.3.tgz
[hadoop@CDHNode1 app] rmrfscala2.12.3.tgz[hadoop@CDHNode1app] mv scala-2.12.3 scala

  1. 配置scala
    配置环境变量
    [hadoop@cdhnode1 app]$ vim /home/hadoop/.bash_profile

set scala

export SCALA_HOME=/home/hadoop/app/scala
export PATH= SCALAHOME/bin: PATH

立即生效环境变量的配置
Source /home/Hadoop/.bash_profile

进入scala命令行

向其他节点分发安装包
[hadoop@CDHNode1 app] deploy.shscala/home/hadoop/app/slavespark1./home/Hadoop/app2.spark[hadoop@cdhnode1app] vim /home/hadoop/.bash_profile
添加
export SPARK_HOME=/home/hadoop/app/spark
export PATH= SPARKHOME/bin: PATH

立即生效环境变量的配置
Source /home/Hadoop/.bash_profile

配置spark-env.sh
[hadoop@cdhnode1 app] cdspark/conf/[hadoop@cdhnode1conf] vim spark-env.sh

添加如下内容

set enviroment

export JAVA_HOME=/home/hadoop/app/jdk
export SCALA_HOME=/home/hadoop/app/scala
export SPARK_MASTER_IP=192.168.1.101
export SPARK_WORKER_MEMORY=2g
export HADOOP_CONF_DIR=/home/hadoop/app/hadoop/etc/Hadoop

配置slaves
[hadoop@cdhnode1 conf]$ vim slaves

添加
CDHNode1
CDHNode2
CDHNode3
CDHNode4
CDHNode5

在启动hadoop的基础上启动spark
[hadoop@cdhnode1 spark]$ sbin/start-all.sh

Spark安装完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值