在Docker中啟動(dòng)Cloudera

寫在前面

記錄一下,一個(gè)簡(jiǎn)單的cloudera處理平臺(tái)的構(gòu)建過(guò)程和一些基本組件的使用

前置說(shuō)明

需要一臺(tái)安裝有Docker的機(jī)器
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容器中向主機(jī)拷貝文件 docker cp containerID:container_path host_path
從主機(jī)復(fù)制到容器docker cp host_path containerID:container_path

啟動(dòng)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

補(bǔ):出現(xiàn)WARNING: IPv4 forwarding is disabled. Networking will not work.  錯(cuò)誤
解決辦法:
# vim  /usr/lib/sysctl.d/00-system.conf
添加如下代碼:
net.ipv4.ip_forward=1

這個(gè)時(shí)候假如你想登錄HUE界面進(jìn)行操作,可能你不知道賬戶密碼,可以使用下面操作完成:

=======mysql忘記密碼??==================

修改密碼
    windows修改的文件是my.ini
    linux vim /etc/my.cnf
[mysqld]
skip-grant-tables 
重啟服務(wù)
service mysqld restart
mysql -u root 即可進(jìn)入
update mysql.user set password=PASSWORD('新密碼')where User='root';
flush privileges;

注意:修改完畢密碼之后,就可以把之前的skip-grant-tables注釋掉
而且需要重啟mysqld服務(wù)

==========mysql中修改hue數(shù)據(jù)庫(kù)中的auth_user表======

當(dāng)你忘記hue的賬號(hào)的密碼的時(shí)候,你可以如下操作
登錄hue內(nèi)置的mysql數(shù)據(jù)庫(kù)中,忘記mysql的root密碼,詳見上面操作即可
切換數(shù)據(jù)庫(kù)到hue
use hue;
select username,password from auth_user;

方法一:這里你可以自己新建一個(gè)自己的用戶
insert into auth_user(username,password) values('liuge',md5('123456'));

方法二:更新已有用戶的密碼的時(shí)候,使用MD5方式即可
update auth_user set password = md5('123456') where username = 'cloudera';

***假如這個(gè)時(shí)候,還是不能登錄,你可以在navicat中去修改新增liuge用戶的權(quán)限和狀態(tài),直接操作表

接著:介紹一些簡(jiǎn)單的組件操作方式:

sqoop常用操作:常用于關(guān)系型數(shù)據(jù)庫(kù)與HDFS/HIVE進(jìn)行數(shù)據(jù)交換

輸入用戶密碼進(jìn)行查詢
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 

進(jìn)入到hbase客戶端模式
hbase shell
list 查看所有的表
scan '某張表'

hive常用操作:作為hadoop里面的數(shù)據(jù)倉(cāng)庫(kù),寫簡(jiǎn)單的HQL語(yǔ)句對(duì)數(shù)據(jù)進(jìn)行分析

==創(chuàng)建表時(shí)候指定文件的位置==
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';

==創(chuàng)建表指明分隔符===
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常用操作:基于列式存儲(chǔ)的數(shù)據(jù)庫(kù)

./hbase shell 用于啟動(dòng)

status 查看集群的狀態(tài)

list 查看現(xiàn)有的表

創(chuàng)建表
create 'FileTable','fileInfo','saveInfo'

查看表的描述信息
desc 'FileTable'

在已有的表上新增一個(gè)列簇
alter 'FileTable','cf'

在已有的表上刪除一個(gè)列簇
alter 'FileTable',{NAME=>'cf',METHOD=>'delete'}

插入數(shù)據(jù)
Put +表名稱+每一行的唯一標(biāo)識(shí)+列簇:列標(biāo)識(shí)+數(shù)據(jù)
put 'FileTable','rowkey1','fileInfo:name','liuge'
put 'FileTable','rowkey1','fileInfo:age','21'
put 'FileTable','rowkey1','fileInfo:address','重慶文理學(xué)院'
put 'FileTable','rowkey1','saveInfo:name','我是保存'
put 'FileTable','rowkey2','fileInfo:name','lh'
put 'FileTable','rowkey2','saveInfo:name','保存在Hbase中'
put 'FileTable','rowkey2','saveInfo:type','保存類型'

