obs-community.obs.cn-north-1.myhwclouds.com… · Web...

17
BigData On OBS 环环环环环环环环环 Huawei Technologies Co., Ltd. 华华华华华华华华 All rights reserved 华华华华 华华华华

Transcript of obs-community.obs.cn-north-1.myhwclouds.com… · Web...

Page 1: obs-community.obs.cn-north-1.myhwclouds.com… · Web view删除hive-2.3.3所有目录中(find查找)的hadoop-aws-2.8.3.jar,并将hadoop-huaweicloud-2.8.3.jar和esdk-obs-java-3.0.0.jar拷贝到这些目录中进行替换

BigData On OBS 环境搭建和配置指南

Huawei Technologies Co., Ltd.

华为技术有限公司All rights reserved

版权所有 侵权必究

Page 2: obs-community.obs.cn-north-1.myhwclouds.com… · Web view删除hive-2.3.3所有目录中(find查找)的hadoop-aws-2.8.3.jar,并将hadoop-huaweicloud-2.8.3.jar和esdk-obs-java-3.0.0.jar拷贝到这些目录中进行替换

1 配置样例的部署视图1、 Hadoop/Spark 对接 OBS 部署视图

2、 HBase 对接 OBS 部署视图

2 Hadoop分布式集群配置1、 在华为云上申请 4 台 ECS 服务器,分别命名为 ecs-bigdata-obs、ecs-bigdata-obs1、ecs-

bigdata-obs2 、 ecs-bigdata-obs3 , 其 hostname 分 别 为 ecs-bigdata-obs.novalocal 、 ecs-bigdata-obs1.novalocal、ecs-bigdata-obs2.novalocal、ecs-bigdata-obs3.novalocal。

2、 配置这 4 台服务器的互信模式

Page 3: obs-community.obs.cn-north-1.myhwclouds.com… · Web view删除hive-2.3.3所有目录中(find查找)的hadoop-aws-2.8.3.jar,并将hadoop-huaweicloud-2.8.3.jar和esdk-obs-java-3.0.0.jar拷贝到这些目录中进行替换

(1) 每台服务器在/etc/hosts 里面加入这 4 台服务器的 ip 和 hostname

(2) 每台服务器关闭防火墙命令:systemctl stop firewalld

systemctl disable firewalld

(3) 每台服务器添加文件/root/sshUtil.sh

(4) 每台服务器运行 sh sshUtil.sh,输入服务器密码,建立互信

3、 在每台服务器上安装 java 和 openjdk-devel命令:yum -y install java

#!/bin/bashssh-keygen -q -t rsa -N “” -f /root/.ssh/id_rsassh-copy-id -i localhostssh-copy-id -i ecs-bigdata-obs.novalocalssh-copy-id -i ecs-bigdata-obs1.novalocalssh-copy-id -i ecs-bigdata-obs2.novalocalssh-copy-id -i ecs-bigdata-obs3.novalocal

Page 4: obs-community.obs.cn-north-1.myhwclouds.com… · Web view删除hive-2.3.3所有目录中(find查找)的hadoop-aws-2.8.3.jar,并将hadoop-huaweicloud-2.8.3.jar和esdk-obs-java-3.0.0.jar拷贝到这些目录中进行替换

命令:yum -y install java-1.8.0-openjdk-devel.x86_64

4、 在/home 下面创建文件夹 modules,下载 hadoop-2.8.3.tar.gz 后进行解压缩命令:tar -zxvf hadoop-2.8.3.tar.gz

5、 在/etc/profile 中配置环境变量

6、 输入 source /etc/profile,使环境变量生效

7、 创建目录/home/modules/data/buf,用于配置 OBS 缓存目录8、 在 /home/modules/hadoop-2.8.3/etc/hadoop 目 录 中 配 置 core-site.xml , 可 采 用 样 例

