菜鸟先飞之Hadoop 秘籍(三)Zookeeper 、Hive、Hbase、Docker、MySQL

本文详细介绍了如何搭建Hadoop集群,包括Zookeeper、Hbase、Docker、MySQL的安装配置,并提供了时间同步的进阶版教程。从环境准备开始,逐步指导读者完成各个组件的安装和配置,包括Hadoop的环境变量设置、配置文件修改等关键步骤,最后通过实例展示了Hive的使用。

一、安装准备 

hadoop-2.6.0-cdh5.14.2.tar.gz

hadoop-native-64-2.6.0.tar

hbase-1.2.0-cdh5.14.2.tar.gz

hive-1.1.0-cdh5.14.2.tar.gz

MySQL-client-5.6.46-1.el7.x86_64.rpm

MySQL-server-5.6.46-1.el7.x86_64.rpm

zookeeper-3.4.6.tar.gz

jdk-8u221-linux-x64.tar.gz

mysql-connector-java-5.1.0-bin.jar

cd /  切换至根目录

新建一个软件包(专门用来放安装包):mkdir soft

切换至soft目录:cd soft

将准备好的9个文件拖入software目录

将除
MySQL-client-5.6.46-1.el7.x86_64.rpm
MySQL-server-5.6.46-1.el7.x86_64.rpm
hadoop-native-64-2.6.0.tar
mysql-connector-java-5.1.0-bin.jar
的5个安装包 解压至opt目录下:tar -zxf 文件名 -C/opt

hadoop-native-64-2.6.0.tar 分别解压至 /opt/soft/hadoop-2.6.0-cdh5.14.2/lib、
/opt/soft/hadoop-2.6.0-cdh5.14.2/lib/native 目录下
tar -xvf hadoop-native-64-2.6.0.tar 
tar -xvf hadoop-native-64-2.6.0.tar 

cd /opt 切换至 opt目录下

将解压的文件包改名
mv hadoop-2.6.0-cdh5.14.2 hadoop 
mv hbase-1.2.0-cdh5.14.2 hbase 
mv hive-1.1.0-cdh5.14.2 hive 
mv zookeeper-3.4.6 zookpr
mv jdk-8u221-linux-x64 java8

ps:注意空格

配置环境变量

vi /etc/profile

export JAVA_HOME=/opt/soft/java
export JRE_HOME=/opt/soft/java/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export HADOOP_HOME=/opt/soft/hadoop
export HBASE_HOME=/opt/soft/hbase
export HIVE_HOME=/opt/soft/hive
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin

 保存退出

输入 java -version
javac
hadoop version
hbase version
是否能够出结果

切换至/opt/hadoop/etc/hadoop:cd /opt/soft/hadoop/etc/hadoop

修改hadoop-env.sh 文件
vi hadoop-env.sh
ps:我这里将jdk-8u221-linux-x64改名为了java 你们可根据情况自行调整

export JAVA_HOME=/opt/soft/java

修改core-site.xml配置文件信息

vi core-site.xml

<property>

  <name>fs.defaultFS</name>

  <value>hdfs://192.168.48.101:9000</value>

</property>

<property>

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

   <value>/opt/hadoop/tmp</value>

</property>

<property>

   <name>hadoop.proxyuser.root.hosts</name>

   <value>*</value>

</property>

<property>

   <name>hadoop.proxyuser.root.groups</name>

   <value>*</value>

</property>

修改hdfs-site.xml配置文件

vi hdfs-site.xml

<property>

  <name>dfs.replication</name>

  <value>1</value>

</property>

<property>

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

  <value>192.168.48.101:50090</value>

在单机环境下使用 Docker 部署 HadoopHBaseHive 可以通过编写 Docker Compose 文件来实现。以下是一个基本的部署流程和示例配置。 ### 1. 创建 Docker Compose 文件 创建一个 `docker-compose.yml` 文件,定义 HadoopHBaseHive 的服务。 ```yaml version: '3' services: hadoop: image: bde2020/hadoop-namenode:2.0.0-hadoop3.2.1-java8 container_name: hadoop-nn ports: - "50070:50070" environment: - CLUSTER_NAME=hadoop-cluster volumes: - hadoop-data:/hadoop/dfs/data hbase: image: harisekhon/hbase:latest container_name: hbase ports: - "16010:16010" - "9090:9090" depends_on: - hadoop hive: image: bde2020/hive:3.1.2-postgresql-metastore container_name: hive ports: - "10000:10000" environment: - HIVE_EXECUTION_ENGINE=tez depends_on: - hadoop - hbase volumes: hadoop-data: ``` ### 2. 启动容器 在 `docker-compose.yml` 文件所在目录中运行以下命令启动容器: ```bash docker-compose up -d ``` ### 3. 验证服务 - **Hadoop**: 访问 `http://localhost:50070` 查看 Hadoop NameNode 的 Web 界面。 - **HBase**: 访问 `http://localhost:16010` 查看 HBase 的 Web 界面。 - **Hive**: 通过以下命令进入 Hive CLI: ```bash docker exec -it hive hive ``` ### 4. 配置集成 - **HiveHBase 集成**: 为了使 Hive 能够访问 HBase,需要在 Hive 中启用 HBase 集成。可以通过修改 Hive 的配置文件 `hive-site.xml`,添加以下内容: ```xml <property> <name>hive.zookeeper.quorum</name> <value>hbase:2181</value> </property> ``` 在 Hive CLI 中创建外部表并映射到 HBase 表: ```sql CREATE EXTERNAL TABLE hbase_table( key STRING, value STRING ) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf:val") TBLPROPERTIES("hbase.table.name" = "my_hbase_table"); ``` - **Hadoop 与 HDFS 配置**: 确保 Hadoop 的 `core-site.xml` 和 `hdfs-site.xml` 配置正确,以便 HBaseHive 能够访问 HDFS。 ### 5. 数据持久化 为了确保数据在容器重启后仍然存在,可以在 Docker Compose 文件中配置数据卷。例如: ```yaml volumes: hadoop-data: driver: local driver_opts: type: none device: /path/to/local/data o: bind ``` ### 6. 安全配置 如果需要启用 Kerberos 认证,可以参考引用中的配置,调整 `krb5.conf` 文件,指定 KDC 服务器和 Realm。 ### 7. 停止和清理 停止容器: ```bash docker-compose down ``` 清理数据卷: ```bash docker volume prune ``` ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值