7.Spark之集群搭建2
7.Spark之集群搭建2
鞋底留个洞 发表于2年前
7.Spark之集群搭建2
  • 发表于 2年前
  • 阅读 51
  • 收藏 0
  • 点赞 1
  • 评论 0

移动开发云端新模式探索实践 >>>   

摘要: 介绍使用虚拟机VMware搭建伪分布式的集群环境:三台64位CentOS6.5服务器,主机名为master、worker1、worker2。 master既作为Hadoop的NameNode节点、SecondaryNameNode节点、DataNode节点,也作为Spark的Master节点。 另外两台服务器worker1和worker2既作为Hadoop的DataNode节点,也作为Spark的Work节点。

4.安装Hadoop

    在所有服务器上执行以下操作,完成Scala的安装。

  1. 关闭所有服务器的防火墙,防止出现端口无法连接的情况

    命令:service iptables status,查询防火墙运行状态。

    命令:service iptables stop,停止运行防火墙。

  2. 配置服务器之间SSH无密码登录

    命令:ssh-keygen -t rsa,在~/.ssh目录下生成服务器的公钥(id_rsa.pub)和私钥(id_rsa)。

    在所有服务器中执行以上命令,生成各自的公钥和私钥。

    在其中一台服务器上,执行以下命令,我选择在master服务器上执行:

            cat id_rsa.pub >> authorized_keys //将公钥内容增加到authorized_keys文件中

            scp authorized_keys root@worker1:/root/.ssh //将authorized_keys文件传输给worker1

    worker1服务器上执行以下命令:

            cat id_rsa.pub >> authorized_keys //将公钥内容增加到authorized_keys文件中

            scp authorized_keys root@worker2:/root/.ssh //将authorized_keys文件传输给worker2

    worker2服务器上执行以下命令:

            cat id_rsa.pub >> authorized_keys //将公钥内容增加到authorized_keys文件中

            scp authorized_keys root@worker1:/root/.ssh //将authorized_keys文件传输给worker1

            scp authorized_keys root@master :/root/.ssh //将authorized_keys文件传输给master

    依照上面这样,最终所有服务器上都包含authorized_keys文件,里面保存着所有服务器的公钥。

    在master、worker1、worker2服务器上执行以下命令,直到不需要输入密码为止:

            ssh master

            ssh master主机ip

            ssh worker1

            ssh worker1主机ip

            ssh worker2

            ssh worker2主机ip

    ssh登录其它服务器后,需要通过exit命令退出,回到原来服务器。

  3. 上传已下载好的hadoop-2.6.0.tar.gz,并解压

    命令:mkdir -p /usr/local/hadoop,在/usr/local目录下创建hadoop目录。

    上传hadoop-2.6.0.tar.gz至/usr/local/hadoop目录下。

    命令:tar -zxvf hadoop-2.6.0.tar.gz,解压安装包得到hadoop-2.6.0

  4. 配置环境变量HADOOP_HOME、PATH等

    命令:vi /etc/profile或者vi ~/.bashrc,/etc/profile对所有用户都生效,~/.bashrc只对当前用户生效。

    通过键入字母i或者a进入vi的插入模式,可以对以上文件进行编辑。按照下面配置环境变量:

            export HADOOP_HOME=/usr/local/hadoop/hadoop-2.6.0

            export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

            export JAVA_LIBRARY_PATH=/path/to/hadoop-native-libs

            export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native

            export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib"

            export PATH=${PATH}:${JAVA_HOME}/bin:${SCALA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

    键入Esc,输入:wq,回车保存退出(或者键入Esc后,按住Shift + 两次z),环境变量配置完毕。

  5. 配置${HADOOP_HOME}/etc/hadoop目录下的配置文件

    core-site.xml的配置内容如下:

    hdfs-site.xml的配置内容如下:

    mapred-site.xml的配置内容如下:

    yarn-site.xml的配置内容如下:

    hadoop-env.sh的配置内容中只要修改JAVA_HOME即可:

    yarn-env.sh的配置内容中只要修改JAVA_HOME和HADOOP_OPTS即可:


    slaves的配置内容为所有集群服务器的datanode节点的主机名:


  6. 以上内容在所有服务器中配置完毕后,Hadoop集群基本配置完毕。使用之前,需要格式化namenode

    命令:hadoop namenode -format

  7. 格式化成功后,就可以启动Hadoop集群了。在${HADOOP_HOME}/sbin目录下执行以下命令:

    命令:./start-dfs.sh,启动Hadoop集群。

    命令:jps,查看正在运行的java进程。

    在所有服务器中通过jps命令查看Hadoop集群启动后,各个进程是否正常启动。我的环境运行情况如下:

    master服务器作为NameNode节点、SecondaryNameNode节点、DataNode节点,进程如图

    worker1和worker2服务器作为DataNode节点,进程如图

    访问http://master:50070/或者将master(主机名)换成ip也可以,查看hadoop集群概况


  8. 启动Hadoop集群后,就可以启动yarn了,它负责集群各个节点的资源管理。${HADOOP_HOME}/sbin目录下执行以下命令:

        命令:./start-yarn.sh,启动yarn资源管理。

       命令:jps,查看正在运行的java进程。

       在所有服务器中通过jps命令查看yarn启动后,各个进程是否正常启动。我的环境运行情况如下:

       master作为NameNode和DataNode需要再启动ResourceManager和NodeManager

        

        worker1和worker2作为DataNode只需要再启动NodeManager

        

        访问http://master:8088/或者将master(主机名)换成ip也可以,查看hadoop集群的资源管理信息

        

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 2
博文 28
码字总数 28568
×
鞋底留个洞
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: