[搭建hadoop-2.6.0-cdh5.4.7偽分布式](https://blog.liyang.io/108.html)
[CDH版下載地址](http://archive.cloudera.com/cdh5/cdh/5/)
先來看看什么是CDH,為什么選擇CHD版的Hadoop。
## CDH
屬于Hadoop的一個發行版。
Hadoop有以下發行版:
- Apache Hadoop
- Cloudera’s Distribution Including Apache Hadoop(CDH)
- Hortonworks Data Platform (HDP)
- MapR
- EMR
CDH版有以下優點:
- 版本劃分清晰
- 版本更新速度快
- 支持Kerberos安全認證
- 文檔清晰
- 支持多種安裝方式(Cloudera Manager方式)
## 安裝hadoop-2.6.0-cdh5.4.0
首先到指定網站下載安裝包
[CDH版下載地址](http://archive.cloudera.com/cdh5/cdh/5/)
解壓下載的安裝包
### 配置偽集群
- 1、進入 hadoop-2.6.0-cdh5.4.0/etc/hadoop
- 2、編輯 hadoop-env.sh
```
vi hadoop-env.sh
```
- 3、修改JAVA_HOME的配置為
```
export JAVA_HOME=/opt/tools/jdk1.8.0_131
```
- 4、編輯core-site.xml,添加如下配置:
```
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node2:9000</value>
</property>
</configuration>
```
node2說明,如果沒有配置hosts,請將node2換成IP地址:wp保存并退出。
- 5、編輯hdfs-site.xml,添加如下配置
```
<configuration>
<property>
<!--開啟web hdfs-->
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/cdh/hadoop/name</value>
<description> namenode 存放name table(fsimage)本地目錄(需要修改)</description>
</property>
<property>
<name>dfs.namenode.edits.dir</name>
<value>${dfs.namenode.name.dir}</value>
<description>namenode存放 transactionfile(edits)本地目錄(請自行修改)</description>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/cdh/hadoop/data</value>
<description>datanode存放block本地目錄(請自行修改)</description>
</property>
</configuration>
```
以上配置完成,還需要創建文件夾
```
mkdir -p cdh/hadoop/name
mkdir cdh/hadoop/data
```
- 6、配置mapred-site.xml
```
cp mapred-site.xml.template mapred-site.xml
之后加入以下配置
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
```
- 7、編輯yarn-site.xml
```
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
```
到此,所有配置都已完成。
### 格式化HDFS
```
bin/hdfs namenode -format
```
看到如下信息:
```
************************************************************/
15/09/22 14:59:46 INFO namenode.NameNode: registered UNIX signal handlers for [TERM, HUP, INT]
15/09/22 14:59:46 INFO namenode.NameNode: createNameNode [-format]
15/09/22 14:59:48 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
15/09/22 14:59:49 WARN common.Util: Path /opt/cdh/hadoop/name should be specified as a URI in configuration files. Please update hdfs configuration.
15/09/22 14:59:49 WARN common.Util: Path /opt/cdh/hadoop/name should be specified as a URI in configuration files. Please update hdfs configuration.
Formatting using clusterid: CID-41ea6672-a32e-4b16-b704-962381ed409a
15/09/22 14:59:49 INFO namenode.FSNamesystem: No KeyProvider found.
15/09/22 14:59:49 INFO namenode.FSNamesystem: fsLock is fair:true
15/09/22 14:59:49 INFO blockmanagement.DatanodeManager: dfs.block.invalidate.limit=1000
15/09/22 14:59:49 INFO blockmanagement.DatanodeManager: dfs.namenode.datanode.registration.ip-hostname-check=true
15/09/22 14:59:49 INFO blockmanagement.BlockManager: dfs.namenode.startup.delay.block.deletion.sec is set to 000:00:00:00.000
15/09/22 14:59:49 INFO blockmanagement.BlockManager: The block deletion will start around 2015 九月 22 14:59:49
15/09/22 14:59:49 INFO util.GSet: Computing capacity for map BlocksMap
15/09/22 14:59:49 INFO util.GSet: VM type = 64-bit
15/09/22 14:59:49 INFO util.GSet: 2.0% max memory 966.7 MB = 19.3 MB
15/09/22 14:59:49 INFO util.GSet: capacity = 2^21 = 2097152 entries
15/09/22 14:59:50 INFO blockmanagement.BlockManager: dfs.block.access.token.enable=false
15/09/22 14:59:50 INFO blockmanagement.BlockManager: defaultReplication = 1
15/09/22 14:59:50 INFO blockmanagement.BlockManager: maxReplication = 512
15/09/22 14:59:50 INFO blockmanagement.BlockManager: minReplication = 1
15/09/22 14:59:50 INFO blockmanagement.BlockManager: maxReplicationStreams = 2
15/09/22 14:59:50 INFO blockmanagement.BlockManager: shouldCheckForEnoughRacks = false
15/09/22 14:59:50 INFO blockmanagement.BlockManager: replicationRecheckInterval = 3000
15/09/22 14:59:50 INFO blockmanagement.BlockManager: encryptDataTransfer = false
15/09/22 14:59:50 INFO blockmanagement.BlockManager: maxNumBlocksToLog = 1000
15/09/22 14:59:50 INFO namenode.FSNamesystem: fsOwner = root (auth:SIMPLE)
15/09/22 14:59:50 INFO namenode.FSNamesystem: supergroup = supergroup
15/09/22 14:59:50 INFO namenode.FSNamesystem: isPermissionEnabled = true
15/09/22 14:59:50 INFO namenode.FSNamesystem: HA Enabled: false
15/09/22 14:59:50 INFO namenode.FSNamesystem: Append Enabled: true
15/09/22 14:59:50 INFO util.GSet: Computing capacity for map INodeMap
15/09/22 14:59:50 INFO util.GSet: VM type = 64-bit
15/09/22 14:59:50 INFO util.GSet: 1.0% max memory 966.7 MB = 9.7 MB
15/09/22 14:59:50 INFO util.GSet: capacity = 2^20 = 1048576 entries
15/09/22 14:59:50 INFO namenode.NameNode: Caching file names occuring more than 10 times
15/09/22 14:59:50 INFO util.GSet: Computing capacity for map cachedBlocks
15/09/22 14:59:50 INFO util.GSet: VM type = 64-bit
15/09/22 14:59:50 INFO util.GSet: 0.25% max memory 966.7 MB = 2.4 MB
15/09/22 14:59:50 INFO util.GSet: capacity = 2^18 = 262144 entries
15/09/22 14:59:50 INFO namenode.FSNamesystem: dfs.namenode.safemode.threshold-pct = 0.9990000128746033
15/09/22 14:59:50 INFO namenode.FSNamesystem: dfs.namenode.safemode.min.datanodes = 0
15/09/22 14:59:50 INFO namenode.FSNamesystem: dfs.namenode.safemode.extension = 30000
15/09/22 14:59:50 INFO metrics.TopMetrics: NNTop conf: dfs.namenode.top.window.num.buckets = 10
15/09/22 14:59:50 INFO metrics.TopMetrics: NNTop conf: dfs.namenode.top.num.users = 10
15/09/22 14:59:50 INFO metrics.TopMetrics: NNTop conf: dfs.namenode.top.windows.minutes = 1,5,25
15/09/22 14:59:50 INFO namenode.FSNamesystem: Retry cache on namenode is enabled
15/09/22 14:59:50 INFO namenode.FSNamesystem: Retry cache will use 0.03 of total heap and retry cache entry expiry time is 600000 millis
15/09/22 14:59:50 INFO util.GSet: Computing capacity for map NameNodeRetryCache
15/09/22 14:59:50 INFO util.GSet: VM type = 64-bit
15/09/22 14:59:50 INFO util.GSet: 0.029999999329447746% max memory 966.7 MB = 297.0 KB
15/09/22 14:59:50 INFO util.GSet: capacity = 2^15 = 32768 entries
15/09/22 14:59:50 INFO namenode.NNConf: ACLs enabled? false
15/09/22 14:59:50 INFO namenode.NNConf: XAttrs enabled? true
15/09/22 14:59:50 INFO namenode.NNConf: Maximum size of an xattr: 16384
15/09/22 14:59:51 INFO namenode.FSImage: Allocated new BlockPoolId: BP-314159059-192.168.1.3-1442905191056
15/09/22 14:59:51 INFO common.Storage: Storage directory /opt/cdh/hadoop/name has been successfully formatted.
15/09/22 14:59:51 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
15/09/22 14:59:51 INFO util.ExitUtil: Exiting with status 0
15/09/22 14:59:51 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at node2/192.168.1.3
************************************************************/
```
如果不報錯,則格式化成功。
然后分別啟動HDFS和Yarn:
```
sbin/start-dfs.sh
sbin/start-yarn.sh
```
啟動過程沒有錯誤則啟動成功。
### 驗證
- 使用jps可以查看相關進程
顯示如下:
```
nova@ubuntu208:~$ jps
7667 Jps
28532 DataNode
28742 SecondaryNameNode
29319 NodeManager
28376 NameNode
29018 ResourceManager
```
- 管理地址
yarn: [http://txy.quartz.ren:8088/cluster](http://txy.quartz.ren:8088/cluster)
hdfs狀態: [http://txy.quartz.ren:50070/dfshealth.html#tab-overview](http://txy.quartz.ren:50070/dfshealth.html#tab-overview)
- 在看的書和文章
- Java程序員手冊
- 思維方式
- 面向服務
- Dubbo
- StringBoot
- 001.應用部署
- 002.注解學習
- SpringCloud
- SpringCloud入門
- Dbs
- 分布式
- Ffp
- 多線程
- 多線程小知識
- Java鎖認識
- Netty
- Netty學習目錄
- 讀寫事件流程分析與相關API
- 數據
- 大數據學習
- 學習目錄
- Hadoop學習
- Hadoop組建安裝
- ssh配置免密登陸
- Hadoop偽集群模式
- HBase偽集群模式
- Hive安裝
- 常用操作命令
- 問題記錄
- DOLIST
- 學習資料
- Spark
- 一些概念介紹
- 數據庫
- Oracle相關
- 批量測試數據生成
- MySQL相關
- Redis
- 常用操作
- 機器學習
- 認識
- Kafka
- 監控
- 分布式相關
- RPC
- 中間件
- ElasticSearch
- ES環境搭建
- Python客戶端創建索引
- Es的api常用操作
- SQL查詢引擎
- Es數DB的數據同步
- ActiveMQ
- ActiveMQ介紹
- 分享
- Skyeye
- 組件安裝配置
- Dubbo服務Demo應用部署
- Kafka安裝配置
- RabbitMq配置
- Docker
- Docker學習文章
- Docker的大數據平臺之路
- Docker環境搭建
- ubuntu16安裝docker
- Docker鏡像加速
- 使用Docker快速搭建中間件
- Docker環境使用mysql
- Docker環境的中間件搭建匯總
- Docker鏡像容器管理
- Docker鏡像創建
- Docker創建可用的系統容器
- Kubernetes
- etcd安裝
- flanneld安裝
- kubernetes環境安裝
- kubernetes源碼編譯
- Linux相關
- Linux操作系統
- Deepin操作系統
- 新系統環境準備
- Linux系統小工具
- Linxu配置時間服務器同步
- DNS服務器dnsmasq
- Linux命令
- 常用命令
- 計算機基礎
- README
- 數據結構
- 面試題總結
- 計算機組層原理
- 計算機組層原理
- 其它語言
- Python
- Python環境搭建
- Python學習總結
- Python語法學習
- Python模塊學習
- MySQLdb
- scrapy
- Python的exception
- PythonNLP入門
- Go
- 工具組件
- Jenkins
- Jenkins認識
- Jenkins安裝配置
- Jenkins插件使用
- Jenkins項目常用配置
- Git
- Git使用說明
- NLP
- 入門級別
- 一些概念
- faiss介紹
- WMD介紹