hadoop、hive、spark等详细安装环境、系统安装及运行

一、Hadoop安装环境准备

1.    克隆虚拟机   

克隆完成以后,使用root账户登录。

 

2.    修改克隆虚拟机的静态IP

使用vim /etc/udev/rules.d/70-persistent-net.rules指令,删除原先的eth0所在的行。复制eth1的ATTR{address}信息,修改eth1为eth0。

使用vim /etc/sysconfig/network-scripts/ifcfg-eth0指令,修改HWADDR的值为上边复制的信息,然后修改相应的IP地址。

 

3.    修改主机名

vim /etc/sysconfig/network,修改相应的主机名称。(我的都是HOSTNAME=node-n)。 

注意:真正修改主机名称是在 /etc/sysconfig/network这个文件中。修改/etc/hosts中的内容,只是为了域名映射,并不是修改主机名称。

后续可以执行reboot;也可以执行重启网络的指令(service network restart)。

 

4.    关闭防火墙(略)

 

 

5.    配置ssh

(1)免密登录原理,如图2-40所示

(2)生成公钥和私钥:

 ssh-keygen -t rsa

然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

(3)将公钥拷贝到要免密登录的目标机器上

ssh-copy-id node-2

 ssh-copy-id node-3

 ssh-copy-id node-4

注意:

还需要在hadoop102上采用root账号,配置一下无密登录到hadoop102hadoop103hadoop104

还需要在hadoop103上采用atguigu账号配置一下无密登录到hadoop102hadoop103hadoop104服务器上。

 

6.    配置node1用户具有root权限

vim /etc/sudoers

可以修改某些用户拥有root权限。

 

7.在/opt目录下创建文件夹

使用 sudo chown node1:node1 module/ software/  可以同时修改module/ software/这两个文件的所有者及其所有者的组

 

8、卸载现有JDK

(1)查询是否安装Java软件:

 rpm -qa | grep java

(2)如果安装的版本低于1.7,卸载该JDK:

 sudo rpm -e 软件包

(3)查看JDK安装路径:

 which java

(4)如果没有JDK安装包,下载一个

执行 tar -zxvf 安装包路径 -C 想要存放解压文件的路径

(5)打开/etc/profile文件

 sudo vi /etc/profile

在profile文件末尾添加JDK路径

#JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.8.0_144

export PATH=$PATH:$JAVA_HOME/bin

(6)保存后退出

(7)让修改后的文件生效

source /etc/profile

 

9、将Hadoop添加到环境变量

(1)获取Hadoop安装路径

 pwd

/opt/module/hadoop-2.7.2

(2)打开/etc/profile文件

 sudo vi /etc/profile

在profile文件末尾添加JDK路径:(shitf+g)

##HADOOP_HOME

export HADOOP_HOME=/opt/module/hadoop-2.7.2

export PATH=$PATH:$HADOOP_HOME/bin

export PATH=$PATH:$HADOOP_HOME/sbin

(3)保存后退出

(4)让修改后的文件生效

source /etc/profile

 

下面的安装都是伪分布式的安装步骤:

hadoop集群的规划

 

node-1

node-2

node-3

node-4

HDFS

 

NameNode

DataNode

 

DataNode

 

DataNode

DataNode

YARN

 

NodeManager

SecondaryNameNode

NodeManager

ResourceManager

NodeManager

NodeManager

按照官网的伪分布式配置步骤:

1、配置HDFS

(1)配置HDFS集群

(a)配置:hadoop-env.sh

Linux系统中获取JDK的安装路径:

 echo $JAVA_HOME

/root/apps/jdk1.8.0_11

修改JAVA_HOME 路径:

export JAVA_HOME=/root/apps/jdk1.8.0_11

(b)etc/hadoop/core-site.xml:

<configuration>

<!-- 指定HDFS中NameNode的地址-->

    <property>

        <name>fs.defaultFS</name>

        <value>hdfs://node-1:9000</value>

    </property>

<!-- 指定Hadoop运行时产生文件的存储目录 -->

