计算机系统应用教程网站

网站首页 > 技术文章 正文

快速搭建Hadoop-Hive-Zoopkeeper-Sqoop环境进入Sqoop学习环境

btikc 2024-10-12 10:57:52 技术文章 11 ℃ 0 评论

CDH简单了解

CDH: C:cloudera(公司) D:distribute H:Hadoop

解决了大数据Hadoop 2.x生态系统中各个框架的版本兼容问题,不用自己编译, CDH适合商用,版本更新比较慢,也可以选择其他版本。

CDH版本的安装

在线:不推荐,受网速影响

离线:rpm包,tar包

之前已经安装使用过Apache版本的Hadoop,这次为了区分,我们再单独见一个cdh目录,用于安装cdh版本的Hadoop、Hive和Sqoop。在使用sqoop需要先部署CDH版本的Hadoop&Hive,CDH版本和apache版本的服务不要混用,只开启CDH或者只开启apache服务就可以。

安装过程(YUM源已安装好、系统版本CentOS6.5、java版本是1.7)

首先我们先创建好目录

准备好安装包

创建目录 mkdir –p /opt/bigdata

解压安装包

tar -zxvf sqoop-1.4.5-cdh5.3.6.tar.gz -C /opt/bigdata/

tar -zxvf hive-0.13.1-cdh5.3.6.tar.gz -C /opt/bigdata/

tar -zxvf hadoop-2.5.0-cdh5.3.6.tar.gz -C /opt/bigdata/

我们进入hadoop目录,把share下doc目录东西删除掉,这个用处不大

配置三个env(hadoop,mapred,yarn)文件

export JAVA_HOME= /usr/lib/jvm/java-1.7.0-openjdk.x86_64

编辑三个文件

编辑内容

4个site.xml文件

core:(修改主机名,tmp.dir目录并在linux下创建相应目录,用户名)

hdfs:(修改主机名)

mapred:需先重命名(修改主机名)

yarn:(修改主机名)


core-site.xml


<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://mastercdh:8020</value>

</property>

<property>

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

<value>/opt/module/cdh/hadoop-2.5.0-cdh5.3.6/data/tmp</value>

</property>

</configuration>


hdfs-site.xml


<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

<name>dfs.permissions.enabled</name>

<value>false</value>

</property>

<property>

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

<value>mastercdh:50090</value>

</property>

</configuration>

将这个文件重命名为mapred-site.xml

mapred-site.xml


<configuration>

<property>

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

<value>yarn</value>

</property>

<property>

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

<value>mastercdh:10020</value>

</property>

<property>

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

<value>mastercdh:19888</value>

</property>

</configuration>

yarn-site.xml


<configuration>

<property>

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

<value>mapreduce_shuffle</value>

</property>

<property>

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

<value>mastercdh</value>

</property>

<property>

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

<value>true</value>

</property>

<property>

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

<value>106800</value>

</property>

</configuration>

格式化namenode

$ bin/hdfs namenode –format

启动服务

开启各服务:

sbin/hadoop-daemon.sh start namenode

sbin/hadoop-daemon.sh start datanode

sbin/hadoop-daemon.sh start secondarynamenode

sbin/mr-jobhistory-daemon.sh start historyserver

sbin/yarn-daemon.sh start resourcemanager

sbin/yarn-daemon.sh start nodemanager

关闭服务

sbin/hadoop-daemon.sh start namenode

sbin/hadoop-daemon.sh stop datanode

sbin/hadoop-daemon.sh stop secondarynamenode

sbin/mr-jobhistory-daemon.sh stop historyserver

sbin/yarn-daemon.sh stop resourcemanager

sbin/yarn-daemon.sh stop nodemanager

我们开启服务

配置SSH免密登陆可使用:

$ sbin/start-dfs.sh

$ sbin/start-yarn.sh

$ sbin/start-all.sh


我们访问下,和apache版本相比,页面颜色有变化

安装mysql

检查下是否已下载还有卸载残留

rpm -qa | grep mysql

