hadoop-2.7.3+hive-2.3.4+sqoop-1.4.7

hadoop-2.7.3+hive-2.3.4+sqoop-1.4.7

一、hadoop-2.7.3完全分布式环境搭建

hadoop-2.7.3下载.提取:qcqd
为了方便和统一开发环境,一些基础配置如修改主机名和用户名,hosts的ip和主机名映射,配置SSH无密码连接,jdk安装和系统环境变量配置,可参考上一篇文章:
腾讯云服务器搭建hadoop-2.6.0-cdh5.6.0完全分布式环境

1、hadoop系统环境变量配置

root用户执行,所有节点都执行

[root@master ~]# vi /etc/profile

#添加
export HADOOP_HOME=/opt/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin

[root@master ~]# source /etc/profile

2、hadoop配置(/opt/hadoop-2.7.3/etc/hadoop)

在主节点master配置好后,再copy到各从节点slave

(1)hadoop-env.sh(记录hadoop要用的环境变量)

#添加
export HADOOP_HOME=/opt/hadoop-2.7.3
export JAVA_HOME=/opt/jdk1.8.0_40

(2)core-site.xml

<!--配置HDFS的NameNode-->
	<property>
			 <name>fs.defaultFS</name>
			 <value>hdfs://master:9000</value>
	</property>

<!--配置DataNode保存数据的位置-->
	<property>
			 <name>hadoop.tmp.dir</name>
			 <value>/opt/hadoop-2.7.3/tmp</value>
	</property>		

(3)hdfs-site.xml

 <configuration>
        <!--配置HDFS的冗余度-->
		<property>
			  <name>dfs.replication</name>
			  <value>1</value>
		</property>

	    <!--配置是否检查权限-->
		<property>
			  <name>dfs.permissions</name>
			  <value>false</value>
		</property>	
		
        <!--配置secondarynamenode运行的节点-->
       <property>
               <name>dfs.secondary.http.address</name>
               <value>master:50090</value>
       </property>
 </configuration>

(4)mapred-site.xml

<!--配置MR运行的框架-->
<property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
</property>	

(5)yarn-site.xml

<!--配置ResourceManager的地址-->
<property>
	 <name>yarn.resourcemanager.hostname</name>
	 <value>master</value>
</property>

<!--配置NodeManager执行任务的方式-->
<property>
	 <name>yarn.nodemanager.aux-services</name>
	 <value>mapreduce_shuffle</value>
</property>		

(6)slaves文件

#指明运行DataNode、NodeManager的节点,即各从节点
slave1

(7)将hadoop安装文件夹分发到各从节点的相同路径:

scp -r /opt/hadoop-2.7.3 hadoop@slave1:/opt
...

3、格式化HDFS和启动验证

同上一篇:腾讯云服务器搭建hadoop-2.6.0-cdh5.6.0完全分布式环境的步骤六和七

二、 hive-2.3.4安装

hive下载

hive相当于一个客户端,安装在主节点master上

1、安装元数据库(使用MySQL)


> 安装mariadb客户端和服务器
[root@master ~]# yum -y install mariadb mariadb-server 

> 启动mysql服务
[root@master ~]# systemctl start mariadb    

> 设置开机启动
[root@master ~]# systemctl enable mariadb

> 简单配置
[root@master ~]# mysql_secure_installation

Enter current password for root (enter for none): <–初次运行直接回车
OK, successfully used password, moving on...
Set root password? [Y/n] <-回车设置密码
New password:  <-设置root密码
Re-enter new password: <-再次确认
Password updated successfully!
Remove anonymous users? [Y/n] <-是否删除匿名用户,回车
Disallow root login remotely? [Y/n] <-是否禁止root远程登录,回车
Remove test database and access to it? [Y/n] <-是否删除test数据库,回车
Reload privilege tables now? <– 是否重新加载权限表,回车
...
Thanks for using MariaDB!

> 登陆mysql
[root@master ~]# mysql -u root -p 

> 查看数据库
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

> 创建数据库hive,保存hive元数据:
MariaDB [(none)]> create database hive;

