天天看点

hadoop,hbase,hive,sqoop等大数据相关安装详细说明

安装包  网上下载

 1. hadoop-2.6.0-cdh5.4.0.tar.gz

 2. scala-2.10.4.tgz

 3. sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz

 4. apache-hive-1.2.1-bin.tar.gz

 5. spark-1.4.1-bin-hadoop2.6.tgz

 6. jdk-8u40-ea-bin-b05-linux-x64-10_sep_2014.tar.gz

安装系统环境:

 linux

安装步骤:

1.安装JDK (建议JDK7 以上)

 步骤一:

  解压安装包,通过命令进入JDK压缩包存放目录,解压JDK压缩包,解压命令:tar -zxvf  jdk-8u40-ea-bin-b05-linux-x64-10_sep_2014.tar.gz

 步骤二:

  配置JDK环境变量,在系统目录/etc/profile文件最下添加:

  export JAVA_HOME=/$path/jdk1.8.0_40

  export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

  export PATH=$PATH:$JAVA_HOME/bin

 步骤三:

  通过命令 cd /. 回到系统最初目录,执行命令 echo $JAVA_HOME,如显示JDK安装目录,即代表安装成功

2.安装Hadoop 2.6.0(伪分布式,单节点部署)

 步骤一:

  解压安装包,通过命令进入Hadoop 2.6.0 存放目录,解压安装包,解压命令: tar -zxvf  hadoop-2.6.0-cdh5.4.0.tar.gz

 步骤二:

  1.解压后,找到hadoop安装目录下的hadoop-env.sh文件,绝对地址如下:/$path/hadoop-2.6.0-cdh5.4.0/etc/hadoop/hadoop-env.sh,

  修改 export JAVA_HOME=/$path/jdk1.8.0_40

  2.找到hadoop安装目录下的core-site.xml文件,绝对地址如下:/$path/hadoop-2.6.0-cdh5.4.0/etc/hadoop/core-site.xml,添加

  <!-- HDFS默认地址 -->

  <property>

   <name>fs.defaultFS</name>

   <value>hdfs://localhost.localdomain:8020</value>

  </property>

  <!-- 缓存目录 -->

  <property>

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

   <value>/$path/hadoop-2.6.0-cdh5.4.0/data/tmp</value>

  </property>

  3.找到hadoop安装目录下的hadoop-env.sh文件,绝对地址如下:/$path/hadoop-2.6.0-cdh5.4.0/etc/hadoop/hdfs-site.xml,

  <!-- HDFS文件中文件副本数 -->

  <property>

   <name>dfs.replication</name>

   <value>1</value>

  </property>

  4.格式化HDFS系统,生成镜像文件,进入hadoop-2.6.0 目录,执行命令:bin/hdfs namenode -format,完成格式化

  5.启动Hadoop namenode、datanode节点,在hadoop-2.6.0目录,

   执行命令:sbin/hadoop-daemon.sh start namenode

   执行命令:sbin/hadoop-daemon.sh start datanode

   检查节点启动情况,执行命令: jps,显示结果包含namenode、datanode标识,表明节点启动成功

  6.通过浏览器访问地址:服务器IP:50070,如显示hadoop页面,表明Hadoop伪分布式搭建成功

3.安装Scala-2.10.4

 步骤一:

  解压安装包,通过命令进入Scala-2.10.4 存放目录,解压安装包,解压命令: tar -zxvf  scala-2.10.4.tgz

 步骤二: 

  配置JDK环境变量,在系统目录/etc/profile文件最下添加:

  export SCALA_HOME=/$path/scala-2.10.4

  export PATH=$SCALA_HOME/bin:$PATH

 步骤三:

  通过命令 cd /. 回到系统最初目录,执行命令 echo $SCALA_HOME,如显示Scala安装目录,即代表安装成功

