irpas技术客

Mac安装Hadoop(超级无敌宇宙爆炸详细)_Horsleyli_mac安装hadoop

未知 3289

一、设置ssh免密登录

首先打开mac的系统偏好设置->共享->勾选远程登录

1.打开终端terminal,输入命令:ssh-keygen -t rsa,一直回车即可 2.查看生成的公钥和私钥

cd ~/.ssh ls

会看到~/.ssh目录下有两个文件: ①私钥:id_rsa ②公钥:id_rsa.pub

3.将公钥内容写入到~/.ssh/authorized_keys中

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

4.测试 在terminal终端输入ssh localhost

如果出现以下询问输入yes,不需要输入密码就能登录,说明配置成功

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes 二、安装Hadoop

1.使用Homebrew安装Hadoop 没有安装Homebrew的小伙伴在终端执行

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

点击回车,输入开机密码即可安装成功 2.输入brew -v测试一下安装是否成功

安装成功后执行brew install hadoop

显示如下安装成功

3.修改Hadoop配置文件

①.根据上图输出的Hadoop安装路径执行下面代码修改core-site.xml文件,修改hadoop存储元数据的目录,即hadoop.tmp.dir

vim /opt/homebrew/Cellar/hadoop/3.3.1/libexec/etc/hadoop/core-site.xml

在<configuration></configuration>标签内追加以下代码块

注意路径和版本跟随自己刚才下载的hadoop

<property> <name>hadoop.tmp.dir</name> <value>file:/opt/homebrew/Cellar/hadoop/3.3.1/libexec/tmp</value> </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:8020</value> </property>

②.修改hdfs-site.xml文件 修改hadoop副本数量,即dfs.replication 修改hdfs系统存放fsimage文件的目录,即dfs.namenode.name.dir 修改hdfs系统存放数据文件的目录,即dfs.datanode.data.dir(作用是存放hadoop的数据节点datanode里的多个数据块)

vim /opt/homebrew/Cellar/hadoop/3.3.1/libexec/etc/hadoop/hdfs-site.xml

在<configuration></configuration>标签内追加代码块

<property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/opt/homebrew/Cellar/hadoop/3.3.1/libexec/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/opt/homebrew/Cellar/hadoop/3.3.1/libexec/tmp/dfs/data</value> </property>

4.修改Hadoop环境变量

执行vim ~/.bash_profile,追加以下内容(路径跟随自己安装的路径变化)

export HADOOP_HOME=/opt/homebrew/Cellar/hadoop/3.3.1/libexec export HADOOP_COMMON_HOME=$HADOOP_HOME export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:/opt/homebrew/Cellar/scala/bin

执行source ~/.bash_profile,刷新环境变量

三、运行Hadoop自带的示例文件WordCount

1.初始化namenode节点

首先执行cd /opt/homebrew/Cellar/hadoop/3.3.1/bin

进入到hadoop的bin目录下执行./hdfs namenode -format 2.启动hadoop

执行cd /opt/homebrew/Cellar/hadoop/3.3.1/sbin

进入到hadoop的sbin目录下执行./start-dfs.sh

然后执行jps查看是否启动成功

namenode、secondarynamenode、datanode启动成功 在浏览器输入http://localhost:9870/dfshealth.html#tab-overview也能查看 3.修改yarn配置文件mapred-site.xml

执行

vim /opt/homebrew/Cellar/hadoop/3.3.1/libexec/etc/hadoop/mapred-site.xml

在<configuration></configuration>标签内追加以下内容

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

4.修改yarn配置文件yarn-site.xml

执行

vim /opt/homebrew/Cellar/hadoop/3.3.1/libexec/etc/hadoop/yarn-site.xml

在<configuration></configuration>标签内追加以下内容,以为是伪分布式,所以yarn.resourcemanager.hostname设置为localhost

<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.env-whitelist</name> <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>localhost</value> </property> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>20480</value> </property> <property> <name>yarn.scheduler.minimum-allocation-mb</name> <value>2048</value> </property> <property> <name>yarn.nodemanager.vmem-pmem-ratio</name> <value>2.1</value> </property>

5.启动yarn

执行cd /opt/homebrew/Cellar/hadoop/3.3.1/sbin

进入到hadoop的sbin目录下,执行./start-yarn.sh

浏览器输入http://localhost:8088/cluster

6.运行wordcount文件

①使用hdfs创建/input文件夹以及测试输入文件

hadoop fs -mkdir /input

输入hadoop fs -ls /查看刚才创建的input文件夹是否成功,如果成功会看到输出input文件夹的信息(读写权限、组等)

mkdir /usr/local/hadoopTest

这里告诉我没有权限,切换到root用户

mac切换到root用户密码不对 首先执行sudo su,然后输入当前用户的密码 左边变成了sh-x.x(我的是sh-3.2) 然后执行passwd root,修改密码

进入到/usr/local/hadoopTest下执行touch test.txt,然后vim test.txt,随便输入测试语句,例如输入Hello World!,保存退出

执行exit,退出root用户 然后执行hadoop fs -put /usr/local/hadoopTest/test.txt /input,将刚才创建的测试文件上传到hdfs分布式文件系统中

执行hadoop fs -ls /input查看test.txt是否成功上传到hdfs分布式文件系统中

②执行wordcount

hadoop jar /opt/homebrew/Cellar/hadoop/3.3.1/libexec/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /input/test.txt /output

wordcount是主类名 /input/test.txt是输入文件目录 /output是输出文件目录,输出文件必须是一个不存在的目录,防止hadoop重写已存在的文件


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #mac安装hadoop #且视他人之疑目如盏盏鬼火 #大胆地去走你的夜路