当前位置: 首页 > news >正文

大数据入门实践一:mac安装Hadoop,Hbase,FLume

一、安装Hadoop

安装hadoop参考此文,关键点是安装JDK和Hadoop的配置,为避免引用文章变收费,我把关键信息摘录如下:

jdk安装和配置就不说了(我本机安装了1.8/15/17/21,以17为主),hadoop安装过程:

1.设置SSH免密

1. 打开系统偏好设置,在输入框输入sharing(共享),勾选”远程连接“:

2.打开终端,依次输入如下命令:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/id_rsa.pub

3.输入【ssh localhost】验证,无需输入密码则成功

2.下载并解压hadoop安装包

到官网下载需要的版本,我下载的是3.3.6,然后解压到用户下自己用户名的目录下:

3.修改配置文件

(1)vim ~/.zprofile(路径修改为自己安装包的路径)

# Hadoop
export HADOOP_HOME=/Users/wangxiaoxuan/hadoop-3.3.6/
export HADOOP_INSTALL=$HADOOP_HOME
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 PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/nativ"

输入【source ~/.zprofile】使内容生效

(2)cd /Users/wangxiaoxuan/hadoop-3.3.6/etc/hadoop 

vim hadoop-env.sh

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home"

(3)vim core-site.xml,将标签<configuration></configuration>中内容替换如下,路径需换成自己的路径

<configuration><property><name>hadoop.tmp.dir</name><value>/Users/wangxiaoxuan/hdfs/tmp/</value></property><property><name>fs.default.name</name><value>hdfs://127.0.0.1:9000</value></property>
</configuration>

(4)vim hdfs-site.xml,将标签<configuration></configuration>中内容替换如下,路径需换成自己的路径

  <property><name>dfs.data.dir</name><value>/Users/wangxiaoxuan/hdfs/namenode</value></property><property><name>dfs.data.dir</name><value>/Users/wangxiaoxuan/hdfs/datanode</value></property><property><name>dfs.replication</name><value>1</value></property>
</configuration>

(5)vim mapred-site.xml,将标签<configuration></configuration>中内容替换如下,无需更改路径

<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>

(6)vim yarn-site.xml,将标签<configuration></configuration>中内容替换如下,无需更改路径

<configuration><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name><value>org.apache.hadoop.mapred.ShuffleHandler</value></property><property><name>yarn.resourcemanager.hostname</name><value>127.0.0.1</value></property><property><name>yarn.acl.enable</name><value>0</value></property><property><name>yarn.nodemanager.env-whitelist</name><value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PERPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value></property>
</configuration>

4.运行

执行【hdfs namenode -format】 如果报错,需要先执行【stop-all.sh】

执行【start-all.sh】,查看resourcemanager 和nodemanagers是否启动成功

执行【jps】可查看进程

5.验证

在浏览器中输入http://localhost:9870/

显示如下:

二、安装HBase

参考了此文

1.下载安装包,我下载的是2.6.0,解压

2.配置

(1)vim conf/hbase-site.xml  去配置hbase.rootdir,来选择HBase将数据写到哪个目录 

<configuration><property><name>hbase.rootdir</name><value>hdfs://localhost:9000/hbase</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property>
</configuration>

hbase.rootdir:该参数制定了HReion服务器的位置,即数据存放的位置。主要端口号要和Hadoop相应配置一致。
hbase.cluster.distributed:HBase的运行模式。false是单机模式,true是分布式模式。若为false, HBase和Zookeeper会运行在同一个JVM里面,默认为false。
 

3.启动HBase

cd /users/shuaizai/hbase/hbase-2.3.0/bin,执行start-hbase.sh

启动完成后通过jps命令检查HBase进程:

启动成功后可以看到几个正在运行的Java进程,包括Hadoop(DataNode、NameNode)、Zookeeper(HQuorumPeer)和HBase(HMaster、HRegionServer)。

可以打开http://localhost:16010/master-status 查看

4.操作

  • 进入HBase交互式界面hbase shellstatus命令查看HBase集群运行状态,list命令列出HBase库中的表:

  create 'student','Sname','Ssex','Sage','Sdept','course'

5.退出

  • 关闭HBase
    先退出exit,然后输入stop-abase.sh

三、Flume

参考此文,我用的brew,之前没有安装homebrew,安装后再用brew install flume安装的Flume。

不知道是网络问题还是什么原因,我安装下载了差不多一天,占用空间快2G才安装完成,中间失败好几次,重复执行就好了。

1.配置环境变量

vim ~/.bash_profile ,路径修改为自己的flume安装路径:

export FLUME_HOME=/usr/local/Cellar/flume/1.11.0/libexec
export FLUME_CONF_DIR=$FLUME_HOME/conf
export PATH=$FLUME_HOME/bin:$PATH

source ~/.bash_profile 使配置生效

2.配置flume-env.sh

cd /opt/homebrew/Cellar/flume/1.9.0_1/libexec/confcp flume-env.sh.template flume-env.shvim flume-env.sh
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
export JAVA_OPTS="-Xms100m -Xmx2000m -Dcom.sun.management.jmxremote"

根据自己jdk情况修改配置即可

执行 flume-ng version查看版本号。

安装完成

相关文章:

  • 使用ZIP包安装MySQL及配置教程
  • 基于STM32和人工智能的智能气象站系统
  • Hvv--知攻善防应急响应靶机--Linux1
  • c#调用c++dll方法
  • 生产者消费者模型的同步与互斥:C++代码实现
  • Another app is currently holding the yum lock; waiting for it to exit...
  • 【机器学习】机器学习与教育科技在个性化教学中的融合应用与性能优化新探索
  • 什么是贸易顺差和贸易逆差?
  • Hadoop生态圈中的各个组件的介绍
  • Unity UGUI ScrollRect 滑动显示左右箭头
  • Docker-Portainer可视化管理工具
  • Centos7.9使用kubeadm部署K8S单机环境
  • 模式识别与机器学习复习题解析(2023春)
  • 基于C#开发web网页管理系统模板流程-参数传递
  • vue3+ Element-Plus 点击勾选框往input中动态添加多个tag
  • ES6简单总结(搭配简单的讲解和小案例)
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • java小心机(3)| 浅析finalize()
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • node和express搭建代理服务器(源码)
  • PHP CLI应用的调试原理
  • PHP面试之三:MySQL数据库
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • vue2.0项目引入element-ui
  • 从伪并行的 Python 多线程说起
  • 大数据与云计算学习:数据分析(二)
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 看域名解析域名安全对SEO的影响
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 使用权重正则化较少模型过拟合
  • 学习HTTP相关知识笔记
  • elasticsearch-head插件安装
  • Semaphore
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 翻译 | The Principles of OOD 面向对象设计原则
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (LeetCode 49)Anagrams
  • (二)windows配置JDK环境
  • (二)丶RabbitMQ的六大核心
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (七)Knockout 创建自定义绑定
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转)菜鸟学数据库(三)——存储过程
  • (转)为C# Windows服务添加安装程序
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .Net Web窗口页属性
  • .NET技术成长路线架构图
  • .py文件应该怎样打开?
  • [ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149
  • [ 代码审计篇 ] 代码审计案例详解(一) SQL注入代码审计案例
  • [2024-06]-[大模型]-[Ollama]- WebUI
  • [BZOJ 4598][Sdoi2016]模式字符串
  • [C++] sqlite3_get_table 的使用