[TOC]
# 下載
官網下載鏈接:http://mirror.bit.edu.cn/apache/hadoop/common/
# 修改配置文件
修改`/etc/hosts `
增加本機ip和用戶名的映射
1. hadoop-env.sh
~~~
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
~~~
2. workers
~~~
localhost
~~~
3. mapred-site.xml
~~~
<!--指定mr運行在yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
~~~
4. core-site.xml
~~~
<!-- 指定hadoop所使用的文件系統schema(URI),HDFS老大(NameNode)的地址 -->
<property>
<name>fs.default.name</name>
<!-- //注意這個得localhost為wokers里面設置的,沒有修改就寫localhost -->
<value>hdfs://localhost:8020</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/etc/hadoopdata/dfs/name</value>
</property>
<property>
<name>dfs.namenode.data.dir</name>
<value>/usr/local/etc/hadoopdata/dfs/data</value>
</property>
~~~
5. yarn-site.yml
~~~
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
~~~
6. hdfs-site.xml
~~~
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/etc/hadoopdata/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/etc/hadoopdata/data</value>
</property>
<!-- <property>
<name>dfs.namenode.http-address</name>
<value>jdxia:9870</value>
</property> -->
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
~~~
# 格式化hdfs
~~~
hadoop namenode -format
~~~
# httpFS配置
httpfs是什么?
~~~
參考:http://debugo.com/hdfs-httpfs/
官網:http://hadoop.apache.org/docs/r2.5.2/hadoop-hdfs-httpfs/ServerSetup.html
http://hadoop.apache.org/docs/r2.5.2/hadoop-hdfs-httpfs/index.html
~~~
httpfs是通過http協議來訪問hdfs,自帶tomcat容器,在hadoop的 share/hadoop/httpfs/tomcat目錄下。
HttpFS是提供REST HTTP接口的服務器,可以支持全部HDFS文件系統操作(讀和寫),它通過webhdfs REST HTTP API來進行交互。這個功能由cloudera提供給Apache主分支。
HttpFS可以用于在不同的Hadoop版本間傳輸數據(避免了RPC版本問題),例如使用Hadoop DistCP。
HTTP可以用于訪問防火墻內的HDFS集群數據(HttpFS可以作為一個網關角色,是唯一可以穿過防火墻訪問內部集群數據的系統)。
HttpFS可以通過HTTP工具(比如curl和wget)和各種編程語言的HTTP包(不局限Java)來訪問數據。
webhdfs 客戶端文件系統實現可以使用HDFS文件系統命令行命令(如hadoop dfs)以及使用HDFS Java API來訪問HttpFS。
HttpFS內置安全特性支持Hadoop偽身份驗證和HTTP SPNEGO Kerberos 和其他插件式(pluggable )驗證機制。它還提供了Hadoop代理用戶的支持
httpfs相關的配置文件:
~~~
etc/hadoop/httpfs-env.sh
etc/hadoop/httpfs-log4j.properties
etc/hadoop/httpfs-site.xml
libexec/httpfs-config.sh
sbin/httpfs.sh
~~~
~~~
httpfs-signature.secret 將文件內容刪除,置為空。
httpfs-site.xml 不需修改;
hadoop-env.sh 設置hadoop環境變量;
httpfs-config.sh 可設置httpfs進程的pid文件的地址
if [ "${CATALINA_PID}" = "" ]; then
export CATALINA_PID=/tmp/httpfs.pid
print "Setting CATALINA_PID: ${CATALINA_PID}"
else
print "Using CATALINA_PID: ${CATALINA_PID}"
fi
httpfs-env.sh 設置java_home 變量
export HTTPFS_LOG=/home/yoyo//yoyo_hdfs_httpfs/logs 日志路徑;
export HTTPFS_TEMP=/home/yoyo/yoyo_hdfs_httpfs/temp tmp文件路徑
export HTTPFS_HTTP_PORT=14000 端口號
~~~
core-site.xml,添加如下
~~~
<property>
<name>hadoop.proxyuser.jdxia.hosts</name>
<value>*</value>
<description>第二個hadoop是啟動httpfs的用戶名</description>
</property>
<property>
<name>hadoop.proxyuser.staff.groups</name>
<value>*</value>
<description>第二個hadoop是啟動httpfs的用戶組名</description>
</property>
~~~
注意:`hadoop.proxyuser.{hadoop}.hosts`第二個是啟動httpfs的用戶名
如果是需要配置用戶代理,需要在httpfs-site.xml中添加。
到此配置完畢,啟動httpfs,進入hadoop sbin下,運行
~~~
httpfs.sh start
~~~
啟動成功后jps會多一個Bootstrap 進程。
驗證
`http://localhost:14000/webhdfs/v1?op=LISTSTATUS&user.name=jdxia 啟動httpfs,在web瀏覽器訪問查看頁面是否有數據.`
上傳數據:
`curl -i -X PUT -T ./httpfs-localhost.2017-10-26.log "http://localhost:14000/webhdfs/v1/text.txt?op=CREATE&data=true&user.name=jdxia" -H "Content-Type:application/octet-stream"`
查看數據:
`curl -i -X GET "http://localhost:14000/webhdfs/v1/text.txt?op=OPEN&user.name=jdxia"`
- linux
- 常用命令
- 高級文本命令
- 面試題
- redis
- String
- list
- hash
- set
- sortedSet
- 案例-推薦
- java高級特性
- 多線程
- 實現線程的三種方式
- 同步關鍵詞
- 讀寫鎖
- 鎖的相關概念
- 多線程的join
- 有三個線程T1 T2 T3,保證順序執行
- java五種線程池
- 守護線程與普通線程
- ThreadLocal
- BlockingQueue消息隊列
- JMS
- 反射
- volatile
- jvm
- IO
- nio
- netty
- netty簡介
- 案例一發送字符串
- 案例二發送對象
- 輕量級RPC開發
- 簡介
- spring(IOC/AOP)
- spring初始化順序
- 通過ApplicationContextAware加載Spring上下文
- InitializingBean的作用
- 結論
- 自定義注解
- zk在框架中的應用
- hadoop
- 簡介
- hadoop集群搭建
- hadoop單機安裝
- HDFS簡介
- hdfs基本操作
- hdfs環境搭建
- 常見問題匯總
- hdfs客戶端操作
- mapreduce工作機制
- 案列-單詞統計
- 局部聚合Combiner
- 案列-流量統計(分區,排序,比較)
- 案列-倒排索引
- 案例-共同好友
- 案列-join算法實現
- 案例-求topN(分組)
- 自定義inputFormat
- 自定義outputFormat
- 框架運算全流程
- mapreduce的優化方案
- HA機制
- Hive
- 安裝
- DDL操作
- 創建表
- 修改表
- DML操作
- Load
- insert
- select
- join操作
- 嚴格模式
- 數據類型
- shell參數
- 函數
- 內置運算符
- 內置函數
- 自定義函數
- Transform實現
- 特殊分割符處理
- 案例
- 級聯求和accumulate
- flume
- 簡介
- 安裝
- 常用的組件
- 攔截器
- 案例
- 采集目錄到HDFS
- 采集文件到HDFS
- 多個agent串聯
- 日志采集和匯總
- 自定義攔截器
- 高可用配置
- 使用注意
- sqoop
- 安裝
- 數據導入
- 導入數據到HDFS
- 導入關系表到HIVE
- 導入表數據子集
- 增量導入
- 數據導出
- 作業
- 原理
- azkaban
- 簡介
- 安裝
- 案例
- 簡介
- command類型單一job
- command類型多job工作流flow
- HDFS操作任務
- mapreduce任務
- hive腳本任務
- hbase
- 簡介
- 安裝
- 命令行
- 基本CURD
- 過濾器查詢
- 系統架構
- 物理存儲
- 尋址機制
- 讀寫過程
- Region管理
- master工作機制
- 建表高級屬性
- 與mapreduce結合
- 協處理器
- 點擊流平臺開發
- 簡介
- storm
- 簡介
- 安裝
- 集群啟動及任務過程分析
- 單詞統計
- 并行度
- ACK容錯機制
- ACK簡介