查看一共有多少行數(shù)據(jù)
count 'FileTable'

查詢某一行ID的數(shù)據(jù)
get 'FileTable','rowke2'
查詢整張表的數(shù)據(jù)
scan 'FileTable'

刪除某一列數(shù)據(jù)
delete 'FileTable','rowkey1','fileInfo:address'

刪除整行數(shù)據(jù)
deleteall 'FileTable','rowkey1'

刪除表
1.禁用表 disable 'FileTable'
2.刪除表 drop 'FileTable'

運(yùn)行一個(gè)gitlab

docker 運(yùn)行g(shù)itlab
docker search gitlab
拉取鏡像
docker pull gitlab/gitlab-ce
運(yùn)行
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":為容器指定一個(gè)名稱;

  -d:后臺(tái)運(yùn)行容器,并返回容器ID;

  -p:指定映射端口號(hào),本文是將ssh的22端口映射為10022端口,web訪問(wèn)的80端口映射為80端口

  -volume: 用來(lái)指定掛載目錄,將config配置目錄、data數(shù)據(jù)目錄、logs日志目錄掛載到宿主機(jī)上,以后備份方便
配置gitlab服務(wù)器的訪問(wèn)地址及郵箱
當(dāng)運(yùn)行g(shù)itlab服務(wù)器后,會(huì)在映射目錄/opt/gitlab/config/目錄下生成一個(gè)配置文件gitlab.rb

修改配置文件之后,需要重新啟動(dòng)
gitlab-ctl reconfigure

訪問(wèn):http://192.168.1.113:20080
初始化root賬戶密碼:www.csy.com

登錄進(jìn)去
找到導(dǎo)航欄的工具圖標(biāo)

sudo EXTERNAL_URL =“http://gitlab.csylh.cn” yum install -y gitlab-e

運(yùn)行一個(gè)jenkins

docker pull jenkins
啟動(dòng):
docker run -itd -p 28080:8080 -p 50000:50000 --name ljenkins --privileged=true jenkins

docker pull jenkins/jenkins
啟動(dòng)
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 進(jìn)行端口映射
--privileged=true 在CentOS7中的安全模塊selinux把權(quán)限禁掉了,參數(shù)給容器加特權(quán)。
-v /home/hzq/jenkins:/var/jenkins_home 磁盤掛載
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言: Hadoop的課程已經(jīng)告一段落,基本上在零基礎(chǔ)課程里不會(huì)再出現(xiàn)了,接下來(lái)的課程由若總來(lái)上,第一講Have。...
    ly稻草閱讀 4,332評(píng)論 1 9
  • http://geek.csdn.net/news/detail/210469http://www.36dsj.c...
    Albert陳凱閱讀 5,622評(píng)論 1 21
  • 課程一、大數(shù)據(jù)運(yùn)維之Linux基礎(chǔ)本部分是基礎(chǔ)課程,幫大家進(jìn)入大數(shù)據(jù)領(lǐng)域打好Linux基礎(chǔ),以便更好地學(xué)習(xí)Hado...
    101之歌閱讀 1,625評(píng)論 0 2
  • 本文對(duì)hadoop生態(tài)圈技術(shù)做一個(gè)概要的介紹,文章中的前半部分的信息大多來(lái)自于網(wǎng)絡(luò),這里只是按照自己的學(xué)習(xí)思路整理...
    我是老薛閱讀 16,043評(píng)論 0 5
  • 上次我們加講到高平之戰(zhàn),柴榮他們被困在太原,此時(shí),柴榮打算帶著為數(shù)不多的人充到前線,這場(chǎng)有個(gè)故事和拿破侖的滑鐵盧之...
    小熙s閱讀 864評(píng)論 0 2

友情鏈接更多精彩內(nèi)容