4.安装spark-1.4.1(Standalone集群模式)

 步骤一:

  解压安装包,通过命令进入spark-1.4.1 存放目录,解压安装包,解压命令: tar -zxvf  spark-1.4.1-bin-hadoop2.6.tgz

 步骤二:

     spark-env.sh  文件是由spark-env.sh.template 模板复制命名过来的。

  1.找到spark安装目录下的spark-env.sh文件,绝对地址如下:/$path/spark-1.4.1-bin-hadoop2.6/conf/spark-env.sh,添加

  #JDK安装目录

  JAVA_HOME=/$path/jdk1.8.0_40

  #Scala安装目录

  SCALA_HOME=/$path/scala-2.10.4

  #Hadoop HDFS节点中的conf配置文件路径

  export HADOOP_CONF_DIR=/$path/hadoop-2.6.0-cdh5.4.0/etc/hadoop

  #spark master IP地址

  SPARK_MASTER_IP=localhost.localdomain

  #spark master 端口号(默认: 7077)

  SPARK_MASTER_PORT=7077

  #spark master Web端口(默认: 8080)

  SPARK_MASTER_WEBUI_PORT=8080

  #Spark worker占用CPU核心数量(默认: 所有可用的)

  SPARK_WORKER_CORES=1

  #Spark worker占用内存大小(默认:  所有RAM去掉给操作系统用的1 GB。注意:每个作业自己的内存空间由SPARK_MEM决定。)

  SPARK_WORKER_MEMORY=1000m

  #Spark worker端口(默认:随机))

  SPARK_WORKER_PORT=7078

  #Spark Web UI端口(默认: 8081)

  SPARK_WORKER_WEBUI_PORT=8081

  #Spark worker运行数量(默认: 1,注意:当你有一个非常强大的计算机的时候和需要多个Spark worker进程的时候你可以修改这个默认值大于1 . 如果你设置了这个值。要确保SPARK_WORKER_CORE 明确限制每一个r worker的核心数, 否则每个worker 将尝试使用所有的核心)

  SPARK_WORKER_INSTANCES=1

  2.找到spark安装目录下的slaves.template文件,指定worker节点地址,绝对地址如下:/$path/$path/spark-1.4.1-bin-hadoop2.6/conf/slaves.template,

  因当前配置模式为伪分布式,子父节点在同一台机器上,所以将locahost修改为为当前服务器主机名称或者IP地址,修改后,删除文件.template后缀名

  3.找到spark安装目录下的spark-defaults.conf.template文件,指定worker节点地址,绝对地址如下:/$path/$path/spark-1.4.1-bin-hadoop2.6/conf/spark-defaults.conf.template,

  添加    spark.master                     spark://localhost.localdomain:7077     (注意这里需要写 ip 地址)

  添加后删除文件.template后缀名

 步骤三:

  启动Spark,进入Spark安装目录,

  执行命令:sbin/start-master.sh

  执行命令:sbin/start-slaves.sh

  执行完毕后,执行:jsp命令,检查进程,如有Master、Worker进行,则代表启动成功

 步骤三:

  通过浏览器访问地址:服务器IP:8080,如显示Spark页面,表明Spark Standalone集群模式搭建成功

6.安装Hive(集成Mysql作为元数据库,数据库编码集必须为lantan1)

 步骤一:

  解压安装包,通过命令进入Hive 存放目录,解压安装包,解压命令: tar -zxvf  apache-hive-1.2.1-bin.tar.gz

 步骤二:

  1.找到Hive安装目录下的hive-env.sh.template文件,绝对地址如下:/$path/apache-hive-1.2.1-bin/conf/hive-env.sh.template,添加

  #好像是数据检索大小(默认-Xmx4096m )

  export HADOOP_HEAPSIZE=1024

  #Hadoop安装目录

  HADOOP_HOME=/$path/hadoop-2.6.0-cdh5.4.0

  #Hive配置文件目录

  export HIVE_CONF_DIR=/$path/apache-hive-1.2.1-bin/conf

  #Hive Jar支持目录

  export HIVE_AUX_JARS_PATH=/$path/apache-hive-1.2.1-bin/lib

  添加完毕后,删除文件.template后缀名

  2.找到Hive安装目录下的hive-default.xml.template文件,绝对地址如下:/$path/apache-hive-1.2.1-bin/conf/hive-default.xml.template,修改

   <!-- 元数据库地址 -->

      <property>

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

    <value>jdbc:mysql://IP:PORT/DataBase?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>hive</value>

   </property>

   <!-- 元数据库密码 -->

   <property>

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

    <value>mysql</value>

   </property>

   <!---hive.querylog.location----目录>

     <property>

                 <name>hive.querylog.location</name>

                 <value>/opt/apache-hive-1.2.1-bin/iotmp</value>   ---iotmp 目录自己创建,并要有写入数据权限

                 <description>Location of Hive run time structured log file</description>

           </property>

     <!-- hive.server2.logging.operation.log.location   日志目录-->

      <property>

                <name>hive.server2.logging.operation.log.location</name>

                <value>/opt/apache-hive-1.2.1-bin/iotmp/operation_logs</value>

                <description>Top level directory where operation logs are stored if logging functionality is enabled</description>

            </property>

   <!---hive.downloaded.resources.dir--  >

    <property>

                <name>hive.downloaded.resources.dir</name>

                <value>/opt/apache-hive-1.2.1-bin/iotmp/${hive.session.id}_resources</value>

                <description>Temporary local directory for added resources in the remote file system.</description>

             </property>

  添加完毕后,修改文件名称为:hive-site.xml,删除文件.template后缀

  4.将Mysql JDBC支持包放入/$path/apache-hive-1.2.1-bin/lib

 步骤三:

     hive CLI启动时报错:(hadoop-2.5.2 + HIVE 1.1.0)

        [email protected]:/hadoop-2.5.2/etc/hadoop# hive

        Logging initialized using configuration in jar:file:/hive/apache-hive-1.1.0-bin/lib/hive-common-1.1.0.jar!/hive-log4j.properties

        SLF4J: Class path contains multiple SLF4J bindings.

        SLF4J: Found binding in [jar:file:/hadoop-2.5.2/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]

  原因为 是hadoop目录下存在老版本jline:  http://www.mamicode.com/info-detail-516526.html

  解决办法:

     第1步,进入到 hadoop的目录 /opt/hadoop-2.6.1/share/hadoop/yarn/lib 将jline-0.9.94.jar 包 重名为为 jline-0.9.94.jar.bak

  然后将hive 目录中/opt/apache-hive-1.2.1-bin/lib 中的jline-2.12.jar 拷贝到  /opt/hadoop-2.6.1/share/hadoop/yarn/lib 中

  进行Hive安装目录,执行命令:bin/hive,启动hive,执行完毕后,命令行切换为 hive>,表示启动成功,在hive>命令行中执行 show tables; 

  结果显示:

  OK

  Time taken: 1.988 seconds

  表示Hive搭建成功

