写在前面

记录一下,一个简单的cloudera处理平台的构建过程和一些基本组件的使用

前置说明

需要一台安装有Docker的机器

docker常用命令:

docker ps
docker ps -a
docker images
docker rm 容器
docker rmi 镜像
docker stop 容器
docker build -t 镜像名 dockerfile的位置
docker run -d -p 5000:5000 镜像名
docker exec -it 容器名 bash
docker start 容器
docker restart 容器 从docker容器中向主机拷贝文件 docker cp containerID:container_path host_path
从主机复制到容器docker cp host_path containerID:container_path

启动cloudera

docker run --privileged=true -m 4096M --memory-swap -1 --hostname=quickstart.cloudera --name l-cloudera -p 8020:8020 -p 7180:7180 -p 21050:21050 -p 50070:50070 -p 50075:50075 -p 50010:50010 -p 50020:50020 -t -i -d cloudera/quickstart /usr/bin/docker-quickstart

新增8888 HUE的端口:
docker run --privileged=true -m 4096M --memory-swap -1 --hostname=quickstart.cloudera --name l-cloudera -p 8020:8020 -p 8888:8888 -p 7180:7180 -p 21050:21050 -p 50070:50070 -p 50075:50075 -p 50010:50010 -p 50020:50020 -t -i -d cloudera/quickstart /usr/bin/docker-quickstart 新增3306 mysql的端口:
docker run --privileged=true -m 4096M --memory-swap -1 --hostname=quickstart.cloudera --name lh -p 8020:8020 -p 3306:3306 -p 8888:8888 -p 7180:7180 -p 21050:21050 -p 50070:50070 -p 50075:50075 -p 50010:50010 -p 50020:50020 -t -i -d cloudera/quickstart /usr/bin/docker-quickstart 补:出现WARNING: IPv4 forwarding is disabled. Networking will not work. 错误
解决办法:
# vim /usr/lib/sysctl.d/00-system.conf
添加如下代码:
net.ipv4.ip_forward=1

这个时候假如你想登录HUE界面进行操作,可能你不知道账户密码,可以使用下面操作完成:

=======mysql忘记密码??==================

修改密码
windows修改的文件是my.ini
linux vim /etc/my.cnf
[mysqld]
skip-grant-tables
重启服务
service mysqld restart
mysql -u root 即可进入
update mysql.user set password=PASSWORD('新密码')where User='root';
flush privileges; 注意:修改完毕密码之后,就可以把之前的skip-grant-tables注释掉
而且需要重启mysqld服务 ==========mysql中修改hue数据库中的auth_user表====== 当你忘记hue的账号的密码的时候,你可以如下操作
登录hue内置的mysql数据库中,忘记mysql的root密码,详见上面操作即可
切换数据库到hue
use hue;
select username,password from auth_user; 方法一:这里你可以自己新建一个自己的用户
insert into auth_user(username,password) values('liuge',md5('123456')); 方法二:更新已有用户的密码的时候,使用MD5方式即可
update auth_user set password = md5('123456') where username = 'cloudera'; ***假如这个时候,还是不能登录,你可以在navicat中去修改新增liuge用户的权限和状态,直接操作表

接着:介绍一些简单的组件操作方式:

sqoop常用操作:常用于关系型数据库与HDFS/HIVE进行数据交换

输入用户密码进行查询
sqoop list-databases --connect jdbc:mysql://127.0.0.1:3306/ --username root -P sqoop eval --connect jdbc:mysql://127.0.0.1:3306/qizi --username root -P --query "select nickname from member limit 10" sqoop import --connect jdbc:mysql://127.0.0.1:3306/qizi --username root -P --table member --target-dir /sqoop-member --num-mappers 1 sqoop import --connect jdbc:mysql://127.0.0.1:3306/qizi --username root
--query "select nickname,mobile,salt from member where 1=1 AND \$CONDITIONS" --hbase-table hbase-member --hbase-create-table
--hbase-row-key nickname --split-by username --column-family cf 进入到hbase客户端模式
hbase shell
list 查看所有的表
scan '某张表'

hive常用操作:作为hadoop里面的数据仓库,写简单的HQL语句对数据进行分析

