7.Spark之集群搭建2

本文详细介绍了如何在多台服务器上搭建Hadoop集群,包括关闭防火墙、配置SSH无密码登录、上传并解压Hadoop软件包、配置环境变量及各配置文件等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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的配置内容如下:

    113817_Mn8X_2321626.png

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

    114007_vste_2321626.png

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

    114206_HiYt_2321626.png

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

    114413_I1G1_2321626.png

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

    114736_hSkY_2321626.png

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

    114906_a9mH_2321626.png

    143419_ATW0_2321626.png

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

    115128_KhdL_2321626.png

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

    命令:hadoop namenode -format

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

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

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

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

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

    140310_lZ29_2321626.png

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

    140506_2Lwc_2321626.png

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

    163619_dFjJ_2321626.png

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

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

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

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

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

        141426_ic9i_2321626.png

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

        141522_Kh7q_2321626.png

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

        164434_iSKj_2321626.png

转载于:https://my.oschina.net/xingkongxia/blog/610502

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值