7.Spark SQL集成HIVE

 步骤一:

  找到Spark安装目录下的spark-env.sh文件,绝对地址如下:/$path/spark-1.4.1-bin-hadoop2.6/conf/spark-env.sh,添加

  export HIVE_CONF_DIR=/$path/apache-hive-1.2.1-bin/conf

  export SPARK_CLASSPATH=/$path/apache-hive-1.2.1-bin/lib/mysql-connector-java-5.1.24.jar

 步骤二:

  将Hive /$path/apache-hive-1.2.1-bin/conf/目录下的hive-site.xml,拷贝到/$path/spark-1.4.1-bin-hadoop2.6/conf/下,因Spark和Hive配置文件识别格式不同,

  需要将拷贝到Spark下的hive-site.xml进行修改,配置文件中,部分时间参数通过s、ms来标明时间,包含s的删除掉s,后增000,例如6s,修改为6000。包含ms的,直接

  删除。

 步骤三:

  进入Spark目录,执行命令:bin/spark-sql,执行完毕后,命令行切换为spark-sql>,标识启动成功,在spark-sql命令行中执行 show tables;

  执行正常,无错误,则标识集成成功

8.搭建Sqoop环境(实现Mysql数据表导入HDFS、Hive)

 步骤一:

  解压安装包,通过命令进入Sqoop 存放目录,解压安装包,解压命令: tar -zxvf  sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz

 步骤二:

  找到Sqoop安装目录下的sqoop-env.sh文件,绝对地址如下:/$path/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/conf/sqoop-env.sh,添加

  #Hadoop安装目录

  export HADOOP_COMMON_HOME=/$path/hadoop-2.6.0-cdh5.4.0

  #Hadoop mapreduce目录

  export HADOOP_MAPRED_HOME=/$path/hadoop-2.6.0-cdh5.4.0/share/hadoop/mapreduce 

  #HIVE 安装目录

  export HIVE_HOME=/$path/apache-hive-1.2.1-bin

 步骤三:

  1.导入Hadoop支持包,导入目录为/$path/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/lib,jar包分别为:

   hadoop-common-2.6.0-cdh5.4.0.jar(/opt/hadoop-2.6.0-cdh5.4.0/share/hadoop/mapreduce1/lib/hadoop-common-2.6.0-cdh5.4.0.jar)

   hadoop-core-2.6.0-mr1-cdh5.4.0.jar(/$path/hadoop-2.6.0-cdh5.4.0/share/hadoop/mapreduce1/hadoop-core-2.6.0-mr1-cdh5.4.0.jar)

  2.Sqoop Hive同步libthrift-0.9.2.jar包,保持(

   /$path/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/lib ,

   /$path/apache-hive-1.2.1-bin/lib下)

   libthrift-0.9.2.jar版本一致

 步骤四:

  进入Sqoop目录,执行命令

  sqoop import --connect jdbc:mysql://192.168.1.204:3339/bi_gxqdc_kh --username bi --password 111111  --table oa_basic_menu  --hive-import -m 5

  该命令支持从MySQL导出数据到HDFS、创建Hive表格、导入数据到Hive三步。

 步骤五:

  进入Spark目录,执行命令:bin/spark-sql,执行完毕后,命令行切换为spark-sql>,标识启动成功,在spark-sql命令行中执行 show tables;

  执行结束后,显示导入表格后,则表示导入成功,Sqoop搭建成功