初学者搭建完全分布式hadoop+spark(3个节点)
环境:
ubuntu14 hadoop2.7.6 spark-2.0.1-bin-hadoop2,7 scala-2.11.6
配置ssh免密登录 (每个节点都要配置,步骤相同)
生成秘钥 ssh-keygen
cd /root/.shh
cat id_rsa.pub >> authorized_keys
hadoop完全分布式搭建
一、安装jdk
解压文件 tar -zxvf XXXXX -C /simple
配置环境变量
vim /etc/profileexport JAVA_HOME=/simple/jdk ( jdk安装目录)
PATH=$JAVA_HOME/bin:$PATH
二、安装hadoop
解压文件
tar -zxvf XXXXXX -C /simple/
对hadoop进行重命名
mv hadoop2.7.6 hadoop
配置环境变量
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
(此时可以将环境变量/etc/profile拷贝到所有节点,因为所有节点都是配置jdk和hadoop路径 命令scp -r /etc/profile slave1:/etc/ scp -r /etc/profile slave2:/etc/ 并在每个运行 source /etc/profile使环境生效, 同时/simple/jdk文件夹也要复制到2个节点的相同目录下)
进入到hadoop目录下的/etc/hadoop
cd /simple/hadoop/etc/hadoop
修改配置文件
core-site.sh
< property><name>fs.defaultFS </name>
<value>hdfs://(hostname)master</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/simple/hadoop/tmp</value>
</property>
hdfs-site.sh
<property><name>dfs.replication</name>
<value>1</value>
</property>
mapred-site.sh
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
yarn-site.sh
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master(自己的主机名):8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name><value>master(自己的主机名):8030</value></property>
hadoop-env.sh
export JAVA_HOME=/simple/jdk
yarn-env.sh
export JAVA_HOME=/simple/jdk
slavas
slave2
三、修改主机名&&主机名和IP 映射(3个节点都要设置)
vim /etc/hostname
HOSTNAME=master(每个节点的主机名不同 HOSTNAME=slave1)
vim /etc/hosts
192.168.72.150(主节点ip) master(主机名)
192.168.72.151 slave1
192.168.72.152 slave2
四、复制文件到每个节点
将配置好的hadoop的整个目录都复制到slave1和slave2的/simple/目录下
scp -r /simple/hadoop slave1:/simple/
scp -r /simple/hadoop slave2:/simple/
五、启动进程
在主机节点启动进程
start-all.sh
三个节点jps出现正确进程,hadoop完全分布式搭建成功
master
slave1
slave2
spark完全分布式搭建
一、解压文件
scala 、spark
配置环境变量(vim /etc/profile)
export SCALA_HOME=/simple/scalaexport SPARK_HOME=/simple/spark
PATH=$SCALA_HOME/bin:$SPARK_HOME/sbin:$PATH
(此时可以将环境变量/etc/profile拷贝到所有节点,因为所有节点都是配置jdk和hadoop路径 命令scp -r /etc/profile slave1:/etc/ scp -r /etc/profile slave2:/etc/ 并在每个运行 source /etc/profile使环境生效,同时/simple/scala文件夹也要复制到2个节点的相同目录下)
二、安装spark
进入到spark/conf目录下修改配置文件
先对文件进行重命名
cp slaves.template slaves
export JAVA_HOME=/simple/jdkvim spark-env.sh
#配置JAVA_HOME,一般来说,不配置也可以,但是可能会出现问题, 还是配上吧
export HADOOP_CONF_DIR=/simple/hadoop/etc/hadoop
#一般来说,spark任务有很大可能性需要去HDFS上读取文件,所以 配置上如果说
#你的spark 就读取本地文件,也不需要yarn管理,不用配
export SPARK_MASTER_HOST=master
#设置Master的主机名
export SPARK_MASTER_PORT=7077
#每一个Worker最多可以使用的cpu core的个数,我虚拟机就一个...
#真实服务器如果有32个,你可以设置为32个
export SPARK_WORKER=1
#每一个Worker最多可以使用的内存,我的虚拟机就2g
#真实服务器如果有128G,你可以设置为100G
export SPARK_WORKER_MEMORY=1g
vim slaves
slave1
slave2
三、复制文件到,每个节点
将配置好的spark文件复制到每个节点
scp -r /simple/spark slave1:/simple
scp -r /simple/spark slave2:/simple
四、启动进程
为了避免spark进程中的启动命令跟hadoop启动命令的重复
进入到/spark/sbin目录对start-all.sh进行重命名
cd /simple/spark/sbin
mv start-all.sh start-spark-all.sh
在主节点启动进程(start-spark-all.sh,各节点jps查看进程是否启动成功)
master
slave1
slave2