搭建java+Hadoop集群+Scala+Spark集群

1、环境准备

本次环境准备三台机器192.168.153.10、192.168.153.11、192.168.153.12,首先将机器的网络环境配置好。

2、配置hosts文件

vi /etc/hosts:
192.168.153.10	master
192.168.153.11	slave01
192.168.153.12 slave02

3、关闭SELinux和防火墙

1.关闭SELinux:  
	  vi /etc/selinux/config ,修改如下: 
SELINUX=disabled

2. 关闭防火墙:
service iptables stop
chkconfig iptables off
chkconfig iptables --list

4、设置SSH免密登录

1.生成密钥:
ssh-keygen -t rsa(默认位于 ~/.ssh/)
2. 拷贝公钥到所有机器:(每台机器都执行一下三个命令)
ssh-copy-id root@master
ssh-copy-id root@slave01
ssh-copy-id root@slave02
3.测试免密登录:
ssh master
ssh slave01
ssh slave02

5、设置NTP时间同步

1.安装 ntp
yum –y install ntp 

2.设置NTP服务开机启动
chkconfig ntpd on


将master设置为主服务器(在master节点操作):
1. vi /etc/ntp.conf,内容如下:
driftfile /var/lib/ntp/ntp.drift #草稿文件
# 允许内网其他机器同步时间
restrict 192.168.153.10 mask 255.255.255.0 nomodify notrap
 
# Use public servers from the pool.ntp.org project.
# 中国这边最活跃的时间服务器 : [http://www.pool.ntp.org/zone/cn](http://www.pool.ntp.org/zone/cn)
server 210.72.145.44 perfer   # 中国国家受时中心
server 202.112.10.36             # 1.cn.pool.ntp.org
server 59.124.196.83             # 0.asia.pool.ntp.org
 
# allow update time by the upper server 
# 允许上层时间服务器主动修改本机时间
restrict 210.72.145.44 nomodify notrap noquery
restrict 202.112.10.36 nomodify notrap noquery
restrict 59.124.196.83 nomodify notrap noquery
 
# 外部时间服务器不可用时,以本地时间作为时间服务
server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10
2. 重启服务: service ntpd restart
3. 查看同步状态: netstat -tlunp | grep ntp


设置slave到master 的同步(在slave节点操作):
1. vi /etc/ntp.conf,内容如下:
driftfile /var/lib/ntp/ntp.drift # 草稿文件

statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

# 让NTP Server为内网的ntp服务器
server 192.168.153.10
fudge 192.168.153.10 stratum 5

# 不允许来自公网上ipv4和ipv6客户端的访问
restrict -4 default kod notrap nomodify nopeer noquery 
restrict -6 default kod notrap nomodify nopeer noquery

# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1
2. 重启服务: service ntpd restart
3. 手动同步: ntpdate -u 192.168.153.10

6、软件版本号

安装路径

7、各个软件对应的环境变量配置

vi /etc/profile:

export HADOOP_HOME=/root/hadoop
export JAVA_HOME=/root/jdk1.8
export JRE_HOME=/root/jdk1.8/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$SCALA_HOME/bin:$HADOOP_HOME/bin:$SPARK_HOME/bin
export SCALA_HOME=/root/scala
export SPARK_HOME=/root/spark
export PATH=$SPARK_HOME/bin:$SCALA_HOME/bin:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
export HADOOP_ROOT_LOGGER=ERROR

8、hadoop相关配置文件

文件目录:/root/hadoop/etc/hadoop
core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
		<description>namenode通信地址</description>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/root/data/tmp</value>
		<description>临时文件存储路径</description>
    </property>
</configuration>


hadoop-env.sh增加如下配置:
export JAVA_HOME=/root/jdk1.8

hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
	<property>
		<name>dfs.replication</name>
		<value>2</value>
	</property>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>file:/root/data/namenode</value>
		<final>true</final>
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>file:/root/data/data</value>
		<final>true</final>
	</property>
	<property>
		<name>dfs.namenode.secondary.http-address</name>
		<value>master:9001</value>
	</property>
	<property>
		<name>dfs.webhdfs.enabled</name>
		<value>true</value>
	</property>
	<property>
		<name>dfs.permissions</name>
		<value>false</value>
	</property>
</configuration>

mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>

<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>

</configuration>

yarn-site.xml
<?xml version="1.0"?>
<configuration>

<!-- Site specific YARN configuration properties -->
	<property>
		<name>yarn.resourcemanager.address</name>
		<value>master:8040</value>
	</property>
	<property>
		<name>yarn.resourcemanager.scheduler.address</name>
		<value>master:8030</value>
	</property>
	<property>
		<name>yarn.resourcemanager.webapp.address</name>
		<value>master:8088</value>
		<description>ResourceManager对外web ui地址。用户可通过该地址在浏览器中查看集群各类信息</description>
	</property>
	<property>
		<name>yarn.resourcemanager.resource-tracker.address</name>
		<value>master:8025</value>
	</property>
	<property>
		<name>yarn.resourcemanager.admin.address</name>
		<value>master:8141</value>
	</property>
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
		<description>NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序</description>
	</property>
	<property>
		<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
		<value>org.apache.hadoop.mapred.ShuffleHandler</value>
	</property>
	<property>
		<name>yarn.acl.enable</name>
		<value>false</value>
	</property>
	<property>
		<name>yarn.admin.acl</name>
		<value>*</value>
	</property>
</configuration>

slaves
slave01
slave02

从节点增加masters文件配置:
master



9、spark的配置文件

目录:/root/spark/conf
spark-env.sh
#Java安装目录
export JAVA_HOME=/root/jdk1.8

#Scala安装目录
export SCALA_HOME=/root/scala

#hadoop安装目录
export HADOOP_HOME=/root/hadoop

#hadoop集群的配置文件的目录
export HADOOP_CONF_DIR=/root/hadoop/etc/hadoop

#spark集群的Master节点的ip地址
export SPARK_MASTER_IP=master

#每个worker节点所占有的CPU核数目
export SPARK_WORKER_CORES=1

#每台机器上开启的worker节点的数目
export SPARK_WORKER_INSTANCES=1

#交互界面的端口号
export SPARK_MASTER_WEBUI_PORT=18080

slaves文件
slave01
slave02

10、启动Hadoop集群和Spark集群

启动Hadoop集群
首次运行Hadoop需要初始化HDFS文件系统:
进入/root/hadoop/bin目录运行:hdfs namenode -format
进入目录:/root/hadoop/sbin
执行命令:
sh start-dfs.sh
sh start-yarn.sh

启动spark集群
进入目录:/root/spark/sbin
执行命令:
sh start-all.sh

在对应主机执行jps命令查看对应服务是否开启

11、Hadoop和Spark页面访问效果

Hadoop页面地址:http://192.168.153.10:50070http://192.168.153.10:8088/

Spark页面地址:http://192.168.153.10:18080/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值