(“spark&hive 配置文件”目录中)的 core-site.xml。 注:fs.defaultFS 、fs.obs.access.key、fs.obs.secret.key、fs.obs.endpoint 进行修改。

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jreexport HADOOP_HOME=/home/modules/hadoop-2.8.3export PATH=$JAVA_HOME/bin:$PATHexport PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATHexport HADOOP_CLASSPATH=/home/modules/hadoop-2.8.3/share/hadoop/tools/lib/*:$HADOOP_CLASSPATH

<configuration> <property> <name>fs.obs.readahead.inputstream.enabled</name> <value>true</value> </property> <property> <name>fs.obs.buffer.max.range</name> <value>6291456</value> </property> <property> <name>fs.obs.buffer.part.size</name> <value>2097152</value> </property> <property> <name>fs.obs.threads.read.core</name> <value>500</value> </property> <property> <name>fs.obs.threads.read.max</name> <value>1000</value> </property> <property> <name>fs.obs.write.buffer.size</name> <value>8192</value> </property> <property> <name>fs.obs.read.buffer.size</name> <value>8192</value> </property> <property> <name>fs.obs.connection.maximum</name> <value>1000</value> </property> <property> <name>fs.defaultFS</name> <value>hdfs://ecs-bigdata-obs.novalocal:8020</value> </property> <property> <name>hadoop.tmp.dir</name>

Page 5: obs-community.obs.cn-north-1.myhwclouds.com… · Web view删除hive-2.3.3所有目录中(find查找)的hadoop-aws-2.8.3.jar,并将hadoop-huaweicloud-2.8.3.jar和esdk-obs-java-3.0.0.jar拷贝到这些目录中进行替换

9、 在/home/modules/hadoop-2.8.3/etc/hadoop 目录中配置 hdfs-site.xml

10、 在/home/modules/hadoop-2.8.3/etc/hadoop 目录中配置 yarn-site.xml

11

、 11、 在/home/modules/hadoop-2.8.3/etc/hadoop 目录中配置 mapred-site.xml

<configuration> <property> <name>fs.obs.readahead.inputstream.enabled</name> <value>true</value> </property> <property> <name>fs.obs.buffer.max.range</name> <value>6291456</value> </property> <property> <name>fs.obs.buffer.part.size</name> <value>2097152</value> </property> <property> <name>fs.obs.threads.read.core</name> <value>500</value> </property> <property> <name>fs.obs.threads.read.max</name> <value>1000</value> </property> <property> <name>fs.obs.write.buffer.size</name> <value>8192</value> </property> <property> <name>fs.obs.read.buffer.size</name> <value>8192</value> </property> <property> <name>fs.obs.connection.maximum</name> <value>1000</value> </property> <property> <name>fs.defaultFS</name> <value>hdfs://ecs-bigdata-obs.novalocal:8020</value> </property> <property> <name>hadoop.tmp.dir</name>

<configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>ecs-bigdata-obs.novalocal:50090</value> </property> <property> <name>dfs.namenode.secondary.https-address</name> <value>ecs-bigdata-obs.novalocal:50091</value> </property></configuration>

<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>ecs-bigdata-obs.novalocal</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> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> <description>Whether virtual memory limits will be enforced for containers</description> </property> <property> <name>yarn.nodemanager.vmem-pmem-ratio</name> <value>4</value> <description>Ratio between virtual memory to physical memory when setting memory limits for containers</description> </property> <property> <name>yarn.resourcemanager.scheduler.class</name> <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value> </property></configuration>

<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>ecs-bigdata-obs.novalocal:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>ecs-bigdata-obs.novalocal:19888</value> </property> <property> <name>mapred.task.timeout</name> <value>1800000</value> </property></configuration>

Page 6: obs-community.obs.cn-north-1.myhwclouds.com… · Web view删除hive-2.3.3所有目录中(find查找)的hadoop-aws-2.8.3.jar,并将hadoop-huaweicloud-2.8.3.jar和esdk-obs-java-3.0.0.jar拷贝到这些目录中进行替换

12、 在/home/modules/hadoop-2.8.3/etc/hadoop 目录中配置 slaves

13、 将 /home/modules/hadoop-2.8.3/share/hadoop/tools/lib 中 的 jar 包 拷 贝 到 /home/modules/hadoop-2.8.3/share/hadoop/common/lib 中

14、 将华为 SDK 和 hadoop 相关的 jar 包拷贝到各个目录进行替换(/home/modules/hadoop-2.8.3/share/hadoop/common/lib;/home/modules/hadoop-2.8.3/share/hadoop/tools/lib;/home/modules/hadoop-2.8.3/share/hadoop/httpfs/tomcat/webapps/webhdfs/WEB-INF/lib;/home/modules/hadoop-2.8.3/share/hadoop/hdfs/lib)

1) 删除 hadoop-2.8.3 所有目录中(find 查找)的 hadoop-aws-2.8.3.jar,并将 hadoop-huaweicloud-2.8.3.jar 和 esdk-obs-java-3.0.0.jar 拷贝到这些目录中进行替换

2) 删除 hadoop-2.8.3 所有目录中原有的 java-xmlbuilder-0.4.jar,okhttp-2.4.0.jar 和okio-1.4.0.jar,将 java-xmlbuilder-1.1.jar、okhttp-3.10.0.jar 和 okio-1.14.0.jar 拷贝到这些目录中进行替换

15、 在所有节点初始化 NameNode命令:hdfs namenode -format

16、 在 ecs-bigdata-obs 上启动 dfs 和 yarn,启动后,查看各服务器启动的进程

ecs-bigdata-obs1.novalocalecs-bigdata-obs2.novalocalecs-bigdata-obs3.novalocal

Page 7: obs-community.obs.cn-north-1.myhwclouds.com… · Web view删除hive-2.3.3所有目录中(find查找)的hadoop-aws-2.8.3.jar,并将hadoop-huaweicloud-2.8.3.jar和esdk-obs-java-3.0.0.jar拷贝到这些目录中进行替换

(1) dfs 启动,start-dfs.sh

(2) yarn 启动,start-yarn.sh

(3) 使用命令 jps 查看各服务器进程

3 Spark分布式集群配置1、 在/home/modules 下,下载 spark-2.3.0-bin-hadoop2.7.tgz 后,进行解压缩,并修改文件

夹名字为 spark-2.3.0

2、 在/etc/profile 中增加 spark 的环境变量export SPARK_HOME=/home/modules/spark-2.3.0export PATH=${SPARK_HOME}/bin:${SPARK_HOME}/sbin:$PATH

Page 8: obs-community.obs.cn-north-1.myhwclouds.com… · Web view删除hive-2.3.3所有目录中(find查找)的hadoop-aws-2.8.3.jar,并将hadoop-huaweicloud-2.8.3.jar和esdk-obs-java-3.0.0.jar拷贝到这些目录中进行替换

3、 输入 source /etc/profile,使环境变量生效

4、 将/home/modules/spark-2.3.0/jars 中的 hadoop 相关的 2.7.3 版本的 jar 包替换成 2.8.3 版本的 jar 包

5、 将华为 SDK 和 hadoop 相关的 jar 包拷贝到各个目录进行替换 (/home/modules/spark-2.3.0/jars/)

1) 删除 spark-2.3.0 所有目录中(find 查找)的 hadoop-aws-2.8.3.jar,并将 hadoop-huaweicloud-2.8.3.jar 和 esdk-obs-java-3.0.0.jar 拷贝到这些目录中进行替换

2) 删除 spark-2.3.0 所有目录中原有的 java-xmlbuilder-0.4.jar,okhttp-2.4.0.jar 和 okio-1.4.0.jar,将 java-xmlbuilder-1.1.jar、okhttp-3.10.0.jar 和 okio-1.14.0.jar 拷贝到这些

Page 9: obs-community.obs.cn-north-1.myhwclouds.com… · Web view删除hive-2.3.3所有目录中(find查找)的hadoop-aws-2.8.3.jar,并将hadoop-huaweicloud-2.8.3.jar和esdk-obs-java-3.0.0.jar拷贝到这些目录中进行替换

目录中进行替换

6、 配置 spark-env.sh

7、 启动 Spark,即可使用。

4 Hive配置1、 安装 mariadb-server

命令:yum -y install mariadb-server

2、 安装 mysql-connector-java命令:yum -y install mysql-connector-java

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jreexport SCALA_HOME=/home/modules/spark-2.3.0/examples/src/main/scalaexport HADOOP_HOME=/home/modules/hadoop-2.8.3export HADOOP_CONF_DIR=/home/modules/hadoop-2.8.3/etc/hadoopexport SPARK_HOME=/home/modules/spark-2.3.0export SPARK_DIST_CLASSPATH=$(/home/modules/hadoop-2.8.3/bin/hadoop classpath)

Page 10: obs-community.obs.cn-north-1.myhwclouds.com… · Web view删除hive-2.3.3所有目录中(find查找)的hadoop-aws-2.8.3.jar,并将hadoop-huaweicloud-2.8.3.jar和esdk-obs-java-3.0.0.jar拷贝到这些目录中进行替换

3、 在/home/modules 下,下载 apache-hive-2.3.3-bin.tar.gz 后,进行解压缩,并修改文件夹名字为 hive-2.3.3命令:tar -zxvf apache-hive-2.3.3-bin.tar.gz

4、 /etc/profile 中新增 hive 相关环境变量export HIVE_HOME=/home/modules/hive-2.3.3export PATH=${HIVE_HOME}/bin:$PATH

Page 11: obs-community.obs.cn-north-1.myhwclouds.com… · Web view删除hive-2.3.3所有目录中(find查找)的hadoop-aws-2.8.3.jar,并将hadoop-huaweicloud-2.8.3.jar和esdk-obs-java-3.0.0.jar拷贝到这些目录中进行替换

5、 输入 source /etc/profile,使环境变量生效

6、 将 mysql-connect-java.jar 拷贝到 hive 相关目录下

7、 配置 hive-site.xml 文件

8、 在 hive-env.sh 配置文件中增加 HADOOP_HOME 路径

8、 将华为 SDK 和 hadoop 相关的 jar 包拷贝到各个目录进行替换(/home/modules/hive-2.3.3/lib)

1) 删除 hive-2.3.3 所有目录中(find 查找)的 hadoop-aws-2.8.3.jar,并将 hadoop-huaweicloud-2.8.3.jar 和 esdk-obs-java-3.0.0.jar 拷贝到这些目录中进行替换

2) 删除 hive-2.3.3 所有目录中原有的 java-xmlbuilder-0.4.jar,okhttp-2.4.0.jar 和 okio-1.4.0.jar,将 java-xmlbuilder-1.1.jar、okhttp-3.10.0.jar 和 okio-1.14.0.jar 拷贝到这些目录中进行替换

HADOOP_HOME=/home/modules/hadoop-2.8.3

<configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://ecs-bigdata-obs.novalocal:3306/hive_metadata?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>Huawei1234%^</value> </property> <property> <name>hive.strict.checks.cartesian.product</name> <value>false</value> </property></configuration>

Page 12: obs-community.obs.cn-north-1.myhwclouds.com… · Web view删除hive-2.3.3所有目录中(find查找)的hadoop-aws-2.8.3.jar,并将hadoop-huaweicloud-2.8.3.jar和esdk-obs-java-3.0.0.jar拷贝到这些目录中进行替换

9、 修改 mysql 的连接密码,密码修改为 hive-site.xml 中的配置(1) 启动数据库命令:systemctl start mariadb.service systemctl enable mariadb.service

(2) 登录数据库并设置密码(注:未设置密码前,可直接回车进入数据库)

(3) 重启数据库使之生效命令:systemctl stop mariadb.service

systemctl disable mariadb.servicesystemctl start mariadb.servicesystemctl enable mariadb.service

10、 初始化数据库命令:schematool -initSchema -dbType mysql

11、 启动 hive,即可使用

Page 13: obs-community.obs.cn-north-1.myhwclouds.com… · Web view删除hive-2.3.3所有目录中(find查找)的hadoop-aws-2.8.3.jar,并将hadoop-huaweicloud-2.8.3.jar和esdk-obs-java-3.0.0.jar拷贝到这些目录中进行替换

5 HBase配置1、 在/home/modules 下,下载 hbase-2.1.0.zip 后,进行解压缩,并修改文件夹名字为

hbase-2.1.0,所有节点的配置操作相同2、 在/etc/profile 中增加 hbase 的环境变量

3、 输入 source /etc/profile,使环境变量生效

4、 配置 hbase-env.sh

5、 配置 hbase-site.xml

export HBASE_HOME=/home/modules/hbase-2.1.0export PATH=${HBASE_HOME}/bin:$PATH

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre

<configuration> <property> <name>hbase.rootdir</name> <value>obs://obs-hbase001/hbasetest007</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/modules/hbase-2.1.0/data/zookeeper</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>ecs-bigdata-obs1.novalocal,ecs-bigdata-obs2.novalocal,ecs-bigdata-obs3.novalocal</value>

Page 14: obs-community.obs.cn-north-1.myhwclouds.com… · Web view删除hive-2.3.3所有目录中(find查找)的hadoop-aws-2.8.3.jar,并将hadoop-huaweicloud-2.8.3.jar和esdk-obs-java-3.0.0.jar拷贝到这些目录中进行替换

6、 配置 regionserver

7、 将样例(“hbase 配置文件”目录中)的 core-site.xml 拷贝到/hbase-2.1.0/conf 目录下。注:fs.defaultFS 、fs.obs.access.key、fs.obs.secret.key、fs.obs.endpoint 进行修改。

8、 将/hbase-2.1.0/conf 目录下 core-site.xml 拷贝到/home/modules/hadoop-2.8.3/etc/hadoop目录中,并重启 HDFS。

9、 将华为 SDK 和 hadoop 相关的 jar 包拷贝到各个目录进行替换(/home/modules/hbase-2.1.0/lib)

1) 删除 hbase-2.1.0 所有目录中(Find 查找)的 hadoop-aws-2.8.3.jar,并将 hadoop-huaweicloud-2.8.3.jar 和 esdk-obs-java-3.0.0.jar 拷贝到这些目录中进行替换

2) 删 除 hbase-2.1.0 所 有 目 录 中 原 有 的 java-xmlbuilder-0.4.jar , okhttp-2.4.0.jar 和okio-1.4.0.jar,将 java-xmlbuilder-1.1.jar、okhttp-3.10.0.jar 和 okio-1.14.0.jar 拷贝到这些目录中进行替换

9、 可以根据实际虚拟机的配置在 hbase-deamon.sh(/home/modules/hbase-2.1.0/bin)中对 GC 参数进行配置

10

<configuration> <property> <name>hbase.rootdir</name> <value>obs://obs-hbase001/hbasetest007</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/modules/hbase-2.1.0/data/zookeeper</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>ecs-bigdata-obs1.novalocal,ecs-bigdata-obs2.novalocal,ecs-bigdata-obs3.novalocal</value>

ecs-bigdata-obs1.novalocalecs-bigdata-obs2.novalocalecs-bigdata-obs3.novalocal

export SERVER_GC_OPTS="-Xms20480M -Xmx20480M -XX:NewSize=2048M -XX:MaxNewSize=2048M -XX:MetaspaceSize=512M -XX:MaxMetaspaceSize=512M -XX:MaxDirectMemorySize=2048M -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=65 -XX:+PrintGCDetails -Dsun.rmi.dgc.client.gcInterval=0x7FFFFFFFFFFFFFE -Dsun.rmi.dgc.server.gcInterval=0x7FFFFFFFFFFFFFE -XX:-OmitStackTraceInFastThrow -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=1M"

Page 15: obs-community.obs.cn-north-1.myhwclouds.com… · Web view删除hive-2.3.3所有目录中(find查找)的hadoop-aws-2.8.3.jar,并将hadoop-huaweicloud-2.8.3.jar和esdk-obs-java-3.0.0.jar拷贝到这些目录中进行替换

在 master 节点上启动 hbase

11、 使用命令 jps 查看各服务器进程

start-hbase.sh