02 环境搭建
一、安装Ubuntu16.04 LTS 64bit操作系统
二、安装关系型数据库MySQL
使用以下命令安装mysql:
$ sudo apt-get update #更新软件源
$ sudo apt-get install mysql-server #安装mysql
中间会设置用户root的密码,建议把密码设为root并记住。
启动和关闭mysql服务器:
$ service mysql start
$ service mysql stop
确认是否启动成功,mysql节点处于LISTEN状态表示启动成功:
$ sudo netstat -tap | grep mysql
进入mysql shell界面:
$ mysql -u root -p
到此已成功安装完mysql。
三、安装大数据处理框架Hadoop
1、安装并配置ssh
1.1 安装ssh
$ sudo apt-get install openssh-server
$ ssh localhost 登录本机
1.2 配置ssh无密码登录
首先使用命令 $ exit 退出上一步的ssh,使用ssh-keygen生成密钥,最后将密钥加入授权。命令如下:
$ exit # 退出刚才的 ssh localhost
$ cd ~/.ssh/ # 若没有该目录,再执行一次ssh localhost
$ ssh-keygen -t rsa # 出现提示回车
$ cat ./id_rsa.pub >> ./authorized_keys # 加入授权
配置完成后再使用 $ ssh localhost 登录本机不需要密码。
2、安装并配置java
2.1 下载java
去 oracle官网 下载 jdk-8u301-linux-x64.tar.gz ,解压并移动到 /usr/local/ 目录下:
$ sudo tar -xzf jdk-8u301-linux-x64.tar.gz -C /usr/local
$ cd /usr/local
$ sudo mv jdk1.8.0_301/ java
2.2 配置java环境变量
使用命令 $ vim ~/.bashrc 编辑环境变量文件,在文件末尾添加以下内容:
#java
export JAVA_HOME=/usr/local/java
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
编辑完后保存并退出回到终端,使用命令 $ source ~/.bashrc 让环境变量文件生效。
使用命令 $ java -version 查看是否配置成功,正确配置成功如下图:
3、安装并配置hadoop
3.1 下载hadoop
去 hadoop官网 下载 hadoop-2.7.1.tar.gz ,解压并移动到 /usr/local/ 目录下:
$ sudo tar -xzf hadoop-2.7.1.tar.gz -C /usr/local
$ cd /usr/local
$ sudo mv hadoop-2.7.1/ hadoop
$ sudo chown -R th ./hadoop #th为终端中@前的用户名,自行修改便可
3.2 配置hadoop环境变量
使用命令 $ vim ~/.bashrc 编辑环境变量文件,在文件末尾添加以下内容:
#hadoop
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
编辑完后保存并退出回到终端,使用命令 $ source ~/.bashrc 让环境变量文件生效。
使用命令 $ hadoop version 查看是否配置成功,正确配置成功如下图:
3.3 hadoop伪分布式配置
hadoop的配置文件存放在 /usr/local/hadoop/etc/hadoop 下,要修改该目录下的文件 core-site.xml 和 hdfs-site.xml 来达到实现伪分布式配置。
使用命令 $ cd /usr/local/hadoop/etc/hadoop 进入到该目录:
$ vim core-site.xml ,修改 core-site.xml,将<configure></configure>修改为:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
$ vim hdfs-site.xml ,修改 hdfs-site.xml,将<configure></configure>修改为:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
同时也要修改 /usr/local/hadoop/etc/hadoop 目录下的文件 hadoop-env.sh,命令如下:
$ vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
找到 JAVA_HOME 变量,修改此变量为: export JAVA_HOME=/usr/local/java ,保存并退出回到终端。
配置完后进入 /usr/local/hadoop 该目录,使用命令 $ ./bin/hdfs namenode -format 实现namenode的格式化,如下图:
接着使用命令 $ sbin/start-dfs.sh 开启namenode和datanode,如下图:
使用命令 $ jps 查看是否开启成功,如下图:
namenode和datanode出现说明配置hadoop成功。
四、安装数据仓库Hive
4.1下载hive
去 hive官网 下载 apache-hive-1.2.1-bin.tar.gz ,解压并移动到 /usr/local/ 目录下:
$ sudo tar -xzf apache-hive-1.2.1-bin.tar.gz -C /usr/local
$ cd /usr/local
$ sudo mv apache-hive-1.2.1-bin/ hive
$ sudo chown -R th hive #th为终端中@前的用户名,自行修改便可
4.2 配置hive环境变量
使用命令 $ vim ~/.bashrc 编辑环境变量文件,在文件末尾添加以下内容:
#hive
export HIVE_HOME=/usr/local/hive
export HCAT_HOME=$HIVE_HOME/hcatalog
export HIVE_CONF=$HIVE_HOME/conf
export PATH=$PATH:$HIVE_HOME/bin
编辑完后保存并退出回到终端,使用命令 $ source ~/.bashrc 让环境变量文件生效。
使用命令 $ cd /usr/local/hive 进入到该目录,并在复制该目录下的 conf/hive-default.xml.template 为 conf/hive-site.xml :
$ cp conf/hive-default.xml.template conf/hive-site.xml
$ vim conf/hive-site.xml ,修改 hive-site.xml,把原来的所有默认配置删除(原来所有命令较多,不好找,只保留4个必要属性即可),只留以下命令:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- WARNING!!! This file is auto generated for documentation purposes ONLY! -->
<!-- WARNING!!! Any changes you make to this file will be ignored by Hive. -->
<!-- WARNING!!! You must make your changes in hive-site.xml instead. -->
<!-- Hive Execution Parameters -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost: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>hive</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use against metastore database</description>
</property>
</configuration>
编辑完后保存并退出回到终端。
4.3 连接hive和mysql
连接hive和mysql,需要一个 mysql-connector-java 的jar包。
去 mysql官网 下载 mysql-connector-java-5.1.4.tar.gz ,解压并把其中的jar包复制到 /usr/local/hive/lib/ 目录下:
$ tar -xzf mysql-connector-java-5.1.4.tar.gz
$ cp mysql-connector-java-5.1.4/mysql-connector-java-5.1.4-bin.jar /usr/local/hive/lib/
进入mysql,创建新用户hive:
$ mysql -u root -p #输入密码root
mysql> create user 'hive' identified by 'hive';
mysql> grant all privileges on *.* to 'hive'@'localhost' identified by 'hive';
mysql> mysql -uhive -phive #用户名和密码均为hive
mysql> exit
以用户hive身份进入mysql,并创建数据库hive:
$ mysql -uhive -phive
mysql> create database hive;
下图即为成功创建数据库:
4.4 启动hive
启动hive前需要开启hadoop集群:
$ cd /usr/local/hadoop
$ sbin/start-dfs.sh
在终端输入命令 $ hive 成功进入即为成功安装与配置hive,如下图:
五、安装列族数据库HBase
5.1 下载hbase
去 hbase官网 下载 hbase-1.1.5-bin.tar.gz ,解压并移动到 /usr/local/ 目录下:
$ sudo tar -xzf hbase-1.1.5-bin.tar.gz -C /usr/local
$ cd /usr/local
$ sudo mv sudo mv hbase-1.1.5/ hbase
$ sudo chown -R th hbase/ #th为终端中@前的用户名,自行修改便可
5.2 配置hbase环境变量
使用命令 $ vim ~/.bashrc 编辑环境变量文件,在文件末尾添加以下内容:
#hbase
export HBASE_HOME=/usr/local/hbase
export HBASE_CONF_DIR=$HBASE_HOME/conf
export PATH=$PATH:$HBASE_HOME/bin
编辑完后保存并退出回到终端,使用命令 $ source ~/.bashrc 让环境变量文件生效。
使用命令 $ hbase version 查看是否配置成功,正确配置成功如下图:
5.3 hbase伪分布式配置
hive的配置文件存放在 /usr/local/hbase/conf 下,要修改该目录下的文件 hbase-site.xml和 hbase-env.sh 来达到实现伪分布式配置。
使用命令 $ /usr/local/hbase/conf 进入到该目录:
$ vim hbase-site.xml ,修改 hbase-site.xml,将<configure></configure>修改为:
<configuration>
<property>
<name>hbase.rootdir</name>
//这里设置让HBase存储文件的地方
<value>hdfs://localhost:9000/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
//这里设置让HBase存储内建zookeeper文件的地方
<value>/tmp/zookeeper</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
</configuration>
$ vim hbase-env.sh ,修改 hbase-env.sh,在文件末尾添加以下内容:
export JAVA_HOME=/usr/local/java
export HBASE_MANAGES_ZK=true
5.4 启动hbase
启动hive前需要开启hadoop集群:
$ cd /usr/local/hadoop
$ sbin/start-dfs.sh
启动hive:
$ start-hbase.sh
使用命令 $ jps 查看是否开启成功,如下图:
HMaster和HRegionServer出现说明配置hbase成功。
六、安装Sqoop
6.1 下载sqoop
去 sqoop官网 下载 sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz ,解压并移动到 /usr/local/ 目录下:
$ sudo tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /usr/local
$ cd /usr/local
$ sudo mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop
$ sudo chown -R th sqoop #th为终端中@前的用户名,自行修改便可
6.2 配置sqoop环境变量
使用命令 $ vim ~/.bashrc 编辑环境变量文件,在文件末尾添加以下内容:
#sqoop
$ export SQOOP_HOME=/usr/local/sqoop
$ export PATH=$PATH:$SQOOP_HOME/bin
编辑完后保存并退出回到终端,使用命令 $ source ~/.bashrc 让环境变量文件生效。
使用命令 $ cd /usr/local/sqoop/conf 进入到该目录,并在复制该目录下的 sqoop-env-template.sh 为 sqoop-env.sh:
$ cat sqoop-env-template.sh >> sqoop-env.sh
$ vim sqoop-env.sh ,修改 sqoop-env.sh,把以下内容填入:
export HADOOP_COMMON_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=/usr/local/hadoop
export HBASE_HOME=/usr/local/hbase
export HIVE_HOME=/usr/local/hive
#export ZOOCFGDIR= #如果配置了ZooKeeper,也需要配置ZooKeeper的路径
6.3 连接sqoop和mysql
连接sqoop和mysql,需要一个 mysql-connector-java 的jar包。
去 mysql官网 下载 mysql-connector-java-5.1.4.tar.gz ,解压并把其中的jar包复制到 /usr/local/sqoop/lib 目录下:
$ tar -xzf mysql-connector-java-5.1.4.tar.gz
$ cp mysql-connector-java-5.1.4/mysql-connector-java-5.1.4-bin.jar /usr/local/sqoop/lib
启动mysql服务: $ service mysql start
测试sqoop与mysql之间是否连接成功:
$ sqoop list-databases --connect jdbc:mysql://127.0.0.1:3306/ --username root -P
mysql的数据库列表出现表示成功sqoop成功安装并配置,如下图:
sqoop可以用来将数据从mysql导入到hbase。