Hadoop 2.6的配置
Hadoop 2.6是一个分布式数据处理框架,它的配置主要包括以下几个方面:
1、Hadoop安装目录
首先需要在Linux系统中创建一个目录作为Hadoop的安装目录,
sudo mkdir /usr/local/hadoop
2、Hadoop配置文件
在Hadoop安装目录下创建一个名为etc/hadoop
的文件夹,并在其中创建以下配置文件:
core-site.xml
:核心配置文件,包括HDFS的URL、YARN的地址等。
hdfs-site.xml
:HDFS配置文件,包括副本数量、NameNode和DataNode的内存等。
mapred-site.xml
:MapReduce配置文件,包括任务调度器、内存等。
yarn-site.xml
:YARN配置文件,包括资源管理器、内存等。
workers
:工作节点配置文件,指定每个工作节点的主机名和端口。
3、SSH免密登录
为了方便操作Hadoop集群,可以配置SSH免密登录,首先在主节点上生成SSH密钥对:
ssh-keygen -t rsa
然后将公钥添加到所有工作节点的~/.ssh/authorized_keys文件中:
cat ~/.ssh/id_rsa.pub | ssh user@worker1 -p 22 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
4、Hadoop服务启动
在主节点上运行以下命令启动Hadoop服务:
start-dfs.sh start namenode start-yarn.sh start resourcemanager
Hadoop 2.6的优化方法
1、增加硬件资源
Hadoop的性能与硬件资源密切相关,可以通过增加CPU核数、内存和磁盘容量来提高性能,可以在每个工作节点上添加更多的CPU核数和内存。
2、调整HDFS参数
HDFS是Hadoop的核心组件,其性能直接影响到整个系统的性能,可以通过调整以下参数来优化HDFS性能:
dfs.replication
:设置副本数量,通常建议设置为3或5。
dfs.namenode.name.dir
:设置NameNode的数据存储路径,可以使用NFS或其他网络存储设备。
dfs.datanode.data.dir
:设置DataNode的数据存储路径,同样可以使用NFS或其他网络存储设备。
dfs.client.socket-timeout
:设置客户端与NameNode之间的通信超时时间,以避免长时间等待。
dfs.heartbeat.interval
:设置DataNode与NameNode之间的心跳间隔,以检测故障并自动恢复。
dfs.blocksize
:设置HDFS块的大小,可以根据实际需求进行调整。
dfs.write.buffer.size
:设置HDFS写缓冲区的大小,可以根据实际需求进行调整。
dfs.readahead
:设置HDFS预读的大小,可以根据实际需求进行调整。
dfs.bytes.per.checksum
:设置HDFS每个校验和的大小,默认值为4096字节,可以根据实际需求进行调整。
dfs.max.transfer.retries
:设置HDFS最大重试次数,当数据传输失败时可以提高容错能力,默认值为3次,可以根据实际需求进行调整。
dfs.http.policy
:设置HDFS的HTTP策略,可以限制客户端对HDFS的访问权限,默认值为DISABLED,可以根据实际需求进行调整。
dfs.permissions
:设置HDFS的权限控制策略,可以限制不同用户对HDFS的访问权限,默认值为NONE,可以根据实际需求进行调整。
dfs.inline.checksum
:设置是否启用数据块的内联校验和,可以减少网络传输量和计算开销,默认值为false,可以根据实际需求进行调整。
dfs.safemode.min.replication
:设置NameNode进入安全模式所需的最小副本数量,以防止数据丢失,默认值为3,可以根据实际需求进行调整。
dfs.safemode.wait
:设置NameNode在进入安全模式时的等待时间,以防止系统资源耗尽,默认值为3600秒(1小时),可以根据实际需求进行调整。
dfs.support.appends
:设置是否支持HDFS追加操作,默认值为true,可以根据实际需求进行调整。
dfs.support.erasurecode
:设置是否支持Erasure Coding编码方式,可以提高数据的可靠性和容错能力,默认值为false,可以根据实际需求进行调整。
dfs.erasurecode.codinggroupsize
:设置Erasure Coding编码组的大小,可以根据实际需求进行调整,默认值为4x4、8x8、16x16、32x32、64x64、128x128、256x256、512x512、1024x1024、2048x2048、4096x4096、8192x8192、16384x16384、32768x32768、65536x65536和131072x131072,可以根据实际需求进行调整。
dfs.erasurecode.stripe.width
:设置Erasure Coding编码条带的宽度,可以根据实际需求进行调整,默认值为64KB(65536字节),可以根据实际需求进行调整。
dfs.erasurecode.numdatanodes
:设置Erasure Coding编码所需的数据节点数量,可以根据实际需求进行调整,默认值为3个(奇数个),可以根据实际需求进行调整。
3、使用YARN资源管理器替代MRv1脚本部署应用
MRv1脚本已经逐渐被YARN资源管理器取代,因为YARN具有更好的可扩展性、高可用性和容错能力,可以使用以下命令启动YARN资源管理器:
start-yarn.sh start resourcemanager --config conf/yarn/resourcemanager-site.xml --host RMHost --port RMPort --webui-port WebUIPort --deploy-mode client --proxy-user proxyuser --proxy-address proxyaddress --enable-all-security-services --ssl-truststore truststorelocation --ssl-keystore keystorelocation --ssl-keystorepassword keystorepassword --authentication type yarn --cluster-id clusterID --hostname hostName --yarnhelixbridge true --yarnhelixresourcemanager false --yarnapplicationhistoryserver false --yarnnodemanager false --yarnproxyserver false --yarnrmadminserver false --yarnlogaggregator false --yarnscheduler false --yarnleaderelectionservice false --yarnstatemanager false --yarntimelineservice false --yarnatsvc false --yarnstatmonitor false --yarnremotehistoryserver false --yarnheartbeatserver false --yarnnodemanagerlauncher false --yarndependencygraph false --yarnappmasterhistoryservice false --yarnapplicationhistoryservice false --yarncontainerlogmanager false --yarnlogaggregatorfetcher false --yarnlogserver false --yarnnicache nullify true --yarnnicachefilenullifier filenullifiercommand & tail -f logs/yarn/*/logs/* | logger -o console -t yarn & sleep infinity & wait $! || echo "Failed to launch Yarn ResourceManager" && exit 1; tail -f logs/yarn/*/logs/* | logger -o console -t yarn & sleep infinity & wait $! || echo "Failed to monitor Yarn logs" && exit 1; wait $PID; echo "Yarn stopped"; exit 0; Replace this with your application's main method or script to run on the cluster (e.g., org.apache.hadoop.examples.WordCount) Example usage in a shell script (runWordCountApp): export HADOOP_CONF_DIR=/path/to/your/hadoop/conf export HADOOP_HOME=/path/to/your/hadoop source $HADOOP_HOME/bin/hadoop version export HADOOP_CLASSPATH=$HADOOP_HOME/share/hadoop/common/*:$HADOOP_CLASSPATH export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=lib exec $HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples*jar wordcount input output format 'text
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/135636.html