一、安装hadoop2.7.1集群,提供spark处理的hdfs文件,以及存储spark处理完的文件
Vmware中三台ubuntu14虚拟机用户名、组名、密码均为hadoop,无密码登录;
1)关闭VMware的NAT模式下的DHCP;
2)根据VMnet8的网段来分配三个节点的静态IP;
192.168.80.129 NameNode
192.168.80.131 DataNode1
192.168.80.132 DataNode2
3)修改hosts文件;
使用sudo gedit /etc/hosts命令修改为:
127.0.0.1 localhost
#127.0.1.1 NameNode
192.168.80.129 NameNode
192.168.80.131 DataNode1
192.168.80.132 DataNode2
sudo /etc/init.d/networking restart重启网络。
4)安装jdk并配置环境变量;
将jdk压缩文件解压到/usr/local/java/jdk1.7.0_79;
配置~/.profile,并source ~/.profile:
#jdk-1.7
export JAVA_HOME=/usr/local/java/jdk1.7.0_79
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
修改系统默认jdk:
$ sudo update-alternatives --install /usr/bin/java java /usr/local/java/jdk1.7.0_79/bin/java 300
$ sudo update-alternatives --install /usr/bin/javac javac /usr/local/java/jdk1.7.0_79/bin/javac 300
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac
5)安装/配置SSH;
ssh-keygen -t rsa -P ""
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
6)安装hadoop并配置环境变量,修改相关文件;
解压hadoop到/usr/local/hadoop/hadoop-2.7.1;
配置~/.profile,并source ~/.profile:
#hadoop-2.7.1
export HADOOP_INSTALL=/usr/local/hadoop/hadoop-2.7.1
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
修改配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、masters、slaves(特别注意三个节点都需要配置词项)。
hadoop-env.sh:
export JAVA_HOME=/usr/local/java/jdk1.7.0_79
yarn-env.sh:
export JAVA_HOME=/usr/local/java/jdk1.7.0_79
7)克隆出另外两个节点,并修改:
hostname:sudo vim /etc/hostname;
静态IP:ping其他虚拟机和win7主机,显示可连接;
hosts文件:sudo gedit /etc/hosts。
8)启动hadoop并测试wordcount例子程序
bin/hdfs namenode -format
sbin/start-dfs.sh
sbin/start-yarn.sh
查看50070确定wordcount例子程序正确输出。
二、安装scala2.11和spark2.0
1)从官网下载后分别修改三台虚拟机的~/.profile文件
#scala:export SCALA_HOME=/usr/local/hadoop/scala/scala-2.11.0
export PATH=$PATH:${SCALA_HOME}/bin
#spark:export SPARK_HOME=/usr/local/hadoop/spark/spark-2.0.0-bin-hadoop2.7
export PATH=$PATH:${SPARK_HOME}/bin
2)修改slaves配置文件和spark-env.sh
3)修改spark的WebUI的端口为8082
spark-env.sh中export SPARK_MASTER_WEBUI_PORT=8082
start-master.sh中SPARK_MASTER_WEBUI_PORT=8082
4)设置日志
开启yarn日志聚合功能:
日志在hdfs中存储位置:
设置spark-defaults.conf:
spark.history.retainedApplications 10
spark.history.ui.port 8081
spark.eventLog.enabled true
spark.eventLog.dir /usr/local/hadoop/spark/event_log
5)验证是否启动成功
NameNode:
DataNode:
Spark的jobs(只有有job运行时可以打开)http://192.168.80.129:4040/jobs/
Spark的WebUI查看http://192.168.80.129:8082
hadoop的WebUI查看http://192.168.80.129:50070
hadoop的application查看http://192.168.80.129:8088
三、遇到的问题
1.开始尝试在vitualbox中安装虚拟机搭建hdfs集群,查阅资料发现需要使用桥接模式,之后发现虚拟机无法上网,打不开ICS服务,ICS服务依赖于Network Connections和Windows Management Instrumentation服务,而SSTP服务无法重启。
解决方法:使用vmware中的NAT模式。
2.hadoop集群安装后hdfs dfsadmin -report命令结果不正常。
解决方法:设置masters和slaves,去掉本机127.0.0.1的hosts中设置。
3.hadoop集群安装过程中权限问题,提示没有那个文件或目录。
解决方法:sudo gedit /etc/sudoers hadoop ALL=(ALL:ALL)ALL
sudo chown -R hadoop:hadoop /usr/local/hadoop/
4.spark集群中使用spark-submit提交后application提示accepted,但是无法进入running。
解决方法:DataNode中添加yarn-cite.xml的设置:
scp /usr/local/hadoop/hadoop-2.7.1/etc/hadoop/yarn-site.xml hadoop@DataNode1:/usr/local/hadoop/hadoop-2.7.1/etc/hadoop/
四、参考资料
Hadoop2.5.2集群配置(基于VMware虚拟机)
http://blog.csdn.net/mxmxz/article/details/50867998
启动hadoop进程检验集群部署
http://blog.csdn.net/mxmxz/article/details/50879147
CentOS7基于Hadoop2.7的Spark2.0集群搭建
http://www.2cto.com/net/201704/633273.html
ubuntu14.04中spark集群安装配置
http://www.itnose.net/detail/6519123.html
Spark2.0安装配置
http://www.2cto.com/kf/201611/562379.html
Spark运行环境的安装
http://www.open-open.com/lib/view/open1435217148153.html