# hadoop-learning
**Repository Path**: frinder/hadoop-learning
## Basic Information
- **Project Name**: hadoop-learning
- **Description**: 学习hadoop了
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2018-06-16
- **Last Updated**: 2022-01-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# hadoop-learning
#### 项目介绍
学习hadoop了
---
### docker集群搭建(未完成)
#### hadoop环境搭建参照
> `http://dockone.io/article/395`
> `https://kiwenlau.com/2016/06/12/160612-hadoop-cluster-docker-update/`
> `https://github.com/kiwenlau/hadoop-cluster-docker`
##### 查看 hdfs
```
root@hadoop-master:~# hdfs getconf -confKey fs.defaultFS
hdfs://hadoop-master:9000/
```
---
### CentOS单机安装
>参照:`https://www.yiibai.com/hadoop/`
#### 配置ssh
>参照:`https://blog.csdn.net/liaoguolingxian/article/details/70233910`
#### 下载 & 安装 hadoop
>下载:`http://www-eu.apache.org/dist/hadoop/common/hadoop-2.8.4/hadoop-2.8.4.tar.gz`
> 安装:`tar -xzvf hadoop-2.8.4.tar.gz -C /usr/local/hadoop`
> 配置环境变量:
````
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
````
> 修改`/etc/hosts`,添加映射
```
192.168.1.199 master
```
> `192.168.1.199` 为本机IP,`master` 为映射名,可随意指定
#### hadoop配置文件
> 目录 `hadoop/etc`
- `core-site.xml`
```
fs.default.name
hdfs://master:9000
```
- `hdfs-site.xml`
```
dfs.replication
1
dfs.name.dir
file:///home/docker/hadoop/hdfs/namenode
dfs.data.dir
file:///home/docker/hadoop/hdfs/datanode
```
- `yarn-site.xml`
```
yarn.nodemanager.aux-services
mapreduce_shuffle
```
- `mapred-site.xml`
```
mapreduce.framework.name
yarn
```
#### 启动hadoop
- 修改 home/docker/hadoop/hdfs 权限
`chmod 777 -R home/docker/hadoop/hdfs`
- 格式化hadoop
`hdfs namenode -format`
- 启动
`hadoop/sbin/start-all.sh`
#### 一些命令
> 查看文件列表
`hadoop fs -ls /`
> 创建目录
`hadoop fs -mkdir -p /user/input`
> 上传文件
`hadoop fs -put file.txt /user/input`
> 查看文件内容
`hadoop fs -cat /user/input/file.txt`
> 下载文件
`hadoop fs -get /user/input/ tmp`
> 打开/关闭 hadoop 调试日志
```
export HADOOP_ROOT_LOGGER=DEBUG,console
export HADOOP_ROOT_LOGGER=INFO,console
```
### 安装 HBase
1. 下载:`http://archive.apache.org/dist/hbase/2.0.0/hbase-2.0.0-bin.tar.gz`
2. 解压:`tar -xzvf hbase-2.0.0-bin.tar.gz`
3. 移动:`mv hbase-2.0.0 /usr/local/hbase`
4. (~~弃用,安装hadoop已指定~~)配置映射:参照:`https://blog.csdn.net/qq_31570685/article/details/51757604`
- `/etc/hosts`中添加映射
```
192.168.1.199 master
```
> `192.168.1.199` 为本机IP,`master` 为映射名,可随意指定
5. (~~弃用,经测试,不指定也可以~~)修改静态IP
- 使用 `ifconfig` 查看本机使用 IP 配置
- `cd /etc/sysconfig/network-scripts`,`ls` 找到IP配置
- 修改 `DEVICE=master` 保存,退出
6. 添加环境变量:
```
export HBASE_HOME=/usr/local/hbase
```
7. 修改HBase配置
- `hbase-env.sh`
```
export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64
export HBASE_MANAGES_ZK=true
```
- `hbase-site.xml`
```
hbase.rootdir
hdfs://192.168.1.199:9000/hbase
hbase.cluster.distributed
true
hbase.zookeeper.quorum
master
hbase.zookeeper.property.dataDir
/home/docker/hadoop/hbase/zk/data
hbase.tmp.dir
/home/docker/hadoop/hbase/tmp
```
8. 启动之
`/usr/local/hbase/start-hbase.sh`
9. 关闭之
- `/usr/local/hbase/start-hbase.sh`
> 此命令偶尔会出现长时间阻塞无法关闭的现象,则可使用下面命令关闭
- 使用 `ls -1 /tmp |grep hbase-`查看`/tmp`下所有`hbase`相关的文件,找出`*.pid`后缀的文件执行下面指令:
```
cat /tmp/hbase-user-zookeeper.pid |xargs kill -9
cat /tmp/hbase-user-master.pid |xargs kill -9
cat /tmp/hbase-user-1-regionserver.pid |xargs kill -9
```