安装前必备的环境:
mac操作系统:本人是10.12.6
JDK:1.8.0
软件包管理工具:brew
1、配置ssh
配置ssh就是为了能够实现免密登录,这样方便远程管理Hadoop并无需登录密码在Hadoop集群上共享文件资源 。
如果你的机子没有配置ssh的话,输入ssh localhost提示需要输入你的电脑登录密码,配置好ssh之后,就不需要输入密码了。
配置ssh的步骤如下:
(1)在终端输入:ssh-keygen -t rsa,之后一路enter键就行,如果之前进行过,则会提示是否覆盖之前的key,输入y即可,会进行覆盖。
(2)终端执行:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,用于授权你的公钥到本地可以无需密码实现登录。
此时就可以免密登录了,但是本人在执行ssh localhost后,出现了如下报错:
ssh : connect to host localhost port 22: Connection refused.
连接被拒绝。
解决方法:
选择系统偏好设置->选择共享->勾选远程登录。
之后再执行ssh localhost就可以登录成功了。如图:
2、安装hadoop
命令行执行:brew install hadoop
正常情况下就等待安装就可以成功了,不过安装可能需要一段时间,但是本人在安装过程中遇到了一点问题,在执行了上述命令之后,错误提示如下:
通过错误提示可以看到是因为java JDK安装的不符合要求。
说明下,我之前安装JDK也是通过brew install 安装的,然后安装完之后,检查java版本是10.0.1,估计是安装的java版本不符合要求。
于是重新进行了java JDK的安装,附JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
选择对应的版本就可以了,下载之后解压双击安装,安装完成后检查是否安装成功,查看java 安装的版本:
此时安装成功,对应的的是1.8.0版本的。
这样之后重新执行brew install hadoop ,这次安装成功了。安装成功之后,在/usr/local/Cellar 目录下,会看到有个hadoop目录。
3、配置hadoop
3.1配置hadoop-env.sh
进入安装目录/usr/local/Cellar/hadoop/3.0.0/libexec/etc/hadoop,找到hadoop-env.sh文件,将export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"
改为:
exportHADOOP_OPTS="$HADOOP_OPTS-Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="exportJAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home"
(JDK的路径,按照自己的实际情况进行配置即可)
3.2配置hdfs地址和端口
进入hadoop安装目录:/usr/local/Cellar/hadoop/3.0.0/libexec/etc/hadoop,编辑core-site.xml,将<configuration></configuration>改为:
<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:8020</value>
</property>
</configuration>
3.3 mapreduce中jobtracker的地址和端口
仍然在hadoop的安装目录下,编辑mapred-site.xml,将<configuration></configuration>改为:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:8021</value>
</property>
</configuration>
3.4 修改hdfs备份数
仍然在hadoop的安装目录下,编辑hdfs-site.xml,将<configuration></configuration>改为:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
3.5 格式化hdfs
这个操作相当于一个文件系统的初始化,执行命令:hdfs namenode -format
在终端最终会显示成功
3.6 配置Hadoop环境变量
终端执行:vim ~/.bash_profile,添加hadoop的环境变量:
export HADOOP_HOME=/usr/local/Cellar/hadoop/3.0.0/libexec
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
备注:此处说明下,因为我使用brew install hadoop安装之后,发现安装目录下显示的有点问题,发现在/usr/local/Cellar/hadoop/3.0.0下面有bin sbin libexec,然后进入libexec目录,发现下面才是真正的hadoop安装的文件:
而/usr/local/Cellar/hadoop/3.0.0目录下的其实是缺失的,因此配置hadoop环境变量的时候,要写到libexec这一级别:
export HADOOP_HOME=/usr/local/Cellar/hadoop/3.0.0/libexec
否则执行启动 hadoop的时候就会报错。
3.7 启动关闭hadoop服务
进入目录:/usr/local/Cellar/hadoop/3.0.0/libexec/sbin下,执行如下命令:
./start-all.sh 启动hadoop命令
./stop-all.sh 关闭hadoop命令
启动成功后,在浏览器中输入http://localhost:8088,可以看到如下页面:
4、安装scala
命令行执行:brew install scala
执行完成后,终端输入:scala -version进行查看,如下表明安装成功:
然后在环境变量中增加scala相关的变量,命令行输入:vim ~/.bash_profile进行编辑,增加环境变量:
export SCALA_HOME=/usr/local/Cellar/scala/2.12.6
export PATH=$PATH:$SCALA_HOME/bin
5、安装spark
5.1 安装spark
进入Apache Spark官网进行Spark的下载,附Spark官网下载地址:http://spark.apache.org/downloads.html
下载完之后解压,并将解压后的文件夹移动到/usr/local/目录下,然后cd /usr/local进入到/usr/local目录下,使用命令更改该目录下的spark文件夹名称:sudo mv ./spark-2.0.2-bin-hadoop2.7 ./spark 将文件夹名称改为 spark 。
5.2 配置环境变量
命令行输入:vim ~/.bash_profile进行编辑,增加环境变量:
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin
然后保存退出,执行source ~/.bash_profile,使之生效。
5.3 配置spark-env.sh
进入到Spark目录的conf配置文件中:cd /usr/local/spark/conf,执行命令:cp spark-env.sh.template spark-env.sh将spark-env.sh.template拷贝一份,然后打开拷贝后的spark-env.sh文件:vim spark-env.sh,在里面加入如下内容:
export SCALA_HOME=/usr/local/Cellar/scala/2.12.6
export SPARK_MASTER_IP=localhost
export SPARK_WORKER_MEMORY=4G
配置好之后,命令行执行:spark-shell,如果出现如下所示的画面,就表明spark安装成功了:
至此mac下spark单机环境就搭建完成了,以后就可以在spark shell中进行练习了。
网友评论