> 使操作系统用户hadooop可以通过密码123456操作数据库hive的所有表:
GRANT ALL PRIVILEGES ON hive.*  TO hadoop@'master'  IDENTIFIED BY '123456';
flush privileges;

2、修改hive配置文件

(1)解压

#将hive安装包移至/opt,再以hadoop用户在主节点master执行
tar -zxvf  /opt/apache-hive-2.3.4-bin.tar.gz
#并改名为hive-2.3.4

(2)添加mysql的JDBC驱动

不难理解,hive的元数据库就是mysql,而连接mysql需要对应的驱动jar包

添加至/opt/hive-2.3.4/lib文件夹下

百度云盘:MySQL驱动包
提取码:s4w4

(3)修改hive自身的配置文件

#目录在/opt/hive-2.3.4/conf,进入conf
cp hive-env.sh.template hive-env.sh
#1.在hive-env.sh中添加:
export JAVA_HOME=/opt/jdk1.8.0_40
export HADOOP_HOME=/opt/hadoop-2.7.3
export HIVE_CONF_DIR=/opt/hive-2.3.4/conf
export HIVE_AUX_JARS_PATH=/opt/hive-2.3.4/lib

 cp hive-default.xml.template ./hive-site.xml
 
#2.在hive-site.xml中添加:
   	<property>
            <name>hive.metastore.local</name>
            <value>true</value>
    </property>
    
    <property>
          	<name>javax.jdo.option.ConnectionURL</name>
     <value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value>
        <description>JDBC connect string for a JDBC metastore</description>
    </property>
    
     <property>
                <name>javax.jdo.option.ConnectionDriverName</name>
                <value>com.mysql.jdbc.Driver</value>
            <description>Driver class name for a JDBC metastore</description>
     </property>

     <property>
             <name>javax.jdo.option.ConnectionUserName</name>
             <value>hadoop</value>
         <description>username to use against metastore database</description>
     </property>

     <property>
        <name>javax.jdo.option.ConnectionPassword</name>
           <value>123456</value>
       <description>password to use against metastore database</description>
     </property>
#若不配置以下属性,会出错。
#和hive仓库存储有关,会用到这两个属性,如hive.exec.local.scratchdir中
#可vi hive-site.xml,在命令行模式,输入/搜索内容   来查找
      <property>
   				  <name>system:java.io.tmpdir</name>
     			  <value>/opt/hive-2.3.4/tmp</value>
      </property>
      <property>
     			  <name>system:user.name</name>
     			  <value>hadoop</value>
      </property>

(4)配置系统环境变量并验证安装

#root用户在/etc/profile追加
export HIVE_HOME=/opt/hive-2.3.4
export PATH=$PATH:$HIVE_HOME/bin
#source /etc/profile生效

验证如下 :
启动hadoop和mysql,
初始化:

schematool  -initSchema -dbType mysql

执行:

hive

在hive命令行,执行创建test表命令,并查询:

create table test(id int);
select count(*) from test;

没有异常并显示0,安装成功。

三、sqoop-1.4.7安装

sqoop-1.4.7下载

1、解压

同样解压到/opt目录下,更名为sqoop-1.4.7

2、添加mysql驱动

将mysql-connector-java.jar添加到/opt/sqoop-1.4.7/lib中

3、修改/opt/hive-1.4.7/conf的sqoop-env.sh

export HADOOP_COMMON_HOME=/opt/hadoop-2.7.3
export HADOOP_MAPRED_HOME=/opt/hadoop-2.7.3
export HIVE_HOME=/opt/hive-2.3.4

4、配置sqoop的系统环境变量

#root用户在/etc/profile追加
export SQOOP_HOME=/opt/sqoop-1.4.7
export PATH=$PATH:$SQOOP_HOME/bin
#source /etc/profile生效

5、验证安装

可执行:

sqoop help

或测试连接:

#hadoop用户在主节点master执行:
sqoop list-databases --connect jdbc:mysql://master:3306/ --username hadoop --password 123456

显示msql数据库中的所有数据库实例,如有hive.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值