安装包 网上下载
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搭建成功