搭建hadoop2/CDH4叢集
版本及準備
我部署的是hadoop-2.0.0-cdh4.2.0.tar.gz,下載地址為 。在 下還可以下載到CDH hadoop生態圈內相關的包。再準備一個jdk1.6+的java環境,設定好JAVA_HOME。
需要注意的是,window下直接點選連結下載到的包可能無法解壓成功,原因是包是放在linux ftp上的,直接下載會有問題。建議在linux機器上用wget命令下載就可以了,如果你的機器不能聯網的話,也可以聯絡我把包發給你。
基礎配置
給叢集配好 SSH;在hosts裡可以準備好自己機器的名字。比如我的機器1作為namenode(namenode01),機器2作為secondary namenode(snamenode01),其他機器作為datanode。以下配置檔案裡就用該名稱代替。
配置檔案
tar包的部署方式只要具備CDH4的包就可以了,其餘步驟不需聯網,只要配置好幾個配置檔案即可。我提供一份自己的配置,可以完全複製下來使用。進入到目錄hadoop-2.0.0-cdh4.2.0/etc/hadoop下面,修改這幾個檔案:
core-site.xml
<configuration> <property> <name>fs.defaultFSname> <value>hdfs://namenode01value> property> <property> <name>fs.trash.intervalname> <value>10080value> property> <property> <name>fs.trash.checkpoint.intervalname> <value>10080value> property> configuration>
hdfs-site.xml
<configuration> <property> <name>dfs.replicationname> <value>3value> property> <property> <name>hadoop.tmp.dirname> <value>/home/mywork/work/data/hadoop-${user.name}value> property> <property> <name>dfs.namenode.http-addressname> <value>namenode01:50070value> property> <property> <name>dfs.namenode.secondary.http-addressname> <value>ssnamenode01:50090value> property> <property> <name>dfs.webhdfs.enabledname> <value>truevalue> property> configuration>yarn-site.xml
<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.resourcemanager.resource-tracker.addressname> <value>namenode01:8031value> property> <property> <name>yarn.resourcemanager.addressname> <value>namenode01:8032value> property> <property> <name>yarn.resourcemanager.scheduler.addressname> <value>namenode01:8030value> property> <property> <name>yarn.resourcemanager.admin.addressname> <value>namenode01:8033value> property> <property> <name>yarn.resourcemanager.webapp.addressname> <value>namenode01:8088value> property> <property> <description>Classpath for typical applications.description> <name>yarn.application.classpathname> <value>$HADOOP_CONF_DIR,$HADOOP_COMMON_HOME/share/hadoop/common/*, $HADOOP_COMMON_HOME/share/hadoop/common/lib/*, $HADOOP_HDFS_HOME/share/hadoop/hdfs/*,$HADOOP_HDFS_HOME/share/hadoop/hdfs/lib/*, $YARN_HOME/share/hadoop/yarn/*,$YARN_HOME/share/hadoop/yarn/lib/*, $YARN_HOME/share/hadoop/mapreduce/*,$YARN_HOME/share/hadoop/mapreduce/lib/*value> property> <property> <name>yarn.nodemanager.aux-servicesname> <value>mapreduce.shufflevalue> property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.classname> <value>org.apache.hadoop.mapred.ShuffleHandlervalue> property> <property> <name>yarn.nodemanager.local-dirsname> <value>/home/mywork/work/data/yarn/localvalue> property> <property> <name>yarn.nodemanager.log-dirsname> <value>/home/mywork/work/data/yarn/logsvalue> property> <property> <description>Where to aggregate logsdescription> <name>yarn.nodemanager.remote-app-log-dirname> <value>/home/mywork/work/data/yarn/logsvalue> property> <property> <name>yarn.app.mapreduce.am.staging-dirname> <value>/home/mywork/workvalue> property> configuration>mapred-site.xml
<configuration> <property> <name>mapreduce.framework.namename> <value>yarnvalue> property> <property> <name>mapreduce.jobhistory.addressname> <value>namenode01:10020value> property> <property> <name>mapreduce.jobhistory.webapp.addressname> <value>namenode01:19888value> property> configuration>masters
namenode01 ssnamenode01slaves
datanode01 datanode02 datanode03 datanode04最後修改.bashrc裡的一些環境,新增如下配置
export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=./:$JAVA_HOME/lib:$JRE_HOME/lib:$JRE_HOME/lib/tools.jar export HADOOP_HOME=/home/mywork/work/hadoop-2.0.0-cdh4.2.0 export HADOOP_MAPRED_HOME=${HADOOP_HOME} export HADOOP_COMMON_HOME=${HADOOP_HOME} export HADOOP_HDFS_HOME=${HADOOP_HOME} export YARN_HOME=${HADOOP_HOME} export HADOOP_YARN_HOME=${HADOOP_HOME} export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop export HDFS_CONF_DIR=${HADOOP_HOME}/etc/hadoop export YARN_CONF_DIR=${HADOOP_HOME}/etc/hadoop export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/sbinsource之使之生效。然後把這臺機器上的hadoop scp到其他各臺機器上
啟動叢集
HADOOP_HOME/bin下,第一次格式化namenode
hadoop namenode -format
然後在namenode機器上逐個啟動
start-dfs.sh start-yarn.sh
可以使用jps命令在各臺機器上檢視已經起來的程式和埠,在 namenode01:8088/cluster 可以看叢集情況。 datanode01:8042/node 可以看到節點情況。 問題排查
如果某幾個節點沒有起來,很可能是因為埠占用的問題,比如yarn啟動的時候會使用8080埠,如果被佔用,該datanode就起不了了,可以使用
netstat -anp | grep 8080找到id,然後kill -9 xxx 掉。
一般可以在指定的HADOOP_HOME/logs下檢視各個機器的日誌情況,找到問題原因。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28929558/viewspace-1352487/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 搭建zookeeper叢集(偽叢集)
- 叢集搭建
- zookeeper叢集及kafka叢集搭建Kafka
- Redis系列:搭建Redis叢集(叢集模式)Redis模式
- redis叢集搭建Redis
- nacos 叢集搭建
- kafka叢集搭建Kafka
- Ambari叢集搭建
- 搭建ELK叢集
- RabbitMQ叢集搭建MQ
- HBASE叢集搭建
- zookeeper 叢集搭建
- mysql叢集搭建MySql
- Zookeeper叢集搭建
- 搭建 Redis 叢集Redis
- 搭建 zookeeper 叢集
- Elasticsearch 叢集搭建Elasticsearch
- mysql 叢集搭建MySql
- Storm叢集搭建ORM
- 從0到1搭建spark叢集---企業叢集搭建Spark
- linux下搭建ZooKeeper叢集(偽叢集)Linux
- Kafka學習之(五)搭建kafka叢集之Zookeeper叢集搭建Kafka
- 【環境搭建】RocketMQ叢集搭建MQ
- 【greenplum】greenplum叢集搭建
- ElasticSearch 7.8.1叢集搭建Elasticsearch
- MongoDB 分片叢集搭建MongoDB
- Docker Swarm 叢集搭建DockerSwarm
- Redis(5.0) 叢集搭建Redis
- MySQL MGR 叢集搭建MySql
- nacos叢集開箱搭建
- redis叢集的搭建Redis
- Docker搭建ELK叢集Docker
- docker搭建mysql叢集DockerMySql
- 搭建Redis原生叢集Redis
- MySQL 5.7 叢集搭建MySql
- ZooKeeper 搭建 solr 叢集Solr
- Redis--叢集搭建Redis
- Docker搭建Redis叢集DockerRedis