<property>

    <name>hadoop.tmp.dir</name>

    <value>/export/server/hadoop-2.7.2/data/tmp</value>

</property>

</configuration>

(c)etc/hadoop/hdfs-site.xml

<configuration>

<!-- 指定HDFS副本的数量 -->

    <property>

        <name>dfs.replication</name>

        <value>2</value>

    </property>

<!-- 指定Hadoop辅助名称节点主机配置 -->

<property>

      <name>dfs.namenode.secondary.http-address</name>

      <value>node-2:50090</value>

</property>

</configuration>

(2)启动HDFS集群

(a)格式化NameNode(第一次启动时格式化,以后就不要总格式化)

 bin/hdfs namenode -format

 (b)启动NameNode

 sbin/hadoop-daemon.sh start namenode

 (c)启动DataNode

 sbin/hadoop-daemon.sh start datanode

(3)查看HDFS集群

  (a)查看是否启动成功

jps

13586 NameNode

13668 DataNode

13786 Jps

注意:jpsJDK中的命令,不是Linux命令。不安装JDK不能使用jps

 (b)web端查看HDFS文件系统

http://node-1:50070/dfshealth.html#tab-overview

注意:如果不能查看,看如下帖子处理

http://www.cnblogs.com/zlslch/p/6604189.html

(c)查看产生的Log日志

       说明:在企业中遇到Bug时,经常根据日志提示信息去分析问题、解决Bug

当前目录:/opt/module/hadoop-2.7.2/logs

ls

hadoop-atguigu-datanode-hadoop.atguigu.com.log

hadoop-atguigu-datanode-hadoop.atguigu.com.out

hadoop-atguigu-namenode-hadoop.atguigu.com.log

hadoop-atguigu-namenode-hadoop.atguigu.com.out

SecurityAuth-root.audit

 cat hadoop-atguigu-datanode-hadoop101.log

d)思考:为什么不能一直格式化NameNode,格式化NameNode,要注意什么?

 cd data/tmp/dfs/name/current/

 cat VERSION

clusterID=CID-f0330a58-36fa-4a2a-a65f-2688269b5837

 

cd data/tmp/dfs/data/current/

clusterID=CID-f0330a58-36fa-4a2a-a65f-2688269b5837

 

注意:格式化NameNode,会产生新的集群id,导致NameNodeDataNode的集群id不一致,集群找不到已往数据。所以,格式NameNode时,一定要先删除data数据和log日志,然后再格式化NameNode

 

2、配置YARN

(1)配置YARN集群

(a)配置yarn-env.sh

配置一下JAVA_HOME

export JAVA_HOME=/root/apps/jdk1.8.0_11

(b)配置yarn-site.xml

<!-- Reducer获取数据的方式 -->

<property>

     <name>yarn.nodemanager.aux-services</name>

     <value>mapreduce_shuffle</value>

</property>

 

<!-- 指定YARN的ResourceManager的地址 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>node-3</value>

</property>

(c)配置:mapred-env.sh

配置一下JAVA_HOME

export JAVA_HOME=/root/apps/jdk1.8.0_11

 (d)配置: (对mapred-site.xml.template重新命名为) mapred-site.xml

mv mapred-site.xml.template mapred-site.xml

 vi mapred-site.xml

<!-- 指定MR运行在YARN上-->

<property>

      <name>mapreduce.framework.name</name>

      <value>yarn</value>

</property>

(2)启动YARN集群

(a)启动前必须保证NameNode和DataNode已经启动

(b)启动ResourceManager

 sbin/yarn-daemon.sh start resourcemanager

(c)启动NodeManager

 sbin/yarn-daemon.sh start nodemanager

(3)YARN集群操作

(a)YARN的浏览器页面查看,如图2-35所示

http://node-1:8088/cluster

3、配置历史服务器

为了查看程序的历史运行情况,需要配置一下历史服务器。具体配置步骤如下:

(1)配置mapred-site.xml

 vi mapred-site.xml

在该文件里面增加如下配置。

<!-- 历史服务器端地址 -->

