前言:
今天姐妹们对“centos6安装杀毒软件”大约比较关怀,各位老铁们都需要了解一些“centos6安装杀毒软件”的相关内容。那么小编也在网摘上收集了一些有关“centos6安装杀毒软件””的相关文章,希望各位老铁们能喜欢,兄弟们快快来学习一下吧!由于安装配置Hadoop牵涉的内容较多,我将Hadoop的安装配置拆成了3篇文章来讲述。
这是第一篇。
前期准备
由于大数据的安装和使用涉及的内容比较多,截止到这篇文章,我写的与大数据安装有关的文章已经超过10篇了,为了能把这个事情说清楚,不得不这么做。
在查看本文之前,一定要安装好CentOS Linux 8 并升级完内核和软件包,学会怎么使用SSH软件,学会怎么配置IP等操作,进行过集群规划和基础配置,安装并配置好时间同步chrony,安装并配置好Java开发工具包jdk,安装并配置好分布式环境的协调Zookeeper,安装并配置好文件分发软件Rsync,为了在测试时不去分心处理权限问题,还需要关闭SELinux并关闭防火墙Firewall(生产环境再打开)。
以上内容可以参考我发布过的以下文章:
1、知道Linux是怎么安装的吗?安装个CentOS Linux 8开始大数据开发
2、盘点两个经典Linux维护软件,详细讲讲SSH是个什么东西以及用法
3、Linux内核怎么升级?升级有什么好处?CentOS8升级内核并开启BBR
4、Linux怎么配置IP?CentOS8怎么重启网卡?配置/修改静态IP的方法
5、大数据开发前要做什么准备?8台Hadoop服务器进行集群规划前配置
6、如何保证大数据开发的服务器时间同步?chrony服务安装与配置
7、怎么在Linux上面安装jdk?大数据开发前必备软件在CentOS8上安装
8、大数据服务器之间是怎么配合的?分布式Zookeeper集群安装与配置
9、怎么把Linux 的文件快速传给10台服务器?文件分发软件的安装配置
10、Linux有防火墙和杀毒软件吗?怎么安装配置Firewall抵御网络攻击
集群规划
上面有篇文章进行了详细的集群规划的编写描述,这里简单叙述以下。
手里有一台Dell R620服务器,共有8块硬盘,通过VMware将虚拟机分布在这8块硬盘上,模拟8台服务器,模拟在一个机架上:
编号:/BJ0/LG0/hadoop221-228
221-222:NameNode,223-228:DataNode
集群规划如下:(服务器为hadoop221-hadoop228)
特别提示:
我们安装Hadoop的以下所有操作都可以先在一台服务器(Hadoop221)上操作,完毕以后再将这个虚拟服务器复制成出来7份,完成最终的部署。
也就是我们先完成Hadoop221的操作系统和软件的安装配置,然后复制出7份来。
下面正式开始。
相关软件的安装及配置安装配置时间同步软件chrony
参考上述文章,并根据上面的集群规划,我们在221上安装chrony。配置时我们把服务端server配置成192.168.1.222,这样后面复制出来的其它服务器就能直接在222服务器上获取时间了。全部安装完毕,我们直接在hadoop222上面启动Chrony服务即可完成所有的时间配置。
防火墙和SELINUX设置
因为Hadoop需要开启的端口很多,而且牵涉到很多的权限,所以我们在测试时将防火墙和SELINUX都关掉。
在生产环境中,需要针对不同的开放端口做针对性的设置。
参考上述关于防火墙和SELINUX的文章,关闭防火墙且关闭SELinux,大致的内容摘取如下:
systemctl stop firewalld
systemctl disable firewalld
vi /etc/selinux/config
相关参数修改如下:
#SELINUX=enforcing
SELINUX=disabled
重启服务器,然后查看防火墙和SELinux状态:
reboot
查看SELinux的状态
/usr/sbin/sestatus -v
查看防火墙状态
systemctl status firewalld
显示如下内容,则说明SELINUX已经关闭了
hostname相关设置
参考上面的集群规划文章,进行hostname的配置,具体内容摘取如下:
运行下面的命令,修改本机的hostname:
hostnamectl set-hostname hadoop221
222-228服务器上的hostname修改,等服务器安装完毕以后统一操作(本文的底部有相关内容)
hosts相关设置
参考上面的集群规划文章,进行hosts的配置,具体内容摘取如下:
由于一次次的录入IP地址,不利于管理,我们在hosts里面把服务器的hostname跟IP地址对应起来,输入下面的命令开始操作:
vi /etc/hosts
内容设置成如下所示:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.221 hadoop221
192.168.1.222 hadoop222
192.168.1.223 hadoop223
192.168.1.224 hadoop224
192.168.1.225 hadoop225
192.168.1.226 hadoop226
192.168.1.227 hadoop227
192.168.1.228 hadoop228
192.168.1.229 hadoop229
192.168.1.230 hadoop230
添加Hadoop用户
我们默认登录的是Tristone用户,需要切换到root用户。
su
录入下述命令来添加hadoop用户:
useradd hadoop
录入一遍"jiqun996"回车,再录入一遍"jiqun996"回车后将hadoop用户密码设置为"jiqun996"
passwd hadoop
安装并配置jdk
参考上述jdk的安装配置文章,具体内容摘取如下:
从Oracle上下载jdk,尽量不要使用其他版本的jdk,容易出现一些奇怪的问题,比如:没有jps命令,自己都不知道哪里出问题了。把下载的"jdk-8u231-linux-x64.tar.gz"传到服务器上。进入服务器保存这个文件的目录以后进行如下操作(下面的命令都是以root的权限操作的):
建立java的工作目录(文件夹)
mkdir /usr/java
解压JDK
tar -zxvf jdk-8u231-linux-x64.tar.gz
将JDK移动(剪切)到/usr/java/目录
mv jdk1.8.0_231/ /usr/java/
将JDK所有者设置为root
chown -R root:root /usr/java/jdk1.8.0_231/
设置JDK的软链接
ln -sf /usr/java/jdk1.8.0_231 /usr/local/jdk
修改全局环境变量:
vi /etc/profile
在文件底部添加以下内容:
export JAVA_HOME="/usr/local/jdk"
export PATH=$JAVA_HOME/bin:$PATH
加载新的全局环境变量:
source /etc/profile
运行jps命令,显示类似以下内容,就算安装jdk成功了
jps安装并配置Zookeeper
参考上述Zookeeper的安装配置文章,具体内容摘取如下:
由于Zookeeper类似于民主选举,每台服务器分别投票共同选举一个作为leader,剩下的都是follower。基于这个原因,官方建议服务器集群设置为奇数台,偶数台的话会有一台的资源浪费。根据咱们的集群规划:226-228为我们的Zookeeper服务器。
因为Zookeeper需要一台一台的单独启动,所以咱们在hadoop221上配置好,到时候只在226-228上面启动即可。
下载Zookeeper(参考我写的相关文章)然后进行下列操作:
tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz
mkdir /home/hadoop/server
mkdir -p /home/hadoop/data/zkdata
mkdir -p /home/hadoop/log/zklog
mv apache-zookeeper-3.5.6-bin/ /home/hadoop/server/
ln -sf /home/hadoop/server/apache-zookeeper-3.5.6-bin/ /home/hadoop/zookeeper
chown -R hadoop:hadoop /home/hadoop/*
vi /etc/profile
文件底部添加以下内容:
export ZOOKEEPER_HOME="/home/hadoop/zookeeper"
export PATH=$ZOOKEEPER_HOME/bin:$PATH
执行下述命令加载全局环境变量,然后切换到hadoop用户开始操作:
source /etc/profile
su hadoop
cd /home/hadoop/zookeeper/conf
cp zoo_sample.cfg zoo.cfg
vi /home/hadoop/zookeeper/conf/zoo.cfg
内容调整如下:
dataDir=/home/hadoop/data/zkdata
dataLogDir=/home/hadoop/log/zklog/
server.226=hadoop226:2888:3888
server.227=hadoop227:2888:3888
server.228=hadoop228:2888:3888
最后不要忘了在每个服务器"/home/hadoop/data/zkdata/"下新建文件"myid"并把当前服务器编号写进去,举例:
echo 221 > /home/hadoop/data/zkdata/myid
启动的事情,这里先不操作,后面到配置226-228的时候再启动。
注意:虽然我们在配置文件中写明了服务器的列表信息,但是,我们还是需要去每一台服务 器去启动,不是一键启动集群模式。
安装并配置Hadoop
先从国内的源服务器上找到hadoop的下载链接,并复制链接地址:
下载Hadoop
先用root权限操作:先用root权限操作:先用root权限操作:
重要的事情说三遍:
cd /home/hadoop/server
wget 粘贴刚才复制的URL地址
软件包有340多M,下载时别着急
tar -zxvf hadoop-3.2.1.tar.gz
ln -sf /home/hadoop/server/hadoop-3.2.1/ /home/hadoop/hadoop
chown -R hadoop:hadoop /home/hadoop/*
配置全局环境变量文件profile
vi /etc/profile
在文件尾部添加以下内容,用root用户操作
export HADOOP_HOME="/home/hadoop/hadoop"
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
加载全局变量:
source /etc/profile
echo $HADOOP_HOME
下面以hadoop用户操作:下面以hadoop用户操作:下面以hadoop用户操作
重要的事情说三遍:
执行以下命令,建立相关的目录
su hadoop
rm -rf /home/hadoop/hadoop/share/doc #删除文档,很大,又没用
mkdir -p /home/hadoop/data/dfs/data
mkdir /home/hadoop/data/dfs/name
mkdir /home/hadoop/data/dfs/tmp
mkdir /home/hadoop/data/journaldata
cd /home/hadoop/hadoop/etc/hadoop
vi /home/hadoop/hadoop/etc/hadoop/hadoop-env.sh
添加一行内容:
export JAVA_HOME="/usr/local/jdk"
修改配置文件core-site.xml
清空原来全部内容
echo > /home/hadoop/hadoop/etc/hadoop/core-site.xml
vi /home/hadoop/hadoop/etc/hadoop/core-site.xml
内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定hdfs的nameservice为myha01 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://myha01/</value>
</property>
<!-- 指定hadoop临时目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/data/dfs/tmp</value>
</property>
<!-- 指定zookeeper地址 -->
<property>
<name>ha.zookeeper.quorum</name>
<value>hadoop226:2181,hadoop227:2181,hadoop228:2181</value>
</property>
<!-- hadoop链接zookeeper的超时时长设置 -->
<property>
<name>ha.zookeeper.session-timeout.ms</name>
<value>1000</value>
<description>ms</description>
</property>
<!-- 修改core-site.xml中的ipc参数,防止出现连接journalnode服务ConnectException -->
<property>
<name>ipc.client.connect.max.retries</name>
<value>100</value>
<description>Indicates the number of retries a client will make to establish a server connection.</description>
</property>
<property>
<name>ipc.client.connect.retry.interval</name>
<value>10000</value>
<description>Indicates the number of milliseconds a client will wait for before retrying to establish a server connection.</description>
</property>
<property>
<name>topology.script.file.name</name>
<value>10000</value>
<description>Indicates the number of milliseconds a client will wait for before retrying to establish a server connection.</description>
</property>
</configuration>
修改配置文件hdfs-site.xml
echo > /home/hadoop/hadoop/etc/hadoop/hdfs-site.xml #清空原来全部内容
vi /home/hadoop/hadoop/etc/hadoop/hdfs-site.xml
内容如下
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定副本数 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 配置namenode和datanode的工作目录-数据存储目录 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/data/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/data/dfs/data</value>
</property>
<!-- 启用webhdfs -->
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<!--指定hdfs的nameservice为myha01,需要和core-site.xml中的保持一致
dfs.ha.namenodes.[nameservice id]为在nameservice中的每一个NameNode设置唯一标示符。
配置一个逗号分隔的NameNode ID列表。这将是被DataNode识别为所有的NameNode。
例如,如果使用"myha01"作为nameservice ID,并且使用"nn1"和"nn2"作为NameNodes标示符
-->
<property>
<name>dfs.nameservices</name>
<value>myha01</value>
</property>
<!-- myha01下面有两个NameNode,分别是nn1,nn2 -->
<property>
<name>dfs.ha.namenodes.myha01</name>
<value>nn1,nn2</value>
</property>
<!-- nn1的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.myha01.nn1</name>
<value>hadoop221:9000</value>
</property>
<!-- nn1的web通信地址 -->
<property>
<name>dfs.namenode.http-address.myha01.nn1</name>
<value>hadoop221:50070</value>
</property>
<!-- nn2的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.myha01.nn2</name>
<value>hadoop222:9000</value>
</property>
<!-- nn2的web通信地址 -->
<property>
<name>dfs.namenode.http-address.myha01.nn2</name>
<value>hadoop222:50070</value>
</property>
<!-- 指定NameNode的edits元数据的共享存储位置。也就是JournalNode列表
该url的配置格式:qjournal : / / host1:port1;host2:port2;host3:port3/journalId
journalId推荐使用nameservice,默认端口号是:8485 -->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://hadoop223:8485;hadoop224:8485;hadoop225:8485/myha01</value>
</property>
<!-- 指定JournalNode在本地磁盘存放数据的位置 -->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/home/hadoop/data/journaldata</value>
</property>
<!-- 开启NameNode失败自动切换 -->
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<!-- 配置失败自动切换实现方式 -->
<property>
<name>dfs.client.failover.proxy.provider.myha01</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<!-- 配置隔离机制方法,多个机制用换行分割,即每个机制暂用一行 -->
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence
shell(/bin/true)</value>
</property>
<!-- 使用sshfence隔离机制时需要ssh免登陆 -->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/home/hadoop/.ssh/id_rsa</value>
</property>
<!-- 配置sshfence隔离机制超时时间 -->
<property>
<name>dfs.ha.fencing.ssh.connect-timeout</name>
<value>30000</value>
</property>
<property>
<name>ha.failover-controller.cli-check.rpc-timeout.ms</name>
<value>60000</value>
</property>
</configuration>
修改配置文件mapred-site.xml
echo > /home/hadoop/hadoop/etc/hadoop/mapred-site.xml #清空原来全部内容
vi /home/hadoop/hadoop/etc/hadoop/mapred-site.xml
全部内容如下:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定mr框架为yarn方式 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- 指定mapreduce jobhistory地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop222:10020</value>
</property>
<!-- 任务历史服务器的web地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop222:19888</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>/home/hadoop/hadoop/etc/hadoop:/home/hadoop/hadoop/share/hadoop/common/lib/*:/home/hadoop/hadoop/share/hadoop/common/*:/home/hadoop/hadoop/share/hadoop/hdfs:/home/hadoop/hadoop/share/hadoop/hdfs/lib/*:/home/hadoop/hadoop/share/hadoop/hdfs/*:/home/hadoop/hadoop/share/hadoop/mapreduce/lib/*:/home/hadoop/hadoop/share/hadoop/mapreduce/*:/home/hadoop/hadoop/share/hadoop/yarn:/home/hadoop/hadoop/share/hadoop/yarn/lib/*:/home/hadoop/hadoop/share/hadoop/yarn/*</value>
</property>
</configuration>
修改配置文件yarn-site.xml
echo > /home/hadoop/hadoop/etc/hadoop/yarn-site.xml #清空原来全部内容
vi /home/hadoop/hadoop/etc/hadoop/yarn-site.xml
内容如下:
<?xml version="1.0"?>
<configuration>
<!-- 开启RM高可用 -->
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<!-- 指定RM的cluster id -->
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>yrc</value>
</property>
<!-- 指定RM的名字 -->
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<!-- 分别指定RM的地址 -->
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>hadoop226</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>hadoop227</value>
</property>
<!-- 指定zk集群地址 -->
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>hadoop226:2181,hadoop227:2181,hadoop228:2181</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>86400</value>
</property>
<!-- 启用自动恢复 -->
<property>
<name>yarn.resourcemanager.recovery.enabled</name>
<value>true</value>
</property>
<!-- 制定resourcemanager的状态信息存储在zookeeper集群上 -->
<property>
<name>yarn.resourcemanager.store.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
</property>
<property>
<name>yarn.application.classpath</name>
<value> /home/hadoop/hadoop/etc/hadoop:/home/hadoop/hadoop/share/hadoop/common/lib/*:/home/hadoop/hadoop/share/hadoop/common/*:/home/hadoop/hadoop/share/hadoop/hdfs:/home/hadoop/hadoop/share/hadoop/hdfs/lib/*:/home/hadoop/hadoop/share/hadoop/hdfs/*:/home/hadoop/hadoop/share/hadoop/mapreduce/lib/*:/home/hadoop/hadoop/share/hadoop/mapreduce/*:/home/hadoop/hadoop/share/hadoop/yarn:/home/hadoop/hadoop/share/hadoop/yarn/lib/*:/home/hadoop/hadoop/share/hadoop/yarn/*</value>
</property>
<property>
<!-- 客户端通过该地址向RM提交对应用程序操作 -->
<name>yarn.resourcemanager.address.rm1</name>
<value>hadoop226:8032</value>
</property>
<property>
<!--ResourceManager 对ApplicationMaster暴露的访问地址。ApplicationMaster通过该地址向RM申请资源、释放资源等。 -->
<name>yarn.resourcemanager.scheduler.address.rm1</name>
<value>hadoop226:8030</value>
</property>
<property>
<!-- RM WEB访问地址,查看集群信息-->
<name>yarn.resourcemanager.webapp.address.rm1</name>
<value>hadoop226:8088</value>
</property>
<property>
<!-- NodeManager通过该地址交换信息 -->
<name>yarn.resourcemanager.resource-tracker.address.rm1</name>
<value>hadoop226:8031</value>
</property>
<property>
<!--管理员通过该地址向RM发送管理命令 -->
<name>yarn.resourcemanager.admin.address.rm1</name>
<value>hadoop226:8033</value>
</property>
<property>
<name>yarn.resourcemanager.ha.admin.address.rm1</name>
<value>hadoop226:23142</value>
</property>
<property>
<name>yarn.resourcemanager.address.rm2</name>
<value>hadoop227:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address.rm2</name>
<value>hadoop227:8030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address.rm2</name>
<value>hadoop227:8088</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address.rm2</name>
<value>hadoop227:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address.rm2</name>
<value>hadoop227:8033</value>
</property>
<property>
<name>yarn.resourcemanager.ha.admin.address.rm2</name>
<value>hadoop227:23142</value>
</property>
</configuration>
修改配置文件workers
vi /home/hadoop/hadoop/etc/hadoop/workers
这个文件里面填写的是存储/计算节点(HDFS和YARN)的主机名称,内容如下:
hadoop223
hadoop224
hadoop225
hadoop226
hadoop227
hadoop228
至此Hadoop的基础安装配置部分全部完成。后面还有两篇,配置后操作以及第一次启动,日常如何启动,您可以持续关注后续文章。
标签: #centos6安装杀毒软件