[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简介