<property>

<name>mapreduce.jobhistory.address</name>

<value>node-1:10020</value>

</property>

<!-- 历史服务器web端地址 -->

<property>

    <name>mapreduce.jobhistory.webapp.address</name>

    <value>node-1:19888</value>

</property>

(2) 启动历史服务器

 sbin/mr-jobhistory-daemon.sh start historyserver

(3)查看历史服务器是否启动

 jps

(4)查看JobHistory

http://node-1:19888/jobhistory

4、配置日志的聚集

日志聚集概念:应用运行完成以后,将程序运行日志信息上传到HDFS系统上。

日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。

注意:开启日志聚集功能,需要重新启动NodeManager ResourceManagerHistoryManager

开启日志聚集功能具体步骤如下:

(1)配置yarn-site.xml

 vi yarn-site.xml

<!-- 日志聚集功能使能-->

<property>

<name>yarn.log-aggregation-enable</name>

<value>true</value>

</property>

 

<!-- 日志保留时间设置7天-->

<property>

<name>yarn.log-aggregation.retain-seconds</name>

<value>604800</value>

</property>

(2)关闭NodeManager 、ResourceManager和HistoryManager

 sbin/yarn-daemon.sh stop resourcemanager

sbin/yarn-daemon.sh stop nodemanager

sbin/mr-jobhistory-daemon.sh stop historyserver

(3)启动NodeManager 、ResourceManager和HistoryManager

sbin/yarn-daemon.sh start resourcemanager

sbin/yarn-daemon.sh start nodemanager

sbin/mr-jobhistory-daemon.sh start historyserver

5、集群启动

(1) 配置slaves

/opt/module/hadoop-2.7.2/etc/hadoop/slaves

 vi slaves

在该文件中增加如下内容:

node-1

node-2

node-3

node-4

注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。

(2)如果集群是第一次启动,需要格式化NameNode(注意格式化之前,一定要先停止上次启动的所有namenodedatanode进程,然后再删除datalog数据)

bin/hdfs namenode -format

(3)启动HDFS

sbin/start-dfs.sh

(4)启动YARN

sbin/start-yarn.sh

注意:NameNodeResourceManger如果不是同一台机器,不能在NameNode上启动 YARN,应该在ResouceManager所在的机器上启动YARN

(5)Web端查看SecondaryNameNode

(a)浏览器中输入:http://node-2:50090/status.html

二、hive安装

1.Hive安装及配置

(1)把hive压缩包上传到linux的相应目录下

(2)解压hive压缩包到相应目录下面

(3)修改hive压缩包的名称为hive

mv apache-hive-1.2.2-bin/ hive

(4)修改/opt/module/hive/conf目录下的hive-env.sh.template名称为hive-env.sh

mv hive-env.sh.template hive-env.sh

(5)配置hive-env.sh文件

(a)配置HADOOP_HOME路径

export HADOOP_HOME=/export/server/hadoop-2.7.2

(b)配置HIVE_CONF_DIR路径

export HIVE_CONF_DIR=/export/server/hive/conf

2.Hadoop集群配置

(1)必须启动hdfs和yarn

sbin/start-dfs.sh

 sbin/start-yarn.sh

(2)在HDFS上创建/tmp和/user/hive/warehouse两个目录并修改他们的同组权限可写

hadoop fs -mkdir /tmp

hadoop fs -mkdir -p /user/hive/warehouse

hadoop fs -chmod g+w /tmp

hadoop fs -chmod g+w /user/hive/warehouse

3.Hive基本操作

(1)启动hive

bin/hive

(2)查看数据库

hive> show databases;

(3)打开默认数据库

hive> use default;

(4)显示default数据库中的表

hive> show tables;

(5)创建一张表

hive> create table student(id int, name string);

(6)显示数据库中有几张表

hive> show tables;

(7)查看表的结构

hive> desc student;

(8)向表中插入数据

hive> insert into student values(1000,"ss");

(9)查询表中数据

hive> select * from student;

(10)退出hive

hive> quit;

未完待续。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值