实验1:Hive环境搭建
【实验内容】
本节实验在CentOS 7的环境中,伪分布式环境下搭建Hive。
【实验目的】
1、掌握JDK安装;
2、掌握Hadoop伪分布式搭建;
3、掌握MySQL数据库安装配置;
4、掌握Hive环境搭建;
【实验步骤】
步骤1 安装JDK
步骤2 配置 SSH 免密码登录
步骤3 配置 Hadoop
步骤4 伪分布式模式配置
步骤5 安装MySQL数据库
步骤6 安装配置Hive
步骤1 安装JDK
注:在本实验环境中已经采用 伪分布式模式 部署好了 Hadoop ,以下部署方式提供给大家在本地进行操作,在实验环境中不必进行操作。
实验环境中已经默认配置了 JDK 及其环境变量,输入以下命令来检查 Java 版本是否是需要的:
java -version
正常情况下,如果系统中已经配置好了 JDK ,则会看到如下的提示:
如果不是以上提示,则表明需要全新安装 JDK ,可以参考以下命令(在本实验环境中不必输入)。
在平台中下载JDK安装包,创建一个存放jdk压缩包的目录
mkdir /usr/local/java
把压缩包放到/usr/local/java/下面,
cp jdk-8u201-linux-x64.tar.gz /usr/local/java/
进入/usr/local/java/目录
cd /usr/local/java
输入下面命令进行解压
tar zxvf jdk-8u201-linux-x64.tar.gz
配置环境变量
vi /etc/profile
在此文件末尾添加如下命令
export JAVA_HOME=/usr/local/java/jdk1.8.0_201
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
重新加载配置文件,使配置文件生效。
source /etc/profile
输入命令检查是否安装成功。
java -version
步骤2 配置 SSH 免密码登录
安装和配置 SSH 的目的是为了让 Hadoop 能够方便地运行远程管理守护进程的相关脚本。
首先生成用于 SSH 免密码登录的秘钥。
所谓“免密码”,是将 SSH 的认证方式由密码登录更改为密钥登录,这样 Hadoop 的各个组件在相互访问时就不必通过用户交互输入密码,能够减少大量冗余操作。
首先切换到用户主目录,然后利用 ssh-keygen 命令来生成 RSA 密钥。
请在终端中输入以下命令:
ssh-keygen -t rsa
在遇到输入密钥存放位置等信息时,可以直接按回车键使用默认值。
遇到Overwrite(y/n)? 输入y后按回车键。
具体操作如下图所示。
随后请继续输入以下命令,将生成的公钥添加到主机认证记录中,为 authorized_keys 文件赋予写权限,否则验证时将无法正确进行。
cat .ssh/id_rsa.pub >> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
添加成功后,尝试登录到本机。请在终端中输入以下命令:
ssh localhost
在第一次登录时会提示是否确认公钥指纹,输入 yes 并确认即可。之后再登录就是免密码的状态了。
使用exit退出后进行后续操作。
步骤3 配置 Hadoop
首先在平台中下载Hadoop安装包。
其次对Hadoop安装包进行目录设置,并进行解压。
mkdir /usr/local/hadoop
tar -zxvf hadoop-2.7.2.tar.gz -C /usr/local/hadoop/
然后将hadoop添加到环境变量,保存并退出编辑器,并重新加载配置文件,使配置文件生效。
vi /etc/proflie
export HADOOP_HOME=/usr/local/hadoop
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
接下来输入命令查看hadoop版本,验证环境变量是否成功。
hadoop version
步骤4 伪分布式模式配置
首先进入hadoop配置文件夹下。
cd /usr/local/hadoop/hadoop-2.7.2/etc/hadoop/
其次修改hadoop-env.sh文件,将配置文件中的export Java_HOME=${JAVA_HOME},改为export JAVA_HOME=/usr/local/jdk1.8.0/,完成后保存并退出编辑器。
vi hadoop-env.sh
然后修改core-site.xml文件,完成后保存并退出编辑器。
接下来修改hdfs-site.xml文件,完成后保存并退出编辑器。
接下来继续修改mapred-site.xml文件,需要从模板复制过来:
cp mapred-site.xml.template mapred-site.xml
用编辑器打开该文件进行编辑,完成后保存并退出编辑器。
接下来继续修改yarn-site.xml文件,完成后保存并退出编辑器。
最后格式化namenode,并启动hadoop进行验证。
在浏览器中输入http://localhost:50070和http://localhost:8088,出现以下效果说明安装成功。
步骤5 安装MySQL数据库
首先回到根目录,Centos 7 自带mariadb,检查mariadb是否已安装;
若出现上图,则说明已安装,我们执行以下命名将其全部删除。
yum -y remove mariadb*
其次执行以下命令下载mysql安装包,并进行安装。
wget
rpm -ivh mysql-community-release-el7-5.noarch.rpm
ls -1 /etc/yum.repos.d/mysql-community*
yum install -y mysql-server
然后对MySQL数据库进行设置。
chown root /var/lib/mysql
service mysqld stop
vi /etc/f
service mysqld start
接下来在MySQL中设置密码。
flush privileges;
set password for root@localhost = password('123456');
flush privileges;
quit;
接下来停止MySQL服务后,再次更新配置文件,将skip-grant-tables 注释。
service mysqld stop
vi /etc/f
最后重新开启服务,登录数据库,设置允许远程登录,完成MySQL的安装配置后就能远程管理mysql了。
service mysqld start
systemctl enable mysqld
mysql -uroot -p
USE mysql;
UPDATE user SET Password=PASSWORD('123456') WHERE user='root';
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
步骤6 安装配置Hive
首先下载安装包,并将其解压在指定路径,命令如下:
mkdir /usr/local/hive
tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /usr/local/hive/
其次进入解压后hive的conf目录下,对hive进行配置。
mv hive-env.sh.template hive-env.sh
vi hive-env.sh
vi hive-site.xml
hive-env.sh文件配置hadoop目录地址,内容如下。
hive-site.xml配置文件内容如下:
javax.jdo.option.ConnectionURL
jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true
JDBC connect string for a JDBC metastore
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
Driver class name for a JDBC metastore
javax.jdo.option.ConnectionUserName
root
username to use against metastore database
javax.jdo.option.ConnectionPassword
123456
password to use against metastore database
由于Hive的元数据会存储在Mysql数据库中,所以需要在Hive的配置文件中,指定mysql的相关信息。
javax.jdo.option.ConnectionURL:数据库链接字符串。
javax.jdo.option.ConnectionDriverName:连接数据库的驱动包。
javax.jdo.option.ConnectionUserName:数据库用户名。
javax.jdo.option.ConnectionPassword:连接数据库的密码。
此处的数据库的用户名及密码,需要设置为自身系统的数据库用户名及密码。
接下来从平台下载数据库连接jar包,并将MySQL连接jar包拷贝到hive下的lib目录中。
cp mysql-connector-java-5.1.32.jar /usr/local/hive/apache-hive-1.2.1-bin/lib/
最后验证hive安装是否成功,进入hive安装目录下执行如下命令,或