系统版本:macOS Sierra(10.12.6)
1.ssh免密匙登陆
这一步是因为Hadoop集群(本地测试的话用伪分布式集群)需要互相通过ssh访问,配置免秘钥登录就不需要人工反复输入密码了
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
上述命令是把公钥复制到authorized_keys,A主机的authorized_keys记录了所有可以免密登录的主机的公钥(举例B主机的公钥),原理是非对称加密,只有B有对应这个公钥的私钥,A通过公钥能验证进行请求的主机是不是B
(省略了创建id_dsa.pub的过程,如没创建的需要先创建)
2.安装Hadoop
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/stable/hadoop-2.9.1.tar.gz
tar xzf hadoop-2.9.1.tar.gz
可以把解压后的文件夹移动到你想安装的目录(强烈建议直接放在家目录下,因为mac只会用于开发环境,放哪随意点,但是如果放到/usr/local这样的目录下,运行命令需要sudo,是以root身份执行的,那么还需要为root用户配置ssh免登陆才行)
3.配置
cd hadoop-2.9.1/etc/hadoop
a)hadoop-env.sh(可以先不配置这一步,如果找不到java再配置)
输入以下代码看看你把 Java 装到哪里了:
/usr/libexec/java_home
打开 hadoop-env.sh 文件,找到 # export JAVA_HOME=(我的在54行),改参数如下:
export JAVA_HOME={your java home directory}
把 {your java home directory} 改成你上面查到的 Java 路径,记得去掉注释 #。比如把 {your java home directory} 改成你上面查到的 Java 路径,记得去掉注释 #。比如 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
b) core-site.xml
打开core-site.xml,在
<configuration>
</configuration>
之间添加:
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
c) hdfs-site.xml
打开hdfs-site.xml在
<configuration>
</configuration>
之间添加:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
d) mapred-site.xml
没有这个文件,先cp mapred-site.xml.template mapred-site.xml
打开mapred-site.xml,在
<configuration>
</configuration>
之间添加:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
e) yarn-site.xml
打开yarn-site.xml,在
<configuration>
</configuration>
之间添加:
<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>
4.初始化(首次运行前才需要)
切换回hadoop安装目录(~/hadoop/hadoop-2.9.1)
格式化文件系统:
~/hadoop/hadoop-2.9.1/bin/hdfs namenode -format
会默认在/tmp/hadoop-${username}/dfs/name创建hdfs文件系统
5.运行
a)开启HDFS
sbin/start-dfs.sh
运行完可以jps看看有哪些java进程:

可以访问这个地址管理HDFS http://localhost:50070/
可以试试文件操作:
bin/hadoop fs -mkdir /user
在HDFS中创建一个目录bin/hadoop fs -ls /
查看HDFS根目录
b)开启yarn
sbin/start-yarn.sh
jps:

管理url:http://localhost:8088
网友评论