hadoop,spark安装文档
1、集群
win7虚拟机网络配置为桥接模式
集群机器保持同个网段,能互通
2、修改ip和主机名(虚拟机桌面版):
vi /etc/hosts
添加ip 主机名:
192.168.10.190 master
192.168.10.191 slave1
192.168.10.192 slave2
vi /etc/hostname
修改为主机名 ,如master
然后使配置文件生效
source /etc/sysconfig/network
重启机器
reboot
3、新增用户及密码
useradd -p 密码 用户名
将用户添加到root用户组下
usermod -g root hadoop01
4、配置ssh
下载:yum install openssh-server
开启 ssh服务
systemctl start sshd / service sshd start
查询状态
systemctl status sshd / service sshd status
配置开机启动:
configure --level 2345 sshd on
测试下能否ssh连接
5、免密码登录
在hadoop01用户下,
cd /home/hadoop01
生成秘钥
ssh-keygen -t rsa
生成之后会在用户的根目录生成一个 “.ssh”的文件夹
ls -atrl
可以查看得到
进入“.ssh”会生成以下几个文件
新建 authorized_keys 文件,将所有机器的id_rsa.pub内容都复制到这个文件夹下
测试是否能登录
ssh 用户名@主机名
同理对于hadoop03 进行操作,配置完,即能从hadoop01 免密码登录到hadoop02和hadoop03
对于hadoop02和hadoop03想免密登录到其他机器,也如上操作。
6、配置jdk
先删除本机jdk
rpm -qa | grep jdk
删掉带箭头的那些
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.222.b03-1.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.221-2.6.18.1.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.222.b03-1.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.221-2.6.18.1.el7.x86_64
在cd /usr/local/目录下新建java目录
也可以装个传输工具 yum -y install lrzsz
再输入rz即可以打开传输界面,可将文件传输到指定目录下
将下载好的jdk传输到服务器,并且解压
tar -zxvf {安装包名}
修改环境变量,vim /etc/profile
在文章最下面添加
export JAVA_HOME=/usr/local/java/jdk1.8.0_221
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
保存后使变量生效
source /etc/profile
7、安装zookeeper
新建文件夹 hadoop 赋予权限
chown hadoop01:root /usr/hadoop/ -R,
chmod 777 /usr/hadoop/ -R
上传zookeeper的安装包
解压:tar -zxvf zookeeper-3.4.6.tar.gz
修改配置文件,新增zookeeper地址 sudo vi /etc/profile
export ZOOKEEPER_HOME=/usr/hadoop/zookeeper-3.4.6
export PATH=$ZOOKEEPER_HOME/bin:$PATH
export ZOO_LOG_DIR=/usr/hadoop/zookeeper-3.4.6/logs
注意要和原来的地址兼容
生效:
source /etc/profile
修改zookeeper配置文件
cd zookeeper-3.4.6/conf/
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
dataDir=/usr/hadoop/zookeeper-3.4.6/data
server.1=master:2888:3888
server.2= slave1:2888:3888
server.3= slave2:2888:3888
保存退出
mkdir -p /usr/hadoop/zookeeper-3.4.6/data
cd /usr/hadoop/zookeeper-3.4.6/data/
根据在myid中输入server的序号,比如master主机的myid中就输入1
vi myid 1
mkdir -p /usr/hadoop/zookeeper-3.4.6/logs
vim /usr/hadoop/zookeeper-3.4.6/conf/log4j.properties
修改zookeeper.log.dir为新增的logs地址
zookeeper.log.dir=/usr/hadoop/zookeeper-3.4.6/logs
启动,运行/usr/hadoop/zookeeper-3.4.6/bin/zkServer.sh start
若报错,要关闭防火墙
systemctl stop firewalld.service
防火墙永久关闭 systemctl disable firewalld.service
上传hadoop包到/usr/hadoop/
修改权限
chown hadoop01:root /usr/hadoop/ -R
chmod 777 /usr/hadoop -R
解压:
tar -zxvf 压缩包
新增环境变量
sudo vi /etc/profile
export HADOOP_HOME=/usr/hadoop/hadoop-2.6.0
export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$SPARK_HOME/bin
保存,使之生效
配置文件修改
cd /usr/hadoop/hadoop-2.6.0/etc/hadoop
hadoop-env.sh和yarn-env.sh都新添java_home
export JAVA_HOME=/usr/local/java/jdk1.8.0_221
core-site.xml
在configuration中新添
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:///usr/hadoop/hadoop-2.6.0/temp</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>master:2181,slave1:2181,slave2:2181</value>
</property>
hdfs -site.xml
在configuration中新添
<property>
<name>dfs.http.address</name>
<value>master:50070</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/hadoop/hadoop-2.6.0/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///usr/hadoop/hadoop-2.6.0/dfs/data/slave1</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
mapred-site.xml
在configuration中新添
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
yarn-site.xml
在configuration中新添
<property>
<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>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
slaves文件中添加主节点和子节点的主机名
risk@master
hadoop01@slave2
hadoop02@slave1
格式化:/usr/hadoop/hadoop-2.6.0/bin/hadoop namenode -format
把hadoop的安装及配置文件同步到集群子节点,运行scp -r /usr/hadoop/hadoop-2.6.0 root@slave1(子节点主机名): /usr/hadoop
把/etc/profile文件同步到各子节点,并且在各子节点运行source /etc/profile生效
在主节点启动hadoop /usr/hadoop/hadoop-2.6.0/sbin/start-all.sh
运行jps -l 主节点有:
子节点有
打开web界面 http://主节点:50070, 正常显示没报错,说明hadoop成功安装
9、安装spark
上传spark安装包到/usr/hadoop/下
sudo chown hadoop01:root /usr/hadoop -R。
sudo chmod 777 /usr/hadoop -R
修改配置环境 vim /etc/profile
export SPARK_HOME=/usr/hadoop/spark-2.0.2-bin-hadoop2.6
export PATH=$ SPARK_HOME /bin:$PATH
保存,并使之生效 source /etc/profile
修改配置文件 cd /usr/hadoop/spark-2.0.2-bin-hadoop2.6/conf
spark-env.sh
export JAVA_HOME= /usr/local/java/jdk1.8.0_221
export SPARK_WORKER_MEMORY=12G(根据机器的配置调整)
export SPARK_DAEMON_Java_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=master:2181,slave1:2181,slave2:2181 -Dspark.deploy.zookeeper.dir=/spark"
slaves文件
risk@master
hadoop01@slave2
hadoop02@slave1
把spark的安装及配置文件同步到集群子节点scp -r /usr/hadoop/spark-2.0.2-bin-hadoop2.6 root@slaver1(子节点主机名): /usr/hadoop
把/etc/profile文件同步到各子节点,并且在各子节点运行source /etc/profile生效
在主节点启动/usr/hadoop/spark-2.0.2-bin-hadoop2.6/sbin/start-all.sh
运行 jps -l
主机点出现:
子节点出现
Spark即安装成功,启动成功
Spark web界面:http://主机名:8080