当前位置: 移动技术网 > IT编程>数据库>其他数据库 > CentOS6安装各种大数据软件 第四章:Hadoop分布式集群配置

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

2019年03月29日  | 移动技术网IT编程  | 我要评论

 

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日志记录停止完成"

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网