Mac下的安装配置可以用一句话概括:下载编译后的文件(或者用brew直接安装),配置环境变量。MAC OS X版本为10.11.6。
配置SSH
为了确保在远程管理Hadoop以及Hadoop节点用户共享时的安全性, Hadoop需要配置使用SSH协议。
SSH原理可见
http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html
生成SSH keys:
$ ssh-keygen -t rsa -P ""
执行这个命令后, 会在当前用户目录中的.ssh文件夹中生成id_rsa文件,执行如下命令:
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
// 测试如下命令是否能够不使用密码登录
$ ssh localhost
安装配置JDK1.8
Mac一般自带JDK1.6,首先检查JDK版本:
$ java -version
如果没有安装,去官网下载安装,然后设置环境变量:
// 查看JDK安装路径
$ /usr/libexec/java_home
// 配置环境变量
$ vi ~/.bash_profile
// 在.bash_profile中添加
export JAVA_HOME=$(/usr/libexec/java_home)
// 编译
$ source ~/.bash_profile
注:export设置只对当前的bash登陆session有效,可使用source命令使其立即生效。
安装配置Scala2.12.1
在官网下载http://www.scala-lang.org/download/,解压后放在usr/local/scala目录下。
$ mv scala-2.12.1 /usr/local/scala
// .bash_profile中添加
export SCALA_HOME=/usr/local/scala
PATH="$SCALA_HOME/bin:$PATH"
// 查看版本
$ scala -version
// 进入scala shell
$ scala
安装配置Hadoop2.7.3
从官网下载hadoop http://hadoop.apache.org/releases.html,
解压后放在usr/local/hadoop2.7.3目录下。
// 配置环境变量,.bash_profile中添加
export HADOOP_HOME=/usr/local/hadoop2.7.3
PATH="$SCALA_HOME/bin:$HADOOP_HOME/bin:$PATH"
Hadoop的配置文件在其安装目录的/etc/hadoop下,配置时先将xxx.template 复制为 xxx,再修改该配置文件。
配置hadoop-env.sh
若该文件没有配置JDK,可使用如下命令配置:
export JAVA_HOME=${JAVA_HOME}
配置core-site.xml
该配置文件用于指定NameNode的主机名与端口。
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/Users/yxx/data/hadoop/hadoop-2.7.3/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131702</value>
</property>
</configuration>
配置hdfs-site.xml
该配置文件制定了HDFS的默认参数及副本数,因为仅运行在一个节点上,所以这里的副本数为1。
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/Users/yxx/data/hadoop/hadoop-2.7.3/tmp/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/Users/yxx/data/hadoop/hadoop-2.7.3/tmp/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>localhost:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
其中dfs.namenodename.dir和dfs.datanode.data.dir的路径可以自由设置,最好在hadoop.tmp.dir目录下。
配置mapred-site.xml
该配置文件制定了JobTracker的主机名与端口。
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
运行Hadoop
配置完后即可运行Hadoop。
// 初始化HDFS,进入Hadoop安转目录
$ bin/hdfs namenode -format
// 开启NameNode和DataNode守护进程
$ sbin/start-dfs.sh
// 查看进程信息
$ jps
// 关闭
$ sbin/stop-dfs.sh
在浏览器中输入 http://localhost:50070 即可查看相关信息。
安装配置Spark2.1.0
从官网下载Spark http://spark.apache.org/downloads.html,
解压后放在usr/local/spark目录下。
$ mv spark-2.1.0-bin-hadoop2.7 /usr/local/spark
// 配置环境变量,.bash_profile最终为
export JAVA_HOME=$(/usr/libexec/java_home)
export SCALA_HOME=/usr/local/scala
export SPARK_HOME=/usr/local/spark
export HADOOP_HOME=/usr/local/hadoop2.7.3
export PATH="$SCALA_HOME/bin:$SPARK_HOME/bin:$HADOOP_HOME/bin:$PATH"
// 编译
$ source ~/.bash_profile
修改配置文件 spark-env.sh,从Spark安装目录进入conf,在spark-env.sh中添加:
export SCALA_HOME=/usr/local/scala
export SPARK_HOME=/usr/local/spark
export HADOOP_HOME=/usr/local/hadoop2.7.3
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home
export SPARK_WORKER_MEMORY=1g
编辑slaves文件:
$ cp slaves.template slaves
// 添加所有主机的hostname(需在hosts文件中添加对方的hostname和ip的关系),目前只有localhost
$ vi slaves
启动Spark:
// 进入Spark安装目录
$ cd /usr/local/spark/bin
// 启动
$ sbin/start-all.sh
// 关闭
$ sbin/stop-all.sh
在浏览器中输入 http://localhost:8080 即可看到如下页面
参考:
http://kiritor.github.io/2016/04/24/Hadoop-install/
http://blog.csdn.net/xgjianstart/article/details/52192735