CentOS7 下 hadoop&spark 安装部署

CentOS7 下 hadoop&spark 安装部署

一. Linux环境:

  1. 至少准备三台Linux服务器

  2. 修改主机名:vim /etc/hostname(永久修改)或hostname NAME(临时修改,关机之后失效),分别改为master、slave1和slave2。

  3. 修改hosts文件:vim /etc/host,将上述主机名和其ip对应起来。

  4. 设置SSH实现主机之间免密登录:ssh-keygen -t rsa -P '' -f ~/.ssh/id_dsa 生成SSH key,然后将三个机子上的key都分别存入authorized_keys文件中,再将此文件放入三个机子中的~/.ssh目录下。最后可以用ssh hostname来尝试登录其他主机来验证。

二. 重新安装JDK:

  1. 删除CentOS自带的openjdk(如果有),使用rpm -qa | grep java命令得到本机上所有的java组件,然后使用rpm -e --nodeps 上述组件名命令删除所有组件。

  2. 安装Oracle JDK:下载jdk1.8,解压缩,配置环境变量,source命令使其生效。

  3. 使用java -version验证安装是否成功。

三. 安装、配置Hadoop:

  1. 下载hadoop,解压缩。

  2. 修改核心配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、hadoop-env.sh、slaves/workers文件。具体配置见官网或者此博客

  3. 配置环境变量:配置HADOOP_HOME,将$HADOOP_HOME/bin和$HADOOP_HOME/sbin加入到PATH中,source使其生效。

四. 启动Hadoop:

  1. 使用hadoop namenode -format命令进行初始化。

  2. cd到$HADOOP_HOME/sbin目录下(配置了PATH是不是可以不用cd到对应目录下了?)使用./start-dfs.sh命令启动hdfs。(启动yarn也一样)

  3. 验证:输入jps命令查看进程,如果有master节点有NameNode和SecondaryNameNode,其他主机有DataNode,则启动成功。

  4. 注意点:打开页面master:50070,如果其中的Live Nodes为0,可能是因为防火墙没有关闭,可以在所有机子上输入命令systemctl stop firewalld命令来关闭防火墙,注意,每次重启主机的时候可能都需要再次手动关闭防火墙。

五. 安装、配置Spark:

  1. 下载Spark,解压缩,配置环境变量,source使其生效。

  2. 修改核心配置文件($SPARK_HOME/conf):slaves、spark-default.conf、spark-env.sh文件。具体配置见官网或者此博客。其中的spark-default.conf配置文件是默认的spark程序启动时使用的配置参数,可以根据实际情况设置。

六. 启动Spark:

  1. cd到$SPARK_HOME/sbin目录下使用./start-all.sh命令启动spark,如果想查看spark程序执行的历史log,可以在配置了eventLog之后,使用./start-history-server.sh命令启动historyServer。

  2. 验证:输入jps命令,如果master节点上有master进程,其他节点上有worker进程,则说明启动成功。

  3. 网页查看:master:8080:查看spark运行情况;master:18080: 查看spark程序执行的历史log。

七. 提交Spark程序:

  1. 使用spark-submit命令,具体使用方法可见官网或者此博客

  2. 网页查看:master:8080:查看spark程序运行情况;master:18080: 查看spark程序执行的历史log。

Author face

Bright Chan

NJUer

Recent post