Apache版本安装流程
LUNIX
#切换账号
#切换至个人账号,直接切换
su ACCOUNT
#切换至root账号,需要输入密码
#查看主机名
hostname
#设置主机名
hostnamectl set-hostname slave01
#网络配置
#打开网络配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33
#以替换方式删除所有"
:%s/\"//g
IPADDR=192.168.xxx.xxx
NETMASK=255.255.255.0
GATEWAY=192.168.xxx.2
DNS1=8.8.8.8
DNS2=114.114.114.114
#ESC 退出编辑模式到命令行模式
:x #保存退出
#重启网络服务
systemctl restart network
#网络链接不上
systemctl status network.service
#出现:Failed to start LSB: Bring up/down networking.
第一种办法直接关闭NetworManager
systemctl stop NetworkManager
第二种办法修改配置文件
/etc/udev/rules.d/70-persistent-net.rules只要70-persistent-net.rules配置文件中的MAC地址与ifcfg-xxx的MAC地址相同就可以了。但是我打开70-persistent-net.rules配置文件发现配置文件全是注释,然后就直接在ifcfg-xxx文件中添加了HWADDR=MAC 对应的MAC地址。
修改完配置文件后发现还是提示错误。
vi /etc/udev/rules.d/70-persistent-net.rules
第三种办法
使用这一条命令将清除协议地址,尽然还是不管用,无奈之下重启系统,发现重启后网络服务恢复正常。
ip addr flush dev ens33
Failed to start LSB: Bring up/down networking 的报错就是因为克隆后真实的MAC地址与配置文件的MAC地址不相符造成的,使用以上三种办法试着解决。最后不要忘了重启系统。
#查看防火墙状态
systemctl status firewalld
#关闭并禁用防火墙
systemctl stop firewalld
systemctl disable firewalld
#建议关闭NetworkManager服务,防止和network服务冲突
systemctl stop NetworkManager
#优化
iptables -F
setenforce 0
#SSH配置
vi /etc/ssh/sshd_config
UseDNS no
systemctl restart sshd
#检测外网访问
ping www.baidu.com
ctrl+c #退出ping命令
#检测内网访问
ping 192.168.xxx.xxx
#网络不通
#Linux 基础命令无法使用
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin
安装JDK
#绿色安装jdk
#解压缩配置安装
#jdk-8u111-linux-x64.tar
#jdk-8u111-linux-x64.tar.gz
tar -[z]xvf /srcPath/xxx.tar[.gz] -C /pathDest
#配置环境变量
#编辑配置文件
vi /etc/profile.d/my.sh
export JAVA_HOME=/opt/software/jdk180
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
esc :x
#传输文件到各个节点
cd /opt/download/hadoop
./allsend.sh /etc/profile.d/my.sh /etc/profile.d
#激活配置文件
source /etc/profile
#验证环境变量
echo $JAVA_HOME
#/opt/software/jdk180
java -version
#java version "1.8.0_111"
#Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
#Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
安装MYSQL
#rpm安装mysql
#查看是否存在mysql旧版本
rpm -qa|grep mariadb
#mariadb-libs-5.5.65-1.el7.x86_64
yum -y remove mariadb-libs-5.5.65-1.el7.x86_64
#complete
#下载wget
yum search wget
yum -y install wget._____
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
#100%ll
rpm -ivh mysql-community-release-el7-5.noarch.rpm
#100%
yum -y install mysql-server
#complete
systemctl status mysql
#inactive
systemctl start mysql
#active(running)
#首次免密登录MySQL服务
mysql #进入mysql
use mysql;
update user set password=password('root') where user='root';
grant all on *.* to root@'%' identified by 'javakb10';
quit;
#重启mysql服务结束免密登录
systemctl restart mysql
#安全登录
mysql -u root -p #回车后输入密码,正常登录表示Mysql安装完毕
#yum安装
yum update
yum search COMMAND
=========== N/S matched: wget ============
xxx.x86_64 : xxxxx
yum -y install xxx.x86_64
#navicat连接 连接不上原因
#1、防火墙未关闭
#2、未开启root@'%'授权,未重启服务或未flush privileges;
安装SCALA
#解压缩配置安装
#scala-2.11.12.tgz
tar -[z]xvf /srcPath/xxx.tar[.gz] -C /pathDest
#配置环境变量
#编辑配置文件
vi /etc/profile.d/my.sh
export SCALA_HOME=/opt/software/scala211
export PATH=$SCALA_HOME/bin:$PATH
esc :x
#传输文件到各个节点
cd /opt/download/hadoop
./allsend.sh /etc/profile.d/my.sh /etc/profile.d
#激活配置文件
source /etc/profile
#验证环境变量
echo $SCALA_HOME
#/opt/software/scala211
scala -version
#Scala code runner version 2.11.12 -- Copyright 2002-2017, LAMP/EPFL
安装Hadoop
# hadoop设置mapreduce中map个数:mapred.job.reuse.jvm.num.tasks
#core-site.xml
<!--配置namenode的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hd01:9820</value>
</property>
<!--配置数据存储目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/software/hadoop/hadoop313/data</value>
</property>
<!--配置HDFS网页登录使用的静态用户为root-->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
<!--配置root(超级用户)允许通过代理访问的主机节点-->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<!--配置root(超级用户)允许通过代理用户所属组-->
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<!--配置root(超级用户)允许通过代理的用户-->
<property>
<name>hadoop.proxyuser.root.user</name>
<value>*</value>
</property>
#hdfs-site.xml
<!--配置namenode web访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>hd01:9870</value>
</property>
<!--配置secondary namenode web访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hd02:9868</value>
</property>
<!--配置hdfs副本数量-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
#yarn-site.xml
<!--配置mr的执行方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--配置ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hd02</value>
</property>
<!--配置环境变量的继承-->
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
<!--配置yarn容器允许分配的最小内存-->
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>512</value>
</property>
<!--配置yarn容器允许分配的最大内存-->
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>1536</value>
</property>
<!--配置yarn容器允许管理的物理内存大小-->
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>1536</value>
</property>
<!--配置关闭yarn对物理内存和虚拟内存的限制检查,
jdk8运行于centos6以上版本会导致虚拟内存过大-->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<!--配置关闭yarn对物理内存和虚拟内存的限制检查-->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<!--开启日志聚集-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!--配置日志聚集服务器地址-->
<property>
<name>yarn.log.server.url</name>
<value>http://hd01:19888/jobhistory/logs</value>
</property>
<!--配置日志保留时间为7天-->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
#mapred-site.xml
<!--配置mapreduce运行于yarn上:默认为local,也可以指定spark阶段了解的mesos-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!--配置历史服务器地址-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hd02:10020</value>
</property>
<!--配置历史服务器web端地址-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master02:19888</value>
</property>
#---------------------------------------测试-----------------------------------------------
cd /opt/software/hadoop/hadoop313/share/hadoop/mapreduce/
hadoop jar hadoop-mapreduce-client-jobclient-3.1.3-tests.jar TestDFSIO -write -nrFiles 5 -fileSize 128MB
hadoop jar hadoop-mapreduce-client-jobclient-3.1.3-tests.jar TestDFSIO -read -nrFiles 5 -fileSize 128MB
1、使用RandomWriter产生随机数,每个节点运行10个Map,每个Map 1G数据
hadoop jar hadoop-mapreduce-examples-3.1.3.jar randomwriter random-data
2、执行Sort程序
hadoop jar hadoop-mapreduce-examples-3.1.3.jar sort random-data sorted-data
3、验证排序的结果
hadoop jar hadoop-mapreduce-client-jobclient-3.1.3-tests.jar testmapredsort -sortInput random-data -sortOutput sorted-data
zookeeper安装
# 配置zoo.cfg
dataDir=/opt/soft/zk345/data
server.1=hd01:2888:3888
server.2=hd01:2888:3888
server.3=hd01:2888:3888
#在每个dataDir路径下建立一个myid文件(不同主机的数字同上)
echo "1"> myid
#启动集群
zkServer.sh start
启动集群
1. 启动zookeeper(3个都启动)
zkServer.sh start
2. 启动JournalNode(3个都启动)
hadoop-deamon.sh start journode
3. 格式化namenode(只在hd01主机上)
hdfs namenode -format
4. 将hd01上的Namenode的元数据复制到hd02相同位置
scp -r /opt/soft/hadoop260/dfs/namenode_data/current/ root@hd02:/opt/soft/hadoop260/dfs/namenode_data
5. 在hd01或hd02格式化故障转移控制器zkfc
hdfs zkfc -formatZK
6. 在hd01上启动dfs服务
start-dfs.sh
7. 在hd03上启动yarn服务
start-yarn.sh
8. 在hd01上启动history服务器
mr-jobhistory-daemon.sh start historyserver
9. 在hd02上启动resourcemanager服务
yarn-deamon.sh start resourcemanager
检查集群情况
1. jps 上面服务不能缺少
2. 查看状态
# 在hd01上查看服务状态
hdfs haadmin -getServiceState nn1 #active
hdfs haadmin -getServiceState nn2 #standby
# 在hd03上查看resourcemanager状态
yarn rmadmin -getServiceState rm1 #standby
yarn rmadmin -getServiceState rm2 #active
3. 检查主备切换
# kill 掉Namenode主节点 查看Namenode standby节点状态
kill -9 namenode主节点进程
# 恢复后重新加入
hadoop-deamon.sh start namenode #启动后也只是standby节点
集群二次启动
#在hd01上启动dfs
start-dfs.sh #
在hd03上启动yarn
start-yarn.sh
#在hd02上启动resourcemanager
yarn-daemon.sh start resourcemanager