欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

CentOS6安装各种大数据软件 第四章:Hadoop分布式集群配置

程序员文章站 2024-01-15 09:11:28
1. Hadoop安装包的下载和解压 基于apache原始厂商:https://archive.apache.org/dist/基于Cloudera厂商的cdh本:http://archiveprimary.cloudera.com/cdh5/cdh/5/,Cloudera有免费版和企业版,企业版只 ......

 

1. hadoop安装包的下载和解压

基于apache原始厂商:https://archive.apache.org/dist/
基于cloudera厂商的cdh本:http://archiveprimary.cloudera.com/cdh5/cdh/5/,
cloudera有免费版和企业版,企业版只有试用期,不过cdh大部分功能都是免费的,使用解压命令将hadoop解压的目标文件夹。

 

2. hadoop分布式集群配置_hdfs

安装hdfs需要修改4个配置文件:hadoop-env.sh,core-site.xml,hdfs-site.xml和slaves

2.1. 在hadoop-env.sh配置文件中配置java_home

# the java implementation to use.
export java_home=/opt/modules/jdk1.8.0_144

2.2. 在core-site.xml中配置默认的文件系统

<property>
    <name>fs.defaultfs</name>
    <value>hdfs://spark-node04.ouyang.com:9000</value>
</property>

2.3. 在hdfs-site.xml中配置文件的副本保存数量

<property>
    <name>dfs.replication</name>
    <value>3</value>
</property>

2.4. 在slaves文件中配置三个datanode的节点的地址

node01.ouyang.com
node02.ouyang.com
node03.ouyang.com

2.5. 将修改好的hadoop发送到其他的服务器上

scp –r /export/servers/hadoop-2.7.4/ root@node01.ouyang.com:$pwd

2.6. 格式化hdfs文件系统

首次使用配置安装号hdfs系统之后,需要进行格式化,在hadoop的namenode服务器的机器的*目录执行如下命令: ./bin/hdfs namenode –format

2.7. 启动hdfs

我们现在将一个节点上的hdfs文件系统配置完成和格式化完成了,接下来,我们启动hdfs文件系统
#启动namenode
./sbin/hadoop-daemon.sh start namenode
#启动datanode
./sbin/hadoop-daemon.sh start datanode
#启动之后可以在50070的web界面进行查看

 

3. hadoop分布式集群配置_yarn

3.1. 在yarn-env.sh中配置java_home

# some java parameters
export java_home=/opt/modules/jdk1.8.0_144

3.2. 在mapred-site.xml中配置资源调度框架是yarn

步骤一:修改mapred-site.xml.template为mapred-site.xml
步骤二:在mapred-site.xml中配置资源调度框架是yarn
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
步骤三:在mapred-site.xml中配置配置日志的ui界面(可以不配)
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>node01.ouyang.com:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>node01.ouyang.com:19888</value>
    </property>

3.3. 在yarn-site.xml中设置资源调度的名称

#必配
<!--设置资源调度的名称-->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

#选配
<!--设置resourcemanager的主机名称-->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>spark-node04.ouyang.com</value>
</property>
<!--配置日志聚集-->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>10000</value>
</property>

<!--配置resourcemanager的内存大小,保证不至于内存太小导致nodemanager挂掉-->
<property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>8192</value>
</property>
<!--表示的是可以使用的虚拟cpu个数-->
<property>
    <name>yarn.nodemanager.resource.cpu-vcores</name>
    <value>4</value>
</property>

3.4. 将修改好的配置文件分发到其他节点

scp -r hadoop/ node03.ouyang.com:$pwd

3.5. 启动yarn

#启动resourcemanager
./sbin/yarn-daemon.sh start resourcemanager
#启动nodemanager
./sbin/yarn-daemon.sh start nodemanager
#启动之后可以在8088的web界面进行查看

4. hadoop环境变量配置

vim /etc/profile
export hadoop_home=/export/server/hadoop-2.7.4
export path=$path:$java_home/bin:$hadoop_home/bin:$hadoop_home/sbin

source /etc/profile

5. hadoop的额外配置和集成测试

5.1. 在hdfs-site.xml设置为不检查权限

<property>
    <name>dfs.permissions.enabled</name>
    <value>true</value>
</property>

5.2. 在core-site.xml配置静态用户和存储目录

<!--配置静态用户-->
<property>
    <name>hadoop.http.staticuser.user</name>
    <value>root</value>
</property>
<!--修改存储目录-->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/modules/hadoop-2.7.4/data/tmp</value>
</property>

5.3. 将修改好的配置文件分发到其他目录

scp -r hadoop-2.7.4/ spark-node05.ouyang.com:$pwd
scp -r hadoop-2.7.4/ spark-node06.ouyang.com:$pwd

5.4. 关闭hadoop的所有应用并重新格式化

在hadoop的sbin目录下执行如下目录:
./stop-all.sh
由于我们修改了namenode的目录,因此,我们需要重新格式化namenode:
bin/hdfs namenode –format
一键启动hadoop的hdfs和yarn服务:
./start-all.sh

5.5. 测试hdfs

#创建目录
bin/hdfs dfs -mkdir -p /user/root/data/
#上传文件
bin/hdfs dfs -put /opt/datas/words.txt /user/root/data/

5.6. yarn集群运行mapreduce程序

cd /export/server/hadoop-2.7.4/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-2.7.4.jar pi 20 50

6. 配置hadoop一键启动和停止脚本

#一键启动脚本
echo "hadoop开始启动"
ssh 192.168.12.121 "source /etc/profile;nohup sh ${hadoop_home}/sbin/start-all.sh >/dev/null 2>&1 &"
echo "hadoop启动完成"
echo "hadoop日志记录开始启动"
ssh 192.168.12.121 "source /etc/profile;nohup sh ${hadoop_home}/sbin/mr-jobhistory-daemon.sh start historyserver >/dev/null 2>&1 &"
echo "hadoop日志记录启动完成"

#一键停止脚本
echo "hadoop开始停止"
ssh 192.168.12.121 "source /etc/profile;nohup sh ${hadoop_home}/sbin/stop-all.sh >/dev/null 2>&1 &"
echo "hadoop停止完成"
echo "hadoop日志记录开始停止"
ssh 192.168.12.121 "source /etc/profile;nohup sh ${hadoop_home}/sbin/mr-jobhistory-daemon.sh stop historyserver >/dev/null 2>&1 &"
echo "hadoop日志记录停止完成"