==创建表时候指定文件的位置==
drop table member;
create table member(id string,nickname string,mobile string ,sex int,
avataurl string,city string ,province string,salt string ,reg_ip string ,
status int , create_time string ,update_time string)
location '/sqoop-member'; ==创建表指明分隔符===
create table member(id string,nickname string,mobile string ,sex string,
avataurl string,city string ,province string,salt string ,reg_ip string ,
status string , create_time string ,update_time string)
row format delimited fields terminated by ',' location '/sqoop-member'; create table member(id string,nickname string,mobile string ,sex string,avataurl string,city string ,province string,salt string ,reg_ip string , status string , create_time string ,update_time string)row format delimited fields terminated by ',' location '/sqoop-member';

hbase常用操作:基于列式存储的数据库

./hbase shell 用于启动

status 查看集群的状态

list 查看现有的表

创建表
create 'FileTable','fileInfo','saveInfo' 查看表的描述信息
desc 'FileTable' 在已有的表上新增一个列簇
alter 'FileTable','cf' 在已有的表上删除一个列簇
alter 'FileTable',{NAME=>'cf',METHOD=>'delete'} 插入数据
Put +表名称+每一行的唯一标识+列簇:列标识+数据
put 'FileTable','rowkey1','fileInfo:name','liuge'
put 'FileTable','rowkey1','fileInfo:age','21'
put 'FileTable','rowkey1','fileInfo:address','重庆文理学院'
put 'FileTable','rowkey1','saveInfo:name','我是保存'
put 'FileTable','rowkey2','fileInfo:name','lh'
put 'FileTable','rowkey2','saveInfo:name','保存在Hbase中'
put 'FileTable','rowkey2','saveInfo:type','保存类型' 查看一共有多少行数据
count 'FileTable' 查询某一行ID的数据
get 'FileTable','rowke2'
查询整张表的数据
scan 'FileTable' 删除某一列数据
delete 'FileTable','rowkey1','fileInfo:address' 删除整行数据
deleteall 'FileTable','rowkey1' 删除表
1.禁用表 disable 'FileTable'
2.删除表 drop 'FileTable'

运行一个gitlab

docker 运行gitlab
docker search gitlab
拉取镜像
docker pull gitlab/gitlab-ce
运行
docker run --name gitlab-server -d -p 20022:22 -p 20080:80 --restart always gitlab/gitlab-ce
--volume /opt/gitlab/config:/etc/gitlab
--volume /opt/gitlab/logs:/var/log/gitlab
--volume /opt/gitlab/data:/var/opt/gitlab/
注释:   --name="nginx-lb":为容器指定一个名称;   -d:后台运行容器,并返回容器ID;   -p:指定映射端口号,本文是将ssh的22端口映射为10022端口,web访问的80端口映射为80端口   -volume: 用来指定挂载目录,将config配置目录、data数据目录、logs日志目录挂载到宿主机上,以后备份方便
配置gitlab服务器的访问地址及邮箱
当运行gitlab服务器后,会在映射目录/opt/gitlab/config/目录下生成一个配置文件gitlab.rb 修改配置文件之后,需要重新启动
gitlab-ctl reconfigure 访问:http://192.168.1.113:20080
初始化root账户密码:www.csy.com 登录进去
找到导航栏的工具图标 sudo EXTERNAL_URL =“http://gitlab.csylh.cn” yum install -y gitlab-e

运行一个jenkins

docker pull jenkins
启动:
docker run -itd -p 28080:8080 -p 50000:50000 --name ljenkins --privileged=true jenkins docker pull jenkins/jenkins
启动
docker run -itd -p 28080:8080 -p 50000:50000 --name ljenkins --privileged=true jenkins/jenkins -v /home/hzq/jenkins:/var/jenkins_home
-p 8080:8080 -p 50000:50000 进行端口映射
--privileged=true 在CentOS7中的安全模块selinux把权限禁掉了,参数给容器加特权。
-v /home/hzq/jenkins:/var/jenkins_home 磁盘挂载

