brew install hadoop
- 修改一下文件内容,路径名称根据自身情况修改
(1)/usr/local/Cellar/hadoop/3.1.1/libexec/etc/hadoop/core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/Cellar/hadoop/hdfs/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
(2)/usr/local/Cellar/hadoop/3.1.1/libexec/etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9010</value>
</property>
</configuration>
(3)/usr/local/Cellar/hadoop/3.1.1/libexec/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value> <!-- 伪分布模式 -->
</property>
</configuration>
- 启动hadoop需要设置ssh免密登录,否则会报ssh permission denied.的错误
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
,id_rsa.pub为git的公钥(git应该大家都有装吧),用这个公钥就可以了,没必要像网上有些教程说的重新创建一个dsa key -
hadoop namenode -format
这一步之后记得比较/usr/local/Cellar/hadoop/hdfs/tmp/dfs/data/current/VERSION
和/usr/local/Cellar/hadoop/hdfs/tmp/dfs/name/current/VERSION
两个文件中clusterID是否一致,不一致需将name目录中clusterID修改成与data中一致(/usr/local/Cellar/hadoop/hdfs/tmp/
是在前面的/usr/local/Cellar/hadoop/3.1.1/libexec/etc/hadoop/core-site.xml
中自己定义的目录)。因为每次执行格式化namenode操作后name目录下的clusterID都会改变,name目录和data目录中的clusterID不同会导致DataNode进程启动失败 -
cd /usr/local/Cellar/hadoop/3.1.1/sbin;./start-all.sh
,具体安装路径根据自己情况修改 -
jps
指令查看hadoop启动情况
- 高于jdk8的版本会影响到NodeManager和ResourceManager的正常启动,我是用jenv管理电脑上共存的多个jdk版本,如果你也是的话记得把版本切换到jdk8(openjdk11亲测有问题,其他不清楚,网上搜了一些资料说是大于jdk8的版本会有影响,没验证过)
网友评论