阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS7+Hadoop2.5.2+Spark1.5.2环境搭建

406次阅读
没有评论

共计 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@Mars ~]$ 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
修改权限:

[hadoop@Mars ~]$ sudo chmod 700 ~/.ssh
[hadoop@Mars ~]$ sudo chmod 600 ~/.ssh/authorized_keys

注意 .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!
[hadoop@Mars hadoop]$ sudo vi hadoop-env.sh
...
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@Mars ~]$ 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
修改权限:

[hadoop@Mars ~]$ sudo chmod 700 ~/.ssh
[hadoop@Mars ~]$ sudo chmod 600 ~/.ssh/authorized_keys

注意 .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!
[hadoop@Mars hadoop]$ sudo vi hadoop-env.sh
...
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

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计16185字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7995320
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛 NAS-4:飞牛 NAS 安装 istore 旁路由,家庭网络升级的最佳实践 开始 大家好我是...
升级自动部署更新SSL证书系统、申请godaddy的APIKEY

升级自动部署更新SSL证书系统、申请godaddy的APIKEY

升级自动部署更新 SSL 证书系统、申请 godaddy 的 APIKEY 公司之前花钱购买的 ssl 证书快...
我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用 AI 做了一个 1978 年至 2019 年中国大陆企业注册的查询网站 最近星哥在 GitHub 上偶然...
亚马逊云崩完,微软云崩!当全球第二大云“摔了一跤”:Azure 宕机背后的配置风险与警示

亚马逊云崩完,微软云崩!当全球第二大云“摔了一跤”:Azure 宕机背后的配置风险与警示

亚马逊云崩完,微软云崩!当全球第二大云“摔了一跤”:Azure 宕机背后的配置风险与警示 首先来回顾一下 10...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...