Spark 分布式集群环境搭建
2016-08-24 23:12
387 查看
目录
一、前置知识:..............................................................................................................
3
sudo
命令.......................................................................................................................
3
密码.................................................................................................................................
3
输入法中英文切换.........................................................................................................
3
Ubuntu
终端复制粘贴快捷键.......................................................................................
3
~的含义...........................................................................................................................
4
二、运行环境:..............................................................................................................
4
三、安装步骤:..............................................................................................................
4
1、创建 hadoop
用户并增加管理员权限..................................................................
4
2、更新 apt....................................................................................................................
5
3、安装 vim...................................................................................................................
5
4、安装 SSH
以及配置 SSH 无密码登录..................................................................
5
5、固定 IP
地址............................................................................................................
6
6、修改 hosts................................................................................................................
6
7、配置 SSH
无密码登录节点....................................................................................
7
8、安装 JDK...................................................................................................................
8
9、安装 hadoop2.6.0....................................................................................................
9
10、配置集群/分布式环境..........................................................................................
10
11、安装 Scala............................................................................................................
14
12、安装配置 spark....................................................................................................
14
四、运行集群................................................................................................................
16
1、启动 hadoop
集群................................................................................................
16
2、启动 spark..............................................................................................................
16
五、参考资料................................................................................................................
16
在Linux的终端中输入密码,终端是不会显示任何你当前输入的密码,也不会提示你已经输入了多少字符密码。而在 windows 系统中,输入密码一般都会以“*”表示你输入的密码字符
ubuntu中终端输入的命令一般都是使用英文输入。linux中英文的切换方式是使用键盘“shift”键来切换,也可以点击顶部菜单的输入法按钮进行切换。ubuntu自带的Sunpinyin中文输入法已经足够读者使用。
在 Ubuntu 终端窗口中,复制粘贴的快捷键需要加上 shift,即粘贴是 ctrl+shift+v
系统中,~ 代表的是用户的主文件夹,即 “/home/用户名”
这个目录,如你的用户名为 hadoop,则 ~
就代表“/home/hadoop/”。此外,命令中的 #
后面的文字是注释,只需要输入前面命令即可。
2、确保系统处于联网状态下。
3、hadoop版本、spark版本、scala版本要对应。本教程使用scala2.10.6、 hadoop2.6.0、spark1.6.2pre-built for hadoop2.6版本。也可以从官网下载源码自己进行编译。
sudo useradd -m hadoop -s /bin/bash
这条命令创建了可以登陆的 hadoop 用户,并使用 /bin/bash 作为 shell 接着使用如下命令设置密码,可简单设置为 hadoop,按提示输入两次密码:
sudo passwd Hadoop
为 hadoop 用户增加管理员权限:
sudo adduser hadoop sudo
最后注销当前用户(屏幕右上角的齿轮,点击注销-登出),返回登陆界面使用刚创建的hadoop用户进行登录。
sudo apt-get update
若出现 “Hash 校验和不符” 的提示,可通过更改软件源来解决。若没有该问题,则不需要更改。从软件源下载某些软件的过程中,可能由于网络方面的原因出现没法下载的情况,那么建议更改软件源。在学习Hadoop过程中,即使出现“Hash校验和不符”的提示,也不会影响Hadoop的安装。更改软件源:系统设置-软件和更新-下载自-其他节点-选择服务器-关闭-重新载入
提示确认时按Y即可
Ubuntu 默认已安装了 SSH client,此外还需要安装 SSHserver:
sudo apt-get install openssh-server
安装后,使用如下命令登录本机
ssh localhost
此时会有如下提示(SSH 首次登陆提示),输入 yes 。然后按提示输入密码hadoop,这样就登陆到本机了。
b)配置无密码登录
首先退出刚才的 ssh(exit 指令),就回到了我们原先的终端窗口,然后
利用 ssh-keygen 生成密钥,并将密钥加入到授权中:
exit # 退出刚才的 ssh localhost
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost ssh-keygen -t rsa # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys #加入授权
此时再使用命令即可无密码登录本机了
统设置-网络-有线网络-选项-IPV4设置进行IP地址的分配。
Linux系统中查看IP地址的命令是ifconfig
sudo vim /etc/hostname
将本机名字由localhost改为master(区分大小写)
然后执行如下命令修改自己所用节点的IP映射:
sudo vim /etc/hosts
192.168.1.101是master的IP地址,192.168.1.102是slave1节点的IP
地址,如果有两个以上的节点依此修改即可。修改完成后重启电脑,在终端看到机器名的变化代表修改成功。
以上是在 master 上面的修改,在各个 salve 节点也要做相应修改,对
/etc/hostname(修改为 slave1、slave2 等)和/etc/hosts(与主机配置一样)
两个文件进行修改。
配置好后需要在各个节点上执行如下命令,测试是否相互 ping 得通,如果 ping 不通,后面就无法顺利配置成功。
ping master -c 3 # 只ping 3次,否则要按 Ctrl+c 中断
ping slave1 -c 3
在master节点执行:
scp ~/.ssh/id_rsa.pubhadoop@slave1:/home/hadoop/
scp 是secure copy 的简写,用于在 Linux 下进行远程拷贝文件,类似于 cp 命令,不过 cp 只能在本机中拷贝。执行 scp 时会要求输入 Slave1 上hadoop 用户的密码(hadoop),输入完成后会提示传输完毕,如下图所示:
在slave1节点上执行
用
如果有其他 Slave 节点,也要执行将 Master 公匙传输到 Slave 节点、在 Slave 节点上加入授权这两步。
这样,在 Master 节点上就可以无密码 SSH 到各个 Slave 节点了,可在
Master 节点上执行如下命令进行检验,如下图所示:
mkdir /usr/lib/jvm #创建文件夹
chown -hR hadoop:hadoop/usr/lib/jvm #修改文件夹所有者
运行解压
sudo tar zxvf./jdk-7u79-linux-i586.tar.gz -C /usr/lib/jvm 修改环境变量
vim ~/.bashrc
(设置环境变量的方法和区别参见网页)添加如下信息
exportJAVA_HOME=/usr/lib/jvm/java-1.7.0_79 export JRE_HOME=${JAVA_HOME}/jre exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
使环境变量生效
source ~/.bashrc
此时在终端运行java -version命令,可以看到屏幕输出JDK的版本信息,代表JDK安装成功
注意!master 和 slave 安装路径要是一样的,并且两者系统版本要是一致的,否则启动集群时会报错!这一点同样适用于其他软件。
sudo tar -zxf ~/下载/hadoop-2.6.0.tar.gz -C /usr/ # 解压 cd /usr/local/ sudo mv ./hadoop-2.6.0/./hadoop # 将文件夹名改为hadoop
sudo chown -R hadoop:hadoop./hadoop # 修改文件权限
配置环境变量
vim ~/.bashrc
#添加以下信息
export HADOOP_HOME=/usr/hadoop exportPATH=$PATH:/usr/hadoop/bin:/usr/hadoop/sbin exportHADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native expor
1083f
tHADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/" exportHADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
保存后执行source ~/.bashrc使配置生效
更多设置项可点击查看官方说明,这里仅设置了正常启动所必须的设置项:
slaves 、
core-site.xml
、
hdfs-site.xml
、
mapred-site.xml
、
yarn-
site.xml。
以下在master节点上进行。
(1) 文件 slaves,将作为 DataNode 的主机名写入该文件,每行一个,默认为localhost,所以在伪分布式配置时,节点即作为 NameNode 也作为 DataNode。分布式配置可以保留 localhost,也可以删掉,让 Master 节点仅
作为 NameNode 使用。
本教程让 Master 节点仅作为 NameNode 使用,因此将文件中原来的 localhost 删除,只添加两行内容:slave1和slave2。
(2) 文件core-site.xml改为下面的配置
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/hadoop/tmp</value>
(3) 文件 hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/hadoop/tmp/dfs/data</value>
</property>
</configuration>
(4)文件mapred-site.xml (可能需要先重命名,默认文件名为
mapred-site.xml.template),然后配置修改如下:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
(5)文件 yarn-site.xml配置修改如下:
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
配置好后,将 master 上的 /usr/Hadoop 文件夹复制到各个节点上。在 Master 节点上执行:
cd /usr/ tar -zcf~/hadoop.master.tar.gz ./hadoop # 先压缩再复制 cd ~scp./hadoop.master.tar.gz hadoop@slave1:/home/hadoop
在slave节点执行
sudo rm -r /usr/hadoop # 删掉旧的(如果存在)
sudo tar -zxf ~/hadoop.master.tar.gz -C/usr/ sudo chown -R hadoop /usr/hadoop
同样,如果有其他 Slave 节点,也要执行将 hadoop.master.tar.gz 传输到 Slave 节点、在 Slave 节点解压文件的操作。
首次启动需要先在 Master 节点执行 NameNode 的格式化:
hdfs namenode -format
然后可以启动hadoop了,在master节点执行:
start-dfs.shstart-yarn.sh
mr-jobhistory-daemon.sh starthistoryserver
通过命令 jps 可以查看各个节点所启动的进程。正确的话,在 Master
节点上可以看到NameNode、ResourceManager、SecondrryNameNode、 JobHistoryServer 进程,如下图所示:
在 slave 节点可以看到 DataNode 和 NodeManager 进程,如下图所示:
缺少任一进程都表示出错。另外还需要在Master 节点上通过命令 hdfs
dfsadmin -report 查看 DataNode
是否正常启动,如果 Live datanodes 不
为 0 ,则说明集群启动成功。
如果出现slave结点没有DataNode进程,解决方式如下:切换到hadoo目录,将tmp文件夹下所有内容删除,然后重新执行格式化NameNode命令,再启动hadoop问题即可解决。 Hadoop配置全部完成.
exportSCALA_HOME=/home/test/install/scala-2.11.6 export PATH=$SCALA_HOME/bin:$PATH
在终端中键入scala,能进入Scala命令行即安装成功
Slave需要在同样的路径下安装相同版本的Scala
下载spark1.6.0pre-built for hadoop2.6.0,解压到/usr/目录下,重命
名为spark,修改所有者:
sudo chown -R hadoop:hadoop /usr/spark
修改环境变量:
使用source语句使环境变量生效。
配置spark
进入spark安装目录下的conf目录,修改配置文件:
其中:
JAVA_HOME 指定 Java
安装目录;
SCALA_HOME 指定 Scala
安装目录;
SPARK_MASTER_IP 指定 Spark
集群 Master 节点的 IP 地址;
SPARK_WORKER_MEMORY 指定的是 Worker
节点能够分配给 Executors 的最大内
存大小;
HADOOP_CONF_DIR指定Hadoop
集群配置文件目录。将 slaves.template 拷贝到 slaves,编辑其内容为:
master slave01 slave02
至此master节点的spark安装完成,下面将spark拷贝到slave节点在master节点执行
cd /usr/ tar-zcf ~/spark.master.tar.gz ./spark # 先压缩再复制
cd ~scp ./spark.master.tar.gzhadoop@slave1:/home/hadoop
在slave节点执行
sudo tar -zxf ~/spark.master.tar.gz -C/usr/
sudo chown -R hadoop:hadoop /usr/spark
和master一样,在slave节点添加环境变量。
mr-jobhistory-daemon.sh starthistoryserver
在浏览器中输入master:8080查看集群是否启动。
http://dblab.xmu.edu.cn/blog/spark-quick-start-guide/#more-577
2、Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04
http://dblab.xmu.edu.cn/blog/install-hadoop/
3、Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOShttp://dblab.xmu.edu.cn/blog/install-hadoop-cluster/
4、Hadoop集群(第5期)_Hadoop安装配置
http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html
5、spark
介绍及本地模式、集群模式安装
http://www.aboutyun.com/thread-8160-1-1.html
6、hadoop(2.x)以hadoop2.2为例完全分布式最新高可靠安装文档
http://www.aboutyun.com/thread-7684-1-1.html
7、Spark 1.6.1分布式集群环境搭建
http://www.w2bc.com/article/121907
一、前置知识:..............................................................................................................
3
sudo
命令.......................................................................................................................
3
密码.................................................................................................................................
3
输入法中英文切换.........................................................................................................
3
Ubuntu
终端复制粘贴快捷键.......................................................................................
3
~的含义...........................................................................................................................
4
二、运行环境:..............................................................................................................
4
三、安装步骤:..............................................................................................................
4
1、创建 hadoop
用户并增加管理员权限..................................................................
4
2、更新 apt....................................................................................................................
5
3、安装 vim...................................................................................................................
5
4、安装 SSH
以及配置 SSH 无密码登录..................................................................
5
5、固定 IP
地址............................................................................................................
6
6、修改 hosts................................................................................................................
6
7、配置 SSH
无密码登录节点....................................................................................
7
8、安装 JDK...................................................................................................................
8
9、安装 hadoop2.6.0....................................................................................................
9
10、配置集群/分布式环境..........................................................................................
10
11、安装 Scala............................................................................................................
14
12、安装配置 spark....................................................................................................
14
四、运行集群................................................................................................................
16
1、启动 hadoop
集群................................................................................................
16
2、启动 spark..............................................................................................................
16
五、参考资料................................................................................................................
16
一、前置知识:
sudo 命令
本文中会大量使用到sudo命令。sudo是ubuntu中一种权限管理机制,管理员可以授权给一些普通用户去执行一些需要 root 权限执行的操作。当使用sudo命令时,就需要输入您当前用户的密码.在Linux的终端中输入密码,终端是不会显示任何你当前输入的密码,也不会提示你已经输入了多少字符密码。而在 windows 系统中,输入密码一般都会以“*”表示你输入的密码字符
ubuntu中终端输入的命令一般都是使用英文输入。linux中英文的切换方式是使用键盘“shift”键来切换,也可以点击顶部菜单的输入法按钮进行切换。ubuntu自带的Sunpinyin中文输入法已经足够读者使用。
在 Ubuntu 终端窗口中,复制粘贴的快捷键需要加上 shift,即粘贴是 ctrl+shift+v
~的含义
在 Linux系统中,~ 代表的是用户的主文件夹,即 “/home/用户名”
这个目录,如你的用户名为 hadoop,则 ~
就代表“/home/hadoop/”。此外,命令中的 #
后面的文字是注释,只需要输入前面命令即可。
二、运行环境:
1、主机和从机同时安装同一Ubuntu系统(包括系统版本、系统位数必须要相同)。本教程使用Ubuntu16.04 32位作为系统环境。2、确保系统处于联网状态下。
3、hadoop版本、spark版本、scala版本要对应。本教程使用scala2.10.6、 hadoop2.6.0、spark1.6.2pre-built for hadoop2.6版本。也可以从官网下载源码自己进行编译。
三、安装步骤:
1、创建 hadoop 用户并增加管理员权限
在终端中输入sudo useradd -m hadoop -s /bin/bash
这条命令创建了可以登陆的 hadoop 用户,并使用 /bin/bash 作为 shell 接着使用如下命令设置密码,可简单设置为 hadoop,按提示输入两次密码:
sudo passwd Hadoop
为 hadoop 用户增加管理员权限:
sudo adduser hadoop sudo
最后注销当前用户(屏幕右上角的齿轮,点击注销-登出),返回登陆界面使用刚创建的hadoop用户进行登录。
2、更新 apt
打开终端,输入以下指令sudo apt-get update
若出现 “Hash 校验和不符” 的提示,可通过更改软件源来解决。若没有该问题,则不需要更改。从软件源下载某些软件的过程中,可能由于网络方面的原因出现没法下载的情况,那么建议更改软件源。在学习Hadoop过程中,即使出现“Hash校验和不符”的提示,也不会影响Hadoop的安装。更改软件源:系统设置-软件和更新-下载自-其他节点-选择服务器-关闭-重新载入
3、安装 vim
sudo apt-get install vim提示确认时按Y即可
4、安装 SSH 以及配置 SSH 无密码登录
a)安装SSHUbuntu 默认已安装了 SSH client,此外还需要安装 SSHserver:
sudo apt-get install openssh-server
安装后,使用如下命令登录本机
ssh localhost
此时会有如下提示(SSH 首次登陆提示),输入 yes 。然后按提示输入密码hadoop,这样就登陆到本机了。
b)配置无密码登录
首先退出刚才的 ssh(exit 指令),就回到了我们原先的终端窗口,然后
利用 ssh-keygen 生成密钥,并将密钥加入到授权中:
exit # 退出刚才的 ssh localhost
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost ssh-keygen -t rsa # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys #加入授权
此时再使用命令即可无密码登录本机了
5、固定 IP 地址
默认IP地址分配是自动获取的,我们需要手动获取一个固定的IP地址。系统设置-网络-有线网络-选项-IPV4设置进行IP地址的分配。
Linux系统中查看IP地址的命令是ifconfig
6、修改 hosts
为了便于区分,修改各个节点的主机名,首先在 master 节点上作如下修改:sudo vim /etc/hostname
将本机名字由localhost改为master(区分大小写)
然后执行如下命令修改自己所用节点的IP映射:
sudo vim /etc/hosts
192.168.1.101是master的IP地址,192.168.1.102是slave1节点的IP
地址,如果有两个以上的节点依此修改即可。修改完成后重启电脑,在终端看到机器名的变化代表修改成功。
以上是在 master 上面的修改,在各个 salve 节点也要做相应修改,对
/etc/hostname(修改为 slave1、slave2 等)和/etc/hosts(与主机配置一样)
两个文件进行修改。
配置好后需要在各个节点上执行如下命令,测试是否相互 ping 得通,如果 ping 不通,后面就无法顺利配置成功。
ping master -c 3 # 只ping 3次,否则要按 Ctrl+c 中断
ping slave1 -c 3
7、配置 SSH 无密码登录节点
这个操作是要让 Master 节点可以无密码 SSH 登陆到各个 Slave 节点上。无密码登录本机在第4步执行过。在master节点执行:
scp ~/.ssh/id_rsa.pubhadoop@slave1:/home/hadoop/
scp 是secure copy 的简写,用于在 Linux 下进行远程拷贝文件,类似于 cp 命令,不过 cp 只能在本机中拷贝。执行 scp 时会要求输入 Slave1 上hadoop 用户的密码(hadoop),输入完成后会提示传输完毕,如下图所示:
在slave1节点上执行
mkdir ~/.ssh # 如果不存在该文件夹需先创建,若已存在则忽略 cat ~/id_rsa.pub >> ~/.ssh/authorized_keysrm ~/id_rsa.pub # 完就可以删掉了 |
如果有其他 Slave 节点,也要执行将 Master 公匙传输到 Slave 节点、在 Slave 节点上加入授权这两步。
这样,在 Master 节点上就可以无密码 SSH 到各个 Slave 节点了,可在
Master 节点上执行如下命令进行检验,如下图所示:
8、安装 JDK
将下载的 JDK 包解压到/usr/lib/jvm 文件夹下,如果文件夹不存在则手动创建一个:mkdir /usr/lib/jvm #创建文件夹
chown -hR hadoop:hadoop/usr/lib/jvm #修改文件夹所有者
运行解压
sudo tar zxvf./jdk-7u79-linux-i586.tar.gz -C /usr/lib/jvm 修改环境变量
vim ~/.bashrc
(设置环境变量的方法和区别参见网页)添加如下信息
exportJAVA_HOME=/usr/lib/jvm/java-1.7.0_79 export JRE_HOME=${JAVA_HOME}/jre exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
使环境变量生效
source ~/.bashrc
此时在终端运行java -version命令,可以看到屏幕输出JDK的版本信息,代表JDK安装成功
注意!master 和 slave 安装路径要是一样的,并且两者系统版本要是一致的,否则启动集群时会报错!这一点同样适用于其他软件。
9、安装 hadoop2.6.0
将下载的hadoop2.6.0安装到/usr/路径下,sudo tar -zxf ~/下载/hadoop-2.6.0.tar.gz -C /usr/ # 解压 cd /usr/local/ sudo mv ./hadoop-2.6.0/./hadoop # 将文件夹名改为hadoop
sudo chown -R hadoop:hadoop./hadoop # 修改文件权限
配置环境变量
vim ~/.bashrc
#添加以下信息
export HADOOP_HOME=/usr/hadoop exportPATH=$PATH:/usr/hadoop/bin:/usr/hadoop/sbin exportHADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native expor
1083f
tHADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/" exportHADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
保存后执行source ~/.bashrc使配置生效
10、配置集群/分布式环境
集群/分布式模式需要修改 /usr/hadoop/etc/hadoop 中的5个配置文件,更多设置项可点击查看官方说明,这里仅设置了正常启动所必须的设置项:
slaves 、
core-site.xml
、
hdfs-site.xml
、
mapred-site.xml
、
yarn-
site.xml。
以下在master节点上进行。
(1) 文件 slaves,将作为 DataNode 的主机名写入该文件,每行一个,默认为localhost,所以在伪分布式配置时,节点即作为 NameNode 也作为 DataNode。分布式配置可以保留 localhost,也可以删掉,让 Master 节点仅
作为 NameNode 使用。
本教程让 Master 节点仅作为 NameNode 使用,因此将文件中原来的 localhost 删除,只添加两行内容:slave1和slave2。
(2) 文件core-site.xml改为下面的配置
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/hadoop/tmp</value>
<description>Abase directories.</description> </property> </configuration> | for | other | temporary |
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/hadoop/tmp/dfs/data</value>
</property>
</configuration>
(4)文件mapred-site.xml (可能需要先重命名,默认文件名为
mapred-site.xml.template),然后配置修改如下:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
(5)文件 yarn-site.xml配置修改如下:
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
配置好后,将 master 上的 /usr/Hadoop 文件夹复制到各个节点上。在 Master 节点上执行:
cd /usr/ tar -zcf~/hadoop.master.tar.gz ./hadoop # 先压缩再复制 cd ~scp./hadoop.master.tar.gz hadoop@slave1:/home/hadoop
|
sudo rm -r /usr/hadoop # 删掉旧的(如果存在)
sudo tar -zxf ~/hadoop.master.tar.gz -C/usr/ sudo chown -R hadoop /usr/hadoop
同样,如果有其他 Slave 节点,也要执行将 hadoop.master.tar.gz 传输到 Slave 节点、在 Slave 节点解压文件的操作。
首次启动需要先在 Master 节点执行 NameNode 的格式化:
hdfs namenode -format
然后可以启动hadoop了,在master节点执行:
start-dfs.shstart-yarn.sh
mr-jobhistory-daemon.sh starthistoryserver
通过命令 jps 可以查看各个节点所启动的进程。正确的话,在 Master
节点上可以看到NameNode、ResourceManager、SecondrryNameNode、 JobHistoryServer 进程,如下图所示:
在 slave 节点可以看到 DataNode 和 NodeManager 进程,如下图所示:
缺少任一进程都表示出错。另外还需要在Master 节点上通过命令 hdfs
dfsadmin -report 查看 DataNode
是否正常启动,如果 Live datanodes 不
为 0 ,则说明集群启动成功。
如果出现slave结点没有DataNode进程,解决方式如下:切换到hadoo目录,将tmp文件夹下所有内容删除,然后重新执行格式化NameNode命令,再启动hadoop问题即可解决。 Hadoop配置全部完成.
11、安装 Scala
下载Scala(版本2.10.6),解压到/usr/lib路径下,添加环境变量exportSCALA_HOME=/home/test/install/scala-2.11.6 export PATH=$SCALA_HOME/bin:$PATH
在终端中键入scala,能进入Scala命令行即安装成功
Slave需要在同样的路径下安装相同版本的Scala
12、安装配置 spark
在master机器上:下载spark1.6.0pre-built for hadoop2.6.0,解压到/usr/目录下,重命
名为spark,修改所有者:
sudo chown -R hadoop:hadoop /usr/spark
修改环境变量:
vim ~/.bashrc #添加如下内容 export SPARK_HOME=/usr/spark export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/build:$PYTHONPATH export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin |
配置spark
进入spark安装目录下的conf目录,修改配置文件:
cd /usr/spark/conf cp spark-env.sh.template spark-env.sh #添加如下内容 export SCALA_HOME=/usr/lib/scala-2.10.6 export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_79 export SPARK_MASTER_IP=192.168.1.101 export SPARK_WORKER_MEMORY=1g export HADOOP_CONF_DIR=/usr/hadoop/etc/hadoop |
JAVA_HOME 指定 Java
安装目录;
SCALA_HOME 指定 Scala
安装目录;
SPARK_MASTER_IP 指定 Spark
集群 Master 节点的 IP 地址;
SPARK_WORKER_MEMORY 指定的是 Worker
节点能够分配给 Executors 的最大内
存大小;
HADOOP_CONF_DIR指定Hadoop
集群配置文件目录。将 slaves.template 拷贝到 slaves,编辑其内容为:
master slave01 slave02
至此master节点的spark安装完成,下面将spark拷贝到slave节点在master节点执行
cd /usr/ tar-zcf ~/spark.master.tar.gz ./spark # 先压缩再复制
cd ~scp ./spark.master.tar.gzhadoop@slave1:/home/hadoop
在slave节点执行
sudo tar -zxf ~/spark.master.tar.gz -C/usr/
sudo chown -R hadoop:hadoop /usr/spark
和master一样,在slave节点添加环境变量。
四、运行集群
1、启动 hadoop 集群
start-dfs.sh start-yarn.shmr-jobhistory-daemon.sh starthistoryserver
2、启动 spark
start-master.shstart-slaves.sh在浏览器中输入master:8080查看集群是否启动。
五、参考资料
1、Spark快速入门指南 – Spark安装与基础使用http://dblab.xmu.edu.cn/blog/spark-quick-start-guide/#more-577
2、Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04
http://dblab.xmu.edu.cn/blog/install-hadoop/
3、Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOShttp://dblab.xmu.edu.cn/blog/install-hadoop-cluster/
4、Hadoop集群(第5期)_Hadoop安装配置
http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html
5、spark
介绍及本地模式、集群模式安装
http://www.aboutyun.com/thread-8160-1-1.html
6、hadoop(2.x)以hadoop2.2为例完全分布式最新高可靠安装文档
http://www.aboutyun.com/thread-7684-1-1.html
7、Spark 1.6.1分布式集群环境搭建
http://www.w2bc.com/article/121907
相关文章推荐
- spark环境搭建,伪分布式、集群
- 基于docker的spark-hadoop分布式集群之一: 环境搭建
- Hadoop2.6.0 + Spark1.4.0 在Ubuntu14.10环境下的伪分布式集群的搭建(实践可用)
- Centos7 下 spark1.6.1_hadoop2.6 分布式集群环境搭建
- Centos7 下 spark1.6.1_hadoop2.6 分布式集群环境搭建
- (六)hadoop系列之__hadoop分布式集群环境搭建
- spark-1.2.0 集群环境搭建
- Spark1.0.0 分布式环境搭建
- spark1.3.0-hadoop2.4集群环境搭建(Standalone)
- 搭建hadoop/spark集群环境
- Spark1.2集群环境搭建(Standalone+HA) 4G内存5个节点也是蛮拼的
- CDH5.2+CM5.2+impala2+Spark1.1 集群搭建基础环境准备
- 王家林的“云计算分布式大数据Hadoop实战高手之路---从零开始”的第五讲Hadoop图文训练课程:解决典型Hadoop分布式集群环境搭建问题
- spark1.2.0版本搭建伪分布式环境
- hadoop伪分布式集群环境搭建--基于CentOS
- spark-1.2.0 集群环境搭建
- Spark Standalone模式伪分布式环境搭建
- Hadoop2.2 + spark1.0 在ubuntu 上搭建分布式集群
- 分布式集群环境hadoop1.2.0、hbase0.94.4、zookeeper、elasticsearch搭建2
- 消息订阅发布系统Apache Kafka分布式集群环境搭建和简单测试