Hadoop伪分布式安装-Mac版
环境配置
Mac版本 10.13.1
hadoop版本 3.1.1
brew安装 - 错误安装方式
- 安装命令 - 不能使用root用户
brew install hadoop
- 安装目录
/usr/local/Cellar/hadoop/3.1.1
ssh登录本地
ssh登录省略
详见参考文档 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
配置修改
进入到目录
/usr/local/Cellar/hadoop/3.1.1/libexec/etc/hadoop
所有配置都放这个目录下
- 修改 hadoop-env.sh
将 JAVA_HOME 注释释放开,并配置Java安装路径
Java安装路径查看
echo $JAVA_HOME
- 修改 core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
- 修改 hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- http://localhost:9870/explorer.html#/ 无创建文件和上传文件权限(线上不能使用) -->
<!-- dfs.permissions 默认值 true;还有几种方法可以解决,此处省略 -->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
格式化namenode
命令
cd /usr/local/Cellar/hadoop/3.1.1/
bin/hdfs namenode -format
启动namenode和datanode
- 启动用户 - 非root用户,命令
./sbin/start-dfs.sh
- 普通用户启动hdfs无反应,如下图所示
- 切换到root
sudo -i
password: 输入密码即可
- 再次执行命令
./sbin/start-dfs.sh
- 网上大部分博客都说是因为缺少用户定义造成的,在启动文件中添加如下参数即可
#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
- 通过root用户不能修改 start-dfs.sh 文件
- 切换到普通用户也不能修改 start-dfs.sh 文件
- 采用授权操作 chmod -R 777 start-dfs.sh 即可修改文件
- 兴高采烈的再次启动
./sbin/start-dfs.sh
- 结果错误依然存在
本地解压安装
下载二进制文件
https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.1.1/hadoop-3.1.1.tar.gz
- 任选一个即可
解压省略
配置环境变量省略
修改配置
- 和brew安装修改配置相同,此处省略
格式化namenode省略
启动namenode和datanode
cd HADOOP_HOME
./sbin/start-dfs.sh
- 通过jps命令查看,证明启动成功
*通过浏览器访问 http://localhost:9870 出现如图所示,则安装成功
yarn安装
- 修改 etc/hadoop/mapred-site.xml 配置
<configuration>
<!-- 变量mapred.job.tracker 保存了JobTracker的位置,因为只有MapReduce组件需要知道这个位置,所以它出现在mapred-site.xml文件中 -->
<property>
<name>mapred.job.tracker</name>
<value>localhost:9010</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
- 修改 etc/hadoop/yarn-site.xml 配置
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
- 启动 ResourceManager 和 NodeManager
./sbin/start-yarn.sh
- 现在你就可以看到All Applications 界面
http://localhost:8088
找出brew安装失败原因
- brew安装所在组为
- 解压缩包所在组为
- 最后判断为用户所在组不同导致的,对于Linux小白来说,没有细查原因
- 参考地址1: https://www.jianshu.com/p/a86ccd96b78a
- 参考地址2: http://hadoop.apache.org/docs/r3.1.1/hadoop-project-dist/hadoop-common/SingleCluster.html