安装操作系统
本人的操作系统是安装在VMware vSphere下的ubuntu15.04操作系统,在安装过程中有以下三点需要注意:
1.在安装系统时,需要先将网络Disconnect,否则可能安装系统失败。
2.系统安装完成后,调整IP(先自动获取ip,然后使用ifconfig命令查看ip)以及DNS地址(210.28.18.30)。
3.设置root用户登录,具体操作如下:
1)打开终端使用gedit程序打开/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf,增加如下内容。
greeter-show-manual-login=true
2)gedit进入/root/.profile中,将“mesg n”修改为“tty -s && mesg n”
3)gedit进入/etc/hostname,修改主机名。
4)gedit进入/etc/hosts,修改IP和主机名映射。
上传文件以及部分环境安装
1.由于在Linux系统下较难安装VMware Tools,因此使用FileZilla上传下载文件,这需要Linux系统安装OpenSSH。打开终端,输入:
apt-get install openssh-server
2.将下载好的文件(Jdk,Hadoop,Spark,Scala等)上传到系统中(或直接在ubuntu系统中下载),使用的协议是sftp,注意这个时候连接使用的用户名密码是管理员用户的(安装系统时候设置的用户),使用root用户是无法建立连接的。
3.解压Jdk,Hadoop,Scala和Spark,并将环境变量写入~/.bashrc和/etc/profile中,内容如下:
~/.bashrc
export JAVA_HOME=/home/yiwei/jdk/jdk1.8.0_73
export JRE_HOME=${JAVA_HOME}/jre
export SCALA_HOME=/home/yiwei/scala/scala-2.11.8
export CLASS_PASS=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export HADOOP_HOME=/home/yiwei/hadoop/hadoop-2.6.0
export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${SCALA_HOME}/bin:$PATH
/etc/profile
export JAVA_HOME=/home/yiwei/jdk/jdk1.8.0_73
export JRE_HOME=${JAVA_HOME}/jre
export SCALA_HOME=/home/yiwei/scala/scala-2.11.8
export HADOOP_HOME=/home/yiwei/hadoop/hadoop-2.6.0
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${SCALA_HOME}/bin:$PATH
export CLASSPATH=$CLASSPATH:.:JAVA_HOME/lib:$JAVA_HOME/jre/lib
4.使用source命令更新~/.bashrc和/etc/profile。
5.配置ssh免密码登录,需要执行的命令如下:
ssh-keygen
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh的原理图如下
Hadoop的设置
1.首先在修改hadoop-env.sh声明jdk路径
export JAVA_HOME=/home/yiwei/jdk/jdk1.8.0_73
2.修改core-site.xml,主要指定HDFS中namenode的通信地址
<configuration>
<property>
<!--namenode的通信地址-->
<name>fs.defaultFS</name>
<value>hdfs://172.18.128.65:9000</value>
</property>
<property>
<!--临时文件地址-->
<name>hadoop.tmp.dir</name>
<value>/opt/tmp</value>
</property>
<property>
<name>hadoop.proxyuser.hduser.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hduser.groups</name>
<value>*</value>
</property>
</configuration>
3.修改hdfs-site.xml,主要设置HDFS中文件的副本数
<configuration>
<property>
<!--hdfs副本数-->
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
4.将mapred-site.xml.template 重命名为mapred-site.xml,主要设置框架MapReduce使用YARN
<configuration>
<property>
<!--MR使用YARN进行调度-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5.修改yarn-site.xml,主要设置Reducer取数据的方式是mapreduce_shuffle
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<!--reducer取数据的方式是mapreduce_shuffle-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<!--yarn resourcemanager host-->
<name>yarn.resourcemanager.hostname</name>
<value>172.18.128.65</value>
</property>
</configuration>
6.第一次使用的时候需要格式化HDFS,即在终端中输入
hadoop namenode -format
这个时候Hadoop的设置完成,使用start-all.sh命令启动Hadoop,然后输入jps,如果出现如下内容即可验证是否成功设置
7245 NameNode
10731 Jps
7577 SecondaryNameNode
7847 NodeManager
7726 ResourceManager
7396 DataNode
Spark安装
下载Scala,并解压到任意文件夹,并在环境变量中添加SCALA_HOME环境变量。
将环境变量写入~/.bashrc和/etc/profile中。
Spark的设置
在Spark的根目录下需要设置三个文件即可,即spark-env.sh、spark-defaults.conf、slaves。其修改的内容如下:
spark-env.sh
JAVA_HOME=/home/yiwei/jdk/jdk1.8.0_73
SCALA_HOME=/home/yiwei/scala/scala-2.11.8
HADOOP_CONF_DIR=HADOOP_HOME=/home/yiwei/hadoop/hadoop-2.6.0
SPARK_MASTER_IP=172.18.128.65
SPARK_MASTER_PORT=7077
SPARK_MASTER_WEBUI_PORT=8080
SPARK_WORKER_CORES=2
SPARK_WORKER_MEMORY=6g
SPARK_WORKER_PORT=7078
SPARK_WORKER_WEBUI_PORT=8081
SPARK_WORKER_INSTANCES=1
这里前面一部分主要设置了Jdk、Scala和Hadoop的位置
后面一部分设置了Master的IP、端口、WEB UI端口和Worker的工作核心数、工作内存大小、端口、WEB UI端口和实例数目
spark-defaults.conf
spark.master spark://alex:7077
这里主要设定了Spark Master的URL
slaves
172.18.128.65
启动集群
1)在Spark根目录启动Spark
./sbin/start-all.sh
输入jps如果出现如下内容即可验证是否成功设置
9625 Master
9730 Worker
2)关闭Spark
./sbin/stop-all.sh
另外,Hadoop和Spark还有一些Web UI,其中我们之前设置了Spark Master的Web UI为8080端口,我们平时会用到的端口地址如下:
WEB UI | PORT |
YARN | 8088 |
HDFS | 50070 |
MASTER | 8080 |
JOBS | 4040 |
我们访问的话,只需要在浏览器中输入本机地址+端口号即可,例如浏览器中输入172.18.128.65:50070,即可访问HDFS文件系统