在Docker中启动Cloudera的更多相关文章

  1. docker中启动2个mysql实列

    一.mac环境安装docker容器 在docker官网中下载docker容器,地址:https://www.docker.com/products/docker-desktop 具体安装教程及设置网络 ...

  2. docker中启动容器提示端口被占用

    docker中启动容器提示端口被占用,但是 docker ps -a 查不到信息 1.查询端口被占用的id netstat -ntpl |grep 3306 2.杀掉该id kill -9 如果kil ...

  3. devilbox(三):在docker中启动带密码的redis数据库

    背景概述: 之前是使用docker搭建了一套集成的开发环境devilbox,也说了这个环境可以自定义.其实搭建这个环境一是为了练习docker使用,二是搭建我们测试环境,主要用到各种数据库,然而安装教 ...

  4. docker中启动mysql报错

    [root@5416ec39653b init.d]# /etc/init.d/mysqld start /etc/init.d/mysqld: line 23: /etc/sysconfig/net ...

  5. docker中的命令参数(小白常用)

    1 docker run run是最常用的命令,他是docker creat和docker start命令的组合,创建容器并启动它.run的参数比较难理解的是-i 和-t 以及-d,分别说说这三个. ...

  6. springcloud 连接docker中运行的RabbitMQ消息中间件。

    参考:https://blog.51cto.com/zero01/2173288 主要是记录几个坑: 第一个坑:开始订单服务中配置文件是: #配置rabbitmq 2019.5.17 added by ...

  7. docker安装启动、配置MySql

    1.安装mysql镜像 docker pull mysql/mysql-server 2.docker中启动Mysql容器 docker run --name mysql01 -d -p 3306:3 ...

  8. docker中怎样设置开机启动--随容器的启动而启动服务?

    docker可以说给我们的部署带来极大的方便和可逢凶化吉性!(懂的同学自然懂) 在初步了解之后,我们就能简单使用docker了. 刚开始玩docker时,可以基于系统级别的镜像做定制,比如基于  ce ...

  9. 让docker中的mysql启动时自动执行sql文件

    本文提要 本文目的不仅仅是创建一个MySQL的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动MySQL服务接受外部连接,主要是通过Docker ...

随机推荐

  1. Spring数据库连接

    1.C3P0数据库连接 2.DBCP数据库连接 3.Druid数据库连接 C3P0数据库连接: 1.先到(http://www.mvnrepository.com/)Maven网址找到C3P0的数据源 ...

  2. CSS3-------弹簧特效

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. 剖析nsq消息队列(一) 简介及去中心化实现原理

    分布式消息队列nsq,简单易用,去中心化的设计使nsq更健壮,nsq充分利用了go语言的goroutine和channel来实现的消息处理,代码量也不大,读不了多久就没了.后期的文章我会把nsq的源码 ...

  4. Java集合框架之TreeMap浅析

    Java集合框架之TreeMap浅析 一.TreeMap综述: TreeMap在Map中的结构如下:

  5. poj 2828--Buy Tickets(线段树)

    Description Railway tickets were difficult to buy around the Lunar New Year in China, so we must get ...

  6. CF991C Candies 二分 第十五

    Candies time limit per test 1 second memory limit per test 256 megabytes input standard input output ...

  7. mysql 主主从配置

    配置主服务器:主服务器1 Ip:  192.168.0.1 主服务器2 Ip:  192.168.0.2 主服务器1配置 2.1.修改mysql配置文件 vim /etc/my.conf Server ...

  8. pandas数据分析输出excel产生文本形式存储的百分比数据,如何处理?

    关键词: python.pandas.to_excel.文本形式存储的数据 需求描述: 我用 python pandas 写了数据统计与分析脚本,并把计算结果用 pandas 的 to_excel() ...

  9. WEB应用中普通java代码如何读取资源文件

    首先: 资源文件分两种:后缀.xml文件和.properties文件 .xml文件:当数据之间有联系时用.xml .properties文件:当数据之间没有联系时用.properties 正题:   ...

  10. 单点登录(两种单点登录类型:SSO/CAS、相同一级域名的SSO)

    单点登录:SSO(Single Sign On) 什么是单点登录:大白话就是多个网站共享一个用户名和密码的技术,对于普通用户来说,只需要登录其中任意一个网站,登录其他网站的时候就能够自动登陆,不需要再 ...