共计 16185 个字符,预计需要花费 41 分钟才能阅读完成。
本文介绍在 VMware 下建立 3 台 CentOS7 系统虚拟机,搭建 Hadoop+Spark 的全过程。这里三台 CentOS 主机分别为 Mars、Phobos、Deimos。
- CentOS 最小化安装
- CentOS 网络设置
- 防火墙配置
- JDK 安装
- ssh 免密登陆
- NTP 服务搭建
- Hadoop 搭建
- Spark 搭建
- Scala 安装
- Spark 安装
CentOS 最小化安装
注:这一 part 基本没什么难度,简单叙述下就略过。
访问 CentOS 官网,选择DVD ISO
, 下载 CentOS-7-x86_64-DVD-1511.iso。
在 VMware 中创建虚拟机,安装 CentOS7, 选择 Minimal ISO
安装。
安装过程中,设置 root 用户的密码,并新建一个管理员用户hadoop,专门用于 hadoop+spark 操作。
VMware 的网络适配器配置为 自定义 (U): 特定虚拟网络
下的VMnet8(NAT 模式)
。选择这一配置是为了从宿主机通过 SecureCRT 连到虚拟机。
CentOS 网络设置
CentOS7 最小化安装默认不支持ifconfig
,网卡也处于关闭状态,因此先修改配置:
[hadoop@Mars ~]$ cd /etc/sysconfig/network_scripts | |
[hadoop@Mars network_scripts]$ ls |
可以看到 ifcfg-enoxxxxx 这一网卡配置文件。
[hadoop@Mars network_scripts]$ sudo vi ifcfg-enoxxxxx
将 ONBOOT=no
修改为 ONBOOT=yes
,开启网卡。
根据自己的网络情况添加以下配置:
IPADDR=192.168.253.101 | |
NETMASK=255.255.255.0 | |
GATEWAY=192.168.253.2 |
保存退出。
[hadoop@Mars ~]$ sudo service network restart
这时虚拟机可以连接网络了,如果想使用ifconfig
,可以
[hadoop@Mars ~]$ sudo yum install net-tools | |
... | |
[hadoop@Mars ~]$ ifconfig -a |
修改 hosts 文件
[hadoop@Mars ~]$ sudo vi /etc/hosts
在最前面添加:
192.168.253.101 Mars | |
192.168.253.102 Phobos | |
192.168.253.103 Deimos | |
保存退出。
[hadoop@Mars ~]$ sudo service network restart
防火墙配置
这里对防火墙的配置如下。如果只是实验学习,非搭建业务生产环境,可忽略此 part。
- 关闭 firewall
[hadoop@Mars ~]$ systemctl stop firewalld.service # 停止 firewall | |
[hadoop@Mars ~]$ systemctl disable firewalld.service # 禁止开机启动 firewall |
- 安装 iptables
[hadoop@Mars ~]$ sudo yum install iptables-servicec # 安装 | |
[hadoop@Mars ~]$ vi /etc/sysconfig/iptables | |
# Firewall configuration written by system-config-firewall | |
# Manual customization of this file is not recommended. | |
*filter | |
:INPUT ACCEPT [0:0] | |
:FORWARD ACCEPT [0:0] | |
:OUTPUT ACCEPT [0:0] | |
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT | |
-A INPUT -p icmp -j ACCEPT | |
-A INPUT -i lo -j ACCEPT | |
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT | |
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT | |
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT | |
-A INPUT -j REJECT --reject-with icmp-host-prohibited | |
-A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT | |
:wq! # 保存退出 | |
[hadoop@Mars ~]$ systemctl restart iptables.service # 启动服务 | |
[hadoop@Mars ~]$ systemctl enable iptables.service # 开机启动 |
JDK 安装
下载 jdk-7u79-Linux-x64.tar.gz
通过宿主机的 SecureCRT 连接 192.168.253.101,Connect SFTP Session
传输到虚拟机目录, 并解压到 /usr/lib/jvm 目录下:
[hadoop@Mars ~]$ tar -zvxf jdk-7u79-linux-x64.tar.gz -C /usr/lib/jvm
配置环境变量
[hadoop@Mars ~]$ sudo vi /etc/profile
在文件最下方添加:
export Java_HOME=/usr/lib/jvm/jdk1.7 | |
export JRE_HOME=/usr/lib/jvm/jdk1.7/jre | |
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH | |
export PATH=$JAVA_HOME/bin:$PATH |
保存退出,然后执行:
[hadoop@Mars ~]$ source /etc/profile
验证:
[hadoop | ~]$ java -version|
java version "1.7.0_79" | |
Java(TM) SE Runtime Environment (build 1.7.0_79-b15) | |
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode) |
ssh 免密登陆
在每台主机上都执行以下命令:
[hadoop@Mars ~]$ ssh -genkey -t rsa
三次回车后在 ~/.ssh
目录下生成了公钥和私钥:
私钥:id_rsa
公钥:id_rsa.pub
然后在各主机的.ssh 目录下建立认证文件:
[hadoop@Mars ~]$ touch authorized_keys
将各个主机的 id_rsa.pub
文件的内容全部粘贴到 authorized_keys
修改权限:
[hadoop700 ~/.ssh | ~]$ sudo chmod|
[hadoop600 ~/.ssh/authorized_keys | ~]$ sudo chmod
注意 .ssh
目录及子文件都属于 hadoop:haoop
用户
NTP 服务搭建
各台服务器上安装 NTP 服务。NTP 服务用于使集群中各个节点的时间保持同步,建议搭建该服务,如果只是学习实验,可暂时忽略此 part。
[hadoop@Mars ~]$ sudo yum -y install ntp
这里将 Mars 设为 NTP 服务器,Phobos 和 Deimos 作为 NTP 客户端。在 Mars 上配置:
[hadoop@Mars ~]$ vi /etc/ntp.conf | |
restrict 127.0.0.1 | |
restrict ::1 | |
restrict 192.168.253.0 mask 255.255.255.128 nomodify # 添加允许 192.168.253.0/24 网段访问,不可修改服务器参数 | |
server 0.centos.pool.ntp.org iburst | |
server 1.centos.pool.ntp.org iburst | |
server 2.centos.pool.ntp.org iburst | |
server 3.centos.pool.ntp.org iburst | |
fudge Mars stratum 3 # 若上级时间服务器失效,本地对外发布时间 | |
“restrict”参数
kod : 使用 kod 技术防范“kiss of death”攻击
ignore : 拒绝任何 NTP 连接
nomodify : 用户端不能使用 ntpc,ntpq 修改时间服务器参数,但是可以进行网络校时
noquery : 用户端不能使用 ntpc,ntpq 查询时间服务器参数,不可以进行网络校时
notrap : 不提供远程日志功能
notrust:拒绝没有认证的客户端
“server”参数
prefer:设置优先上级服务器
在 Mars 上启动 NTP 服务:
[hadoop@Mars ~]$ service ntpd start
在 Phobos 和 Deimos 上设置:
[hadoop@Phobos ~]$ sudo ntpdate Mars
[hadoop@Deimos ~]$ sudo ntpdate Mars
即可与 Mars 同步时间。若要定时进行同步,需要配置:
[hadoop@Mars ~]$ sudo vi /etc/crontab | |
30 8 * * * root /usr/sbin/ntpdate Mars; /sbin/hwclock -w # 每天 8:30 分校时 | |
:wq! | |
[hadoop@Mars ~]$ sudo service crond restart |
————————————– 分割线 ————————————–
下面关于 Hadoop 的文章您也可能喜欢,不妨看看:
Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程 http://www.linuxidc.com/Linux/2015-02/113487.htm
CentOS 安装和配置 Hadoop2.2.0 http://www.linuxidc.com/Linux/2014-01/94685.htm
CentOS 6.3 下 Hadoop 伪分布式平台搭建 http://www.linuxidc.com/Linux/2016-11/136789.htm
Ubuntu 14.04 LTS 下安装 Hadoop 1.2.1(伪分布模式)http://www.linuxidc.com/Linux/2016-09/135406.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
实战 CentOS 系统部署 Hadoop 集群服务 http://www.linuxidc.com/Linux/2016-11/137246.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
Hadoop 2.6.0 HA 高可用集群配置详解 http://www.linuxidc.com/Linux/2016-08/134180.htm
Spark 1.5、Hadoop 2.7 集群环境搭建 http://www.linuxidc.com/Linux/2016-09/135067.htm
-------------------------------------- 分割线 --------------------------------------
Hadoop 搭建
从 Hadoop 官网下载 Hadoop 安装包,解压至 /opt/hadoop 目录(一般情况下,程序安装在 /usr/local 目录下,数据放在 /home/{user}目录下,但是这里将程序和数据都放在了 /opt/hadoop 下)。
[hadoop@Mars ~]$ cd /opt/hadoop/etc/hadoop | |
[hadoop@Mars hadoop]$ sudo vi core-site.xml | |
<configuration> | |
<property> | |
<name>hadoop.tmp.dir</name> | |
<value>/opt/hadoop/tmp</value> | |
</property> | |
<property> | |
<name>fs.defaultFS</name> | |
<value>hdfs://Mars:9000</value> | |
</property> | |
<property> | |
<name>io.file.buffer.size</name> | |
<value>4096</value> | |
</property> | |
</configuration> | |
:wq! |
[hadoop@Mars hadoop]$ sudo vi hdfs-site.xml | |
<configuration> | |
<property> | |
<name>dfs.nameservices</name> | |
<value>Mars</value> | |
</property> | |
<property> | |
<name>dfs.namenode.secondary.http-address</name> | |
<value>Phobos:50090</value> | |
</property> | |
<property> | |
<name>dfs.namenode.name.dir</name> | |
<value>file:///opt/hadoop/dfs/name</value> | |
</property> | |
<property> | |
<name>dfs.datanode.data.dir</name> | |
<value>file:///opt/hadoop/dfs/data</value> | |
</property> | |
<property> | |
<name>dfs.replication</name> | |
<value>2</value> | |
</property> | |
<property> | |
<name>dfs.webhdfs.enabled</name> | |
<value>true</value> | |
</property> | |
</configuration> | |
:wq! |
[hadoop@Mars hadoop]$ sudo vi mapre-site.xml | |
<configuration> | |
<property> | |
<name>mapreduce.framework.name</name> | |
<value>yarn</value> | |
</property> | |
<property> | |
<name>mapreduce.jobtracker.http.address</name> | |
<value>Mars:50030</value> | |
</property> | |
<property> | |
<name>mapreduce.jobhistory.address</name> | |
<value>Mars:10020</value> | |
</property> | |
<property> | |
<name>mapreduce.jobhistory.webapp.address</name> | |
<value>Mars:19888 </value> | |
</property> | |
</configuration> | |
:wq! |
[hadoopsh | hadoop]$ sudo vi hadoop-env.|
... | |
export JAVA_HOME=/usr/lib/jvm/jdk1.7 | |
... | |
export HADOOP_LOG_DIR=/opt/hadoop/log | |
... | |
:wq! |
[hadoop@Mars hadoop]$ sudo vi yarn-env.sh | |
export JAVA_HOME=/usr/lib/jvm/jdk1.7 | |
:wq! |
[hadoop@Mars hadoop]$ sudo vi slaves | |
Phobos | |
Deimos | |
:wq! |
将 /opt/hadoop 目录拷贝到 Phobos 和 Deimos 的相同位置:
[haoop@Mars ~]$src -r /opt/hadoop hadoop@Phobos:/opt/hadoop | |
[haoop@Mars ~]$src -r /opt/hadoop hadoop@Deimos:/opt/hadoop |
保证该目录下的文件都属于 hadoop:hadoop
用户。
格式化并启动 HDFS:
[hadoop@Mars ~]$ /opt/hadoop/bin/hdfs namenode -format | |
[hadoop@Mars ~]$ cd /opt/hadoop/sbin | |
[hadoop@Mars sbin]$ ./start-dfs.sh |
此时查看 Mars:
[hadoop@Mars ~]$ jps | |
6718 NameNode | |
7461 Jps |
查看 Phobos:
[hadoop@Phobos ~]$ jps | |
6128 DataNode | |
6342 Jps |
查看 Deimos:
[hadoop@Deimos ~]$ jps | |
5682 DataNode | |
5886 Jps |
启动 Yarn:
[hadoop@Mars ~]$ cd /opt/hadoop/sbin | |
[hadoop@Mars sbin]$ ./start-yarn.sh |
此时查看 Mars:
[hadoop@Mars ~]$ jps | |
8128 ResourceManager | |
7461 Jps | |
6718 NameNode |
查看 Phobos:
[hadoop@Phobos ~]$ jps | |
6228 NodeManager | |
6128 DataNode | |
6342 Jps |
查看 Deimos:
[hadoop@Deimos ~]$ jps | |
5782 NodeManager | |
5682 DataNode | |
5886 Jps |
访问
http://Mars:50070/
http://Mars:8088/
Hadoop 成功运行。
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-01/139364p2.htm
Spark 搭建
Scala 安装
从 Scala 官网下载 Scala2.11.7 版本安装包,解压到 /opt/scala 目录下。
配置环境变量:
[Hadoop@Mars ~]$sudo vi /etc/profile
在最后添加:
export SCALA_HOME=/opt/scala | |
export PATH=$Java_HOME/bin:$HADOOP_HOME/bin:$SCALA_HOME/bin:$PATH |
使配置生效:
[hadoop@Mars ~]$source /etc/profile
验证:
[hadoop@Mars ~]$scala -version | |
Scala code runner version 2.11.7 --Copyright 2002-2013, LAMP/EPFL |
将安装包拷贝到 Phobos 和 Deimos 上:
[hadoop@Mars ~]$src -r /opt/scala hadoop@Phobos:/opt/scala | |
[hadoop@Mars ~]$src -r /opt/scala hadoop@Deimos:/opt/scala |
并在 Phobos 和 Deimos 上修改 /etc/profile。
Spark 安装
下载 Spark1.5.2 安装包 spark-1.5.2-bin-hadoop2.4.tgz,解压至 /opt/spark 目录。
配置环境变量:
[hadoop@Mars ~]$sudo vi /etc/profile
在最后添加:
export SPARK_HOME=/opt/spark | |
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$SCALA_HOME/bin:$SPARK_HOME/bin:$PATH |
使配置生效:
[hadoop@Mars ~]$source /etc/profile
修改配置文件:
[hadoop@Mars ~]$cd /opt/spark/conf | |
[hadoop@Mars conf]$cp spark-env.sh.template spark-env.sh | |
[hadoop@Mars conf]$cp slaves.template slaves | |
[hadoop@Mars conf]$vi spark-env.sh |
在后面添加:
###jdk dir | |
export JAVA_HOME=/usr/lib/jvm/jdk1.7 | |
###scala dir | |
export SCALA_HOME=/opt/scala | |
###the ip of master node of spark | |
export SPARK_MASTER_IP=Mars | |
###the max memory size of worker | |
export SPARK_WORKER_MEMORY=512m | |
###hadoop configuration file dir | |
export HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop |
修改 slaves 文件,将内容改为:
# A Spark Worker will be started on each of the machines listed below. | |
Phobos | |
Deimos |
将安装包拷贝到 Phobos 和 Deimos 上:
[hadoop@Mars ~]$src -r /opt/spark hadoop@Phobos:/opt/spark | |
[hadoop@Mars ~]$src -r /opt/spark hadoop@Deimos:/opt/spark |
并在 Phobos 和 Deimos 上修改 /etc/profile。
注意:各目录所属组和用户都是
hadoop:hadoop
,可使用命令[hadoop@Mars ~]$sudo chown -R hadoop:hadoop /opt/*
在 HDSF 和 Yarn 均启动的状态下,启动 Spark:
[hadoop@Mars ~]$/opt/spark/sbin/start-all.sh
验证:
运行 jps 命令,Mars 上多了 Master
进程,Phobos 和 Deimos 上多了 Worker
进程。
运行:
[hadoop@Mars ~]$/opt/spark/bin/spark-shell.sh | |
scala> |
启动成功。
此时可以访问:
http://Mars:8080
更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/139364.htm
本文介绍在 VMware 下建立 3 台 CentOS7 系统虚拟机,搭建 Hadoop+Spark 的全过程。这里三台 CentOS 主机分别为 Mars、Phobos、Deimos。
- CentOS 最小化安装
- CentOS 网络设置
- 防火墙配置
- JDK 安装
- ssh 免密登陆
- NTP 服务搭建
- Hadoop 搭建
- Spark 搭建
- Scala 安装
- Spark 安装
CentOS 最小化安装
注:这一 part 基本没什么难度,简单叙述下就略过。
访问 CentOS 官网,选择DVD ISO
, 下载 CentOS-7-x86_64-DVD-1511.iso。
在 VMware 中创建虚拟机,安装 CentOS7, 选择 Minimal ISO
安装。
安装过程中,设置 root 用户的密码,并新建一个管理员用户hadoop,专门用于 hadoop+spark 操作。
VMware 的网络适配器配置为 自定义 (U): 特定虚拟网络
下的VMnet8(NAT 模式)
。选择这一配置是为了从宿主机通过 SecureCRT 连到虚拟机。
CentOS 网络设置
CentOS7 最小化安装默认不支持ifconfig
,网卡也处于关闭状态,因此先修改配置:
[hadoop@Mars ~]$ cd /etc/sysconfig/network_scripts | |
[hadoop@Mars network_scripts]$ ls |
可以看到 ifcfg-enoxxxxx 这一网卡配置文件。
[hadoop@Mars network_scripts]$ sudo vi ifcfg-enoxxxxx
将 ONBOOT=no
修改为 ONBOOT=yes
,开启网卡。
根据自己的网络情况添加以下配置:
IPADDR=192.168.253.101 | |
NETMASK=255.255.255.0 | |
GATEWAY=192.168.253.2 |
保存退出。
[hadoop@Mars ~]$ sudo service network restart
这时虚拟机可以连接网络了,如果想使用ifconfig
,可以
[hadoop@Mars ~]$ sudo yum install net-tools | |
... | |
[hadoop@Mars ~]$ ifconfig -a |
修改 hosts 文件
[hadoop@Mars ~]$ sudo vi /etc/hosts
在最前面添加:
192.168.253.101 Mars | |
192.168.253.102 Phobos | |
192.168.253.103 Deimos | |
保存退出。
[hadoop@Mars ~]$ sudo service network restart
防火墙配置
这里对防火墙的配置如下。如果只是实验学习,非搭建业务生产环境,可忽略此 part。
- 关闭 firewall
[hadoop@Mars ~]$ systemctl stop firewalld.service # 停止 firewall | |
[hadoop@Mars ~]$ systemctl disable firewalld.service # 禁止开机启动 firewall |
- 安装 iptables
[hadoop@Mars ~]$ sudo yum install iptables-servicec # 安装 | |
[hadoop@Mars ~]$ vi /etc/sysconfig/iptables | |
# Firewall configuration written by system-config-firewall | |
# Manual customization of this file is not recommended. | |
*filter | |
:INPUT ACCEPT [0:0] | |
:FORWARD ACCEPT [0:0] | |
:OUTPUT ACCEPT [0:0] | |
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT | |
-A INPUT -p icmp -j ACCEPT | |
-A INPUT -i lo -j ACCEPT | |
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT | |
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT | |
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT | |
-A INPUT -j REJECT --reject-with icmp-host-prohibited | |
-A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT | |
:wq! # 保存退出 | |
[hadoop@Mars ~]$ systemctl restart iptables.service # 启动服务 | |
[hadoop@Mars ~]$ systemctl enable iptables.service # 开机启动 |
JDK 安装
下载 jdk-7u79-Linux-x64.tar.gz
通过宿主机的 SecureCRT 连接 192.168.253.101,Connect SFTP Session
传输到虚拟机目录, 并解压到 /usr/lib/jvm 目录下:
[hadoop@Mars ~]$ tar -zvxf jdk-7u79-linux-x64.tar.gz -C /usr/lib/jvm
配置环境变量
[hadoop@Mars ~]$ sudo vi /etc/profile
在文件最下方添加:
export Java_HOME=/usr/lib/jvm/jdk1.7 | |
export JRE_HOME=/usr/lib/jvm/jdk1.7/jre | |
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH | |
export PATH=$JAVA_HOME/bin:$PATH |
保存退出,然后执行:
[hadoop@Mars ~]$ source /etc/profile
验证:
[hadoop | ~]$ java -version|
java version "1.7.0_79" | |
Java(TM) SE Runtime Environment (build 1.7.0_79-b15) | |
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode) |
ssh 免密登陆
在每台主机上都执行以下命令:
[hadoop@Mars ~]$ ssh -genkey -t rsa
三次回车后在 ~/.ssh
目录下生成了公钥和私钥:
私钥:id_rsa
公钥:id_rsa.pub
然后在各主机的.ssh 目录下建立认证文件:
[hadoop@Mars ~]$ touch authorized_keys
将各个主机的 id_rsa.pub
文件的内容全部粘贴到 authorized_keys
修改权限:
[hadoop700 ~/.ssh | ~]$ sudo chmod|
[hadoop600 ~/.ssh/authorized_keys | ~]$ sudo chmod
注意 .ssh
目录及子文件都属于 hadoop:haoop
用户
NTP 服务搭建
各台服务器上安装 NTP 服务。NTP 服务用于使集群中各个节点的时间保持同步,建议搭建该服务,如果只是学习实验,可暂时忽略此 part。
[hadoop@Mars ~]$ sudo yum -y install ntp
这里将 Mars 设为 NTP 服务器,Phobos 和 Deimos 作为 NTP 客户端。在 Mars 上配置:
[hadoop@Mars ~]$ vi /etc/ntp.conf | |
restrict 127.0.0.1 | |
restrict ::1 | |
restrict 192.168.253.0 mask 255.255.255.128 nomodify # 添加允许 192.168.253.0/24 网段访问,不可修改服务器参数 | |
server 0.centos.pool.ntp.org iburst | |
server 1.centos.pool.ntp.org iburst | |
server 2.centos.pool.ntp.org iburst | |
server 3.centos.pool.ntp.org iburst | |
fudge Mars stratum 3 # 若上级时间服务器失效,本地对外发布时间 | |
“restrict”参数
kod : 使用 kod 技术防范“kiss of death”攻击
ignore : 拒绝任何 NTP 连接
nomodify : 用户端不能使用 ntpc,ntpq 修改时间服务器参数,但是可以进行网络校时
noquery : 用户端不能使用 ntpc,ntpq 查询时间服务器参数,不可以进行网络校时
notrap : 不提供远程日志功能
notrust:拒绝没有认证的客户端
“server”参数
prefer:设置优先上级服务器
在 Mars 上启动 NTP 服务:
[hadoop@Mars ~]$ service ntpd start
在 Phobos 和 Deimos 上设置:
[hadoop@Phobos ~]$ sudo ntpdate Mars
[hadoop@Deimos ~]$ sudo ntpdate Mars
即可与 Mars 同步时间。若要定时进行同步,需要配置:
[hadoop@Mars ~]$ sudo vi /etc/crontab | |
30 8 * * * root /usr/sbin/ntpdate Mars; /sbin/hwclock -w # 每天 8:30 分校时 | |
:wq! | |
[hadoop@Mars ~]$ sudo service crond restart |
————————————– 分割线 ————————————–
下面关于 Hadoop 的文章您也可能喜欢,不妨看看:
Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程 http://www.linuxidc.com/Linux/2015-02/113487.htm
CentOS 安装和配置 Hadoop2.2.0 http://www.linuxidc.com/Linux/2014-01/94685.htm
CentOS 6.3 下 Hadoop 伪分布式平台搭建 http://www.linuxidc.com/Linux/2016-11/136789.htm
Ubuntu 14.04 LTS 下安装 Hadoop 1.2.1(伪分布模式)http://www.linuxidc.com/Linux/2016-09/135406.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
实战 CentOS 系统部署 Hadoop 集群服务 http://www.linuxidc.com/Linux/2016-11/137246.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
Hadoop 2.6.0 HA 高可用集群配置详解 http://www.linuxidc.com/Linux/2016-08/134180.htm
Spark 1.5、Hadoop 2.7 集群环境搭建 http://www.linuxidc.com/Linux/2016-09/135067.htm
-------------------------------------- 分割线 --------------------------------------
Hadoop 搭建
从 Hadoop 官网下载 Hadoop 安装包,解压至 /opt/hadoop 目录(一般情况下,程序安装在 /usr/local 目录下,数据放在 /home/{user}目录下,但是这里将程序和数据都放在了 /opt/hadoop 下)。
[hadoop@Mars ~]$ cd /opt/hadoop/etc/hadoop | |
[hadoop@Mars hadoop]$ sudo vi core-site.xml | |
<configuration> | |
<property> | |
<name>hadoop.tmp.dir</name> | |
<value>/opt/hadoop/tmp</value> | |
</property> | |
<property> | |
<name>fs.defaultFS</name> | |
<value>hdfs://Mars:9000</value> | |
</property> | |
<property> | |
<name>io.file.buffer.size</name> | |
<value>4096</value> | |
</property> | |
</configuration> | |
:wq! |
[hadoop@Mars hadoop]$ sudo vi hdfs-site.xml | |
<configuration> | |
<property> | |
<name>dfs.nameservices</name> | |
<value>Mars</value> | |
</property> | |
<property> | |
<name>dfs.namenode.secondary.http-address</name> | |
<value>Phobos:50090</value> | |
</property> | |
<property> | |
<name>dfs.namenode.name.dir</name> | |
<value>file:///opt/hadoop/dfs/name</value> | |
</property> | |
<property> | |
<name>dfs.datanode.data.dir</name> | |
<value>file:///opt/hadoop/dfs/data</value> | |
</property> | |
<property> | |
<name>dfs.replication</name> | |
<value>2</value> | |
</property> | |
<property> | |
<name>dfs.webhdfs.enabled</name> | |
<value>true</value> | |
</property> | |
</configuration> | |
:wq! |
[hadoop@Mars hadoop]$ sudo vi mapre-site.xml | |
<configuration> | |
<property> | |
<name>mapreduce.framework.name</name> | |
<value>yarn</value> | |
</property> | |
<property> | |
<name>mapreduce.jobtracker.http.address</name> | |
<value>Mars:50030</value> | |
</property> | |
<property> | |
<name>mapreduce.jobhistory.address</name> | |
<value>Mars:10020</value> | |
</property> | |
<property> | |
<name>mapreduce.jobhistory.webapp.address</name> | |
<value>Mars:19888 </value> | |
</property> | |
</configuration> | |
:wq! |
[hadoopsh | hadoop]$ sudo vi hadoop-env.|
... | |
export JAVA_HOME=/usr/lib/jvm/jdk1.7 | |
... | |
export HADOOP_LOG_DIR=/opt/hadoop/log | |
... | |
:wq! |
[hadoop@Mars hadoop]$ sudo vi yarn-env.sh | |
export JAVA_HOME=/usr/lib/jvm/jdk1.7 | |
:wq! |
[hadoop@Mars hadoop]$ sudo vi slaves | |
Phobos | |
Deimos | |
:wq! |
将 /opt/hadoop 目录拷贝到 Phobos 和 Deimos 的相同位置:
[haoop@Mars ~]$src -r /opt/hadoop hadoop@Phobos:/opt/hadoop | |
[haoop@Mars ~]$src -r /opt/hadoop hadoop@Deimos:/opt/hadoop |
保证该目录下的文件都属于 hadoop:hadoop
用户。
格式化并启动 HDFS:
[hadoop@Mars ~]$ /opt/hadoop/bin/hdfs namenode -format | |
[hadoop@Mars ~]$ cd /opt/hadoop/sbin | |
[hadoop@Mars sbin]$ ./start-dfs.sh |
此时查看 Mars:
[hadoop@Mars ~]$ jps | |
6718 NameNode | |
7461 Jps |
查看 Phobos:
[hadoop@Phobos ~]$ jps | |
6128 DataNode | |
6342 Jps |
查看 Deimos:
[hadoop@Deimos ~]$ jps | |
5682 DataNode | |
5886 Jps |
启动 Yarn:
[hadoop@Mars ~]$ cd /opt/hadoop/sbin | |
[hadoop@Mars sbin]$ ./start-yarn.sh |
此时查看 Mars:
[hadoop@Mars ~]$ jps | |
8128 ResourceManager | |
7461 Jps | |
6718 NameNode |
查看 Phobos:
[hadoop@Phobos ~]$ jps | |
6228 NodeManager | |
6128 DataNode | |
6342 Jps |
查看 Deimos:
[hadoop@Deimos ~]$ jps | |
5782 NodeManager | |
5682 DataNode | |
5886 Jps |
访问
http://Mars:50070/
http://Mars:8088/
Hadoop 成功运行。
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-01/139364p2.htm
