一、下载所需软件和安装包
链接:https://pan.baidu.com/s/1BcJR4zUMnidpJ6Bm5mafVQ
提取码:pojc
二、安装虚拟机
步骤如下:
1.
2.
3.
4.
5.
6.
三、配置vmware网络
步骤如下:
1.
2.
3.
四、安装CentOS 7 操作系统
步骤如下:
1.新建虚拟机
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
五、配置虚拟机,并开启。
步骤如下:1.编辑虚拟机
2.
3.开启虚拟机,开始安装CentOS 7操作系统
六、安装CentOS 7操作系统
步骤如下:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.配置ip地址
12.
13.
14.设置root密码
15.创建普通用户
16.
17.等待安装完成,重启
七、使用Xshell 连接虚拟机
步骤如下:
1.
2.
3.
4.
5.使用xftp上传安装包(自行安装、连接)
八、搭建伪分布式hadoop集群
步骤如下:
**在root用户下操作**
1.
关闭防火墙
[root@node100 ~]# systemctl stop firewalld.service
禁止防火墙开机启动
[root@node100 ~]# systemctl disable firewalld.service
2.配置时间自动同步
[root@node100 ~]# crontab -e
*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com
3.配置主机解析ip地址
[root@node100 ~]# vim /etc/hosts
...
192.168.5.100 node100
4.创建目录并修改权限
[root@node100 ~]# cd /opt
[root@node100 opt]# mkdir module
[root@node100 ~]# chown hadoop:hadoop /opt/module
5.修改为静态ip
[root@node100 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
第四行修改为 BOOTPROTO="static"
必须保证有下面4行
IPADDR=192.168.5.101
NETMASK=255.255.255.0
GATEWAY=192.168.5.2
DNS1=8.8.8.8
6.重启网卡
[root@node100 ~]# systemctl restart network
7.关闭selinux
[root@node100 ~]# vim /etc/selinux/config
SELINUX=disabled
**切换到hadoop用户**
1.配置免密登录(家目录下: ~)
[hadoop@node100 ~]$ ssh-keygen -t rsa
[输入完后连按4个回车]
[hadoop@node100 ~]$ ssh node100
[yes,输入hadoop用户的密码]
[hadoop@node100 ~]$ ssh-copy-id node100
[输入hadoop用户的密码]
2.解压安装包到/opt/module
[hadoop@node100 ~]$ tar -zxvf jdk-8u181-linux-x64.tar.gz -C /opt/module
[hadoop@node100 ~]$ tar -zxvf hadoop-2.7.3.tar.gz -C /opt/module
[hadoop@node100 ~]$ tar -zxvf apache-hive-3.1.1-bin.tar.gz -C /opt/module
3.配置环境变量
[hadoop@node100 ~]$ vim ~/.bash_profile
在文件末尾添加
JAVA_HOME=/opt/module/jdk1.8.0_181
HADOOP_HOME=/opt/module/hadoop-2.7.3
HIVE_HOME=/opt/module/apache-hive-3.1.1-bin
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin
export JAVA_HOME
export HADOOP_HOME
export HIVE_HOME
export PATH
4.使环境变量生效
[hadoop@node100 ~]$ source ~/.bash_profile
5.验证
[hadoop@node100 ~]$ java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
[hadoop@node100 ~]$ hadoop version
Hadoop 2.7.3
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r baa91f7c6bc9cb92be5982de4719c1c8af91ccff
Compiled by root on 2016-08-18T01:41Z
Compiled with protoc 2.5.0
From source with checksum 2e4ce5f957ea4db193bce3734ff29ff4
This command was run using /opt/module/hadoop-2.7.3/share/hadoop/common/hadoop-common-2.7.3.jar
5.修改配置文件
[hadoop@node100 ~]$ cd /opt/module/hadoop-2.7.3/etc/hadoop
5.1
[hadoop@node100 hadoop]$ vim hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_181
5.2
[hadoop@node100 hadoop]$ vim mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_181
5.3
[hadoop@node100 hadoop]$ vim yarn-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_181
**注意:以下5.4--5.7中的配置代码要粘贴在
<configuration>
</configuration>
之间**
5.4
[hadoop@node100 hadoop]$ vim core-site.xml
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node100:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoopdata</value>
</property>
5.5
[hadoop@node100 hadoop]$ vim hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node100:50090</value>
</property>
5.6
[hadoop@node100 hadoop]$ cp mapred-site.xml.template mapred-site.xml
[hadoop@node100 hadoop]$ vim mapred-site.xml
<!-- 指定MR运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
5.7
[hadoop@node100 hadoop]$ vim 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>node100</value>
</property>
<!-- 关闭虚拟内存检查 -->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
5.8
[hadoop@node100 hadoop]$ vim slaves
node100
6.格式化hadoop集群
[hadoop@node100 hadoop]$ hdfs namenode -format
1.启动hadoop集群
[hadoop@node100 hadoop]$ start-all.sh
2.查看进程(6个进程)
[hadoop@node100 hadoop]$ jps
7730 SecondaryNameNode
7523 DataNode
8005 NodeManager
7415 NameNode
7896 ResourceManager
20252 Jps
3.验证集群,浏览器打开以下网址
192.168.5.100:50070
192.168.5.100:8088
Hive安装如下:
1.验证
[hadoop@node100 hadoop]$ hive --version
2.在hdfs上创建hive数据存放目录
[hadoop@node100 hadoop]$ hadoop fs -mkdir /tmp
[hadoop@node100 hadoop]$ hadoop fs -mkdir -p /user/hive/warehouse
[hadoop@node100 hadoop]$ hadoop fs -chmod g+w /tmp
[hadoop@node100 hadoop]$ hadoop fs -chmod g+w /user/hive/warehouse
3.在hive的目录下执行初始化命令
[hadoop@node100 hadoop]$ cd /opt/module/apache-hive-3.1.1-bin
4.初始化
[hadoop@node100 apache-hive-3.1.1-bin]$ bin/schematool -dbType derby -initSchema
5.离开hadoop安全模式
[hadoop@node100 apache-hive-3.1.1-bin]$ hadoop dfsadmin -safemode leave
6.启动hive(每次启动hive都要在此目录下进行)
[hadoop@node100 apache-hive-3.1.1-bin]$ hive
hive>
附1:
启动hive步骤
[root@node100 ~]$ su - hadoop
[hadoop@node100 hadoop]$ start-all.sh
[hadoop@node100 hadoop]$ cd /opt/module/apache-hive-3.1.1-bin
[hadoop@node100 apache-hive-3.1.1-bin]$ hive
hive>
关闭hive步骤
hive> exit;
[hadoop@node100 apache-hive-3.1.1-bin]$ stop-all.sh
[hadoop@node100 apache-hive-3.1.1-bin]$ exit 或 su - root
[root@node100 ~]$ poweroff
附2:在家目录下创建 .hiverc文件
[hadoop@node100 ~]$ vim .hiverc
#在命令行中显示当前数据库名
set hive.cli.print.current.db=true;
#查询出来的结果显示列的名称
set hive.cli.print.header=true;
#设置hive执行的严格模式
set hive.mapred.mode=strict;