find / -name mysql

看来还是有的,通过rm -rf将以上目录删掉即可,另外顺便把配置文件/etc/my.cnf也删掉吧,用rm –f

安装mysql

yum -y install mysql mysql-server

安装mysql扩展

yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql

启动mysql

service mysqld start

设置开启启动: chkconfig mysqld on

检查下

chkconfig | grep mysql

设置登录密码:mysqladmin -u root password 'password'

进入数据库,查询用户信息

设置远程登录权限

grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;

删除用户信息

delete from user where user='root' and host='127.0.0.1';

刷新信息

flush privileges;

update user set password = password("password") where user ="root" and host = "mastercdh";

flush privileges;

重启mysqld服务

service mysqld restart

进入解压的hive目录中配置文件目录

先重命名hive-default.xml.template

mv hive-default.xml.template hive-site.xml

再重命名hive-env.sh.template

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

再重命名hive-log4j.properties.template

mv hive-log4j.properties.template hive-log4j.properties

依次配置

首先hive-env.sh

HADOOP_HOME=/opt/bigdata/hadoop-2.5.0-cdh5.3.6

export HIVE_CONF_DIR=/opt/bigdata/hadoop-2.5.0-cdh5.3.6

编辑hive-site.xml,我们输入4000dd删除原来的内容

输入配置文件


j<configuration>

<property>

<name>javax.jdo.option.ConnectionURL</name>

<value>jdbc:mysql://mastercdh:3306/cdhmetastore?createDatabaseIfNotExist=true</value>

</property>

<property>

<name>javax.jdo.option.ConnectionDriverName</name>

<value>com.mysql.jdbc.Driver</value>

</property>

<property>

<name>javax.jdo.option.ConnectionUserName</name>

<value>root</value>

</property>

<property>

<name>javax.jdo.option.ConnectionPassword</name>

<value>password</value>

</property>

<property>

<name>hive.cli.print.current.db</name>

<value>true</value>

</property>

<property>

<name>hive.cli.print.header</name>

<value>true</value>

</property>

</configuration>


配置hive-log4j.properties

hive.log.dir=/opt/bigdata/hive-0.13.1-cdh5.3.6/logs

我们将准备好的mysql的jar包上传到lib目录下

mysql-connector-java-5.1.27-bin.jar


切换到Hadoop目录,建立目录,并修改权限

/user/hive/warehouse为Hive存放数据的目录

bin/hdfs dfs -mkdir -p /user/hive/warehouse

bin/hdfs dfs -chmod g+w /user/hive/warehouse

bin/hdfs dfs -chmod g+w /tmp

启动客户端使用Hive bin/hive就可以了


解压zookeeper

tar -zxvf zookeeper-3.4.5-cdh5.3.6.tar.gz -C /opt/bigdata/

进入zookkeeper目录,创建存放数据的目录

在conf目录里

cp -a zoo_sample.cfg zoo.cfg

然后修改:dataDir= /opt/bigdata/zookeeper-3.4.5-cdh5.3.6/zkData

启动

sbin/zkServer.sh start

可以去查看状态:sbin/zkServer.sh status

部署sqoop

解压sqoop后

配置conf/sqoop-env.sh

复制: cp -a sqoop-env-template.sh sqoop-env.sh

或直接重命名重命名hive-env.sh (去掉.template)

编辑文件

export HADOOP_COMMON_HOME=/opt/bigdata/hadoop-2.5.0-cdh5.3.6

export HADOOP_MAPRED_HOME=/opt/bigdata/hadoop-2.5.0-cdh5.3.6

export HIVE_HOME=/opt/bigdata/hive-0.13.1-cdh5.3.6

export ZOOCFGDIR=/opt/bigdata/zookeeper-3.4.5-cdh5.3.6

拷贝jdbc驱动包达到lib目录

查看帮助信息:bin/sqoop help

测试:sqoop连接mysql

bin/sqoop list-databases --connect jdbc:mysql://mastercdh:3306/ --username root --password password

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表