您的位置:首页 > 大数据

hadoop 大数据学习常用命令

2017-12-18 19:24 295 查看
.每台服务器需要关闭防火墙

systemctl daemon-reload(masterJ节点)

systemctl stop firewalld

.删除文件夹

mkdir /opt/tmp

rm -fr /usr/hadoop/name

rm -fr /usr/hadoop/data

mkdir /usr/hadoop/name

mkdir /usr/hadoop/data

.格式化namenode

hdfs namenode -format

.启动hdfs

/usr/hadoop/sbin/start-dfs.sh

/usr/hadoop/sbin/start-yarn.sh

.停止hdfs

/usr/hadoop/sbin/stop-yarn.sh

/usr/hadoop/sbin/stop-dfs.sh

--cd /usr/hadoop/sbin

.关闭安全模式

hdfs dfsadmin -safemode leave (启动hadoop后,才能执行,msster节点运行即可)

sbin/hadoop-daemon.sh start secondarynamenode

.启动zookeeper

4.1 每台服务器启动zookeeper

/usr/zookeeper/bin/zkServer.sh start

cd /usr/zookeeper

4.2 所有服务器台机器分别启动后,查看状态

/usr/zookeeper/bin/zkServer.sh status

bin/zkServer.sh status 查看启动是否成功,三台机器会选择一台做为leader,另两台为follower

cd /usr/zookeeper

/usr/zookeeper/bin/zkServer.sh status

.启动hbase

start-hbase.sh,(因配置了环境变量,不需指定具体路径)(msster节点运行即可)

.启动spark

cd /usr/spark/sbin

./start-all.sh

.启动hive metastore

hive --service metastore,执行hive前一定要运行,重要,然后重新打开一个会话窗口

.登陆mysql

mysql -u root -p Mysql5718%

.强制删除文件夹

rm -fr /opt/spark

.修改hostname

[root@bogon ~]# hostname slave1

[root@bogon ~]# hostname slave2

[root@bogon ~]# hostname slave3

hive>set -v;

修改时间

date -s 14:24:00

6.查看日志

cat /usr/hadoop/logs/hadoop-root-datanode-slave1.log

7.mysql 密码 Mysql5718%

连接,mysql -u root -p

远程授权

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Mysql5718%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'master' IDENTIFIED BY '12345678' WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '12345678' WITH GRANT OPTION;

schematool -dbType mysql -initSchema

# reboot #重启主机

# shutdown -h now #立即关机

# poweroff

*********************************

重要文件

vi /etc/hosts

cd /etc/sysconfig

vi network

( vi /etc/sysconfig/network )

cd /usr/hadoop/etc/hadoop/

vi yarn-site.xml

vi hdfs-site.xml

vi core-site.xml

vi mapred-site.xml

******************************

1、查看mysql版本

方法一:status;

方法二:select version();

2、Mysql启动、停止、重启常用命令

service mysqld start

service mysqld stop

service mysqld restart

*********************************

远程拷贝

scp -r /usr/hadoop root@192.168.50.131:/usr/

*********************************

上传本地文件文件到hdfs

[root@master bin]# hadoop fs -put /usr/hadoop/file/file1.txt /usr/hadoop/input

hadoop fs -put /usr/spark/lib/spark-* /spark-jars

*********************************

调用java包,方法名,输入,输出

[root@master sbin]# hadoop jar /usr/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /input /output

*********************************

查看输出结果

[root@master sbin]# hadoop fs -cat /usr/hadoop/output1/*

hadoop fs -ls /spark-jars

hdfs dfs -ls /spark-jars

*********************************

编译spark

./dev/make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.7,parquet-provided,-Dscala-2.11" -rf :spark-mllib-local_2.11

./dev/make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.7,parquet-provided,-Dscala-2.11" -rf :spark-hive_2.11

./dev/make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.7,parquet-provided,-Dscala-2.11" -rf :spark-repl_2.11

*********************************

编译hive

mvn clean install -Phadoop-2,dist -DskinpTests -Dhadoop-23.version=2.7.1 -Dspark.version=2.0.3

mvn clean install -Phadoop-2,dist -DskinpTests

以下命令会生成 hive_code_source/packaging/target/apache-hive-2.1.1-bin.tar.gz

mvn clean package -Pdist -Dmaven.test.skip=true

*********************************

修改maven的conf文件夹下的settings.xml文件。

设置maven的本地仓库

<localRepository>/home/devil/maven_repos</localRepository>

mvn clean install -DskipTests -X

*********************************

产看hive,hbase 版本命令

hive --version

hbase shell

*****************************

拷贝文件不提示

yes|cp -fr /opt/hive211/conf/* /opt/hive2.1.1/conf

cp /usr/spark/jars/scala-* /opt/hive2.1.1/lib

***************

spark-shell

cd /usr/spark/bin

**************

netstat -tunlp|grep 4040

netstat -tunlp|grep java

*****************

./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client lib/spark-examples-1.6.3-hadoop2.4.0.jar 10

*****************************

通过 ps 指令获得指定进程名称的 pid

2013/04/12 BY 虚伪的灵魂·

通过 ps 指令获得制定进程名称的 pid 步骤如下:

1. 打印出全部进程的, 进程名称以及pid

ps -ef

大概会得到类似如下结果:

UID PID PPID C STIME TTY TIME CMD

root 1 0 0 09:01 ? 00:00:00 /sbin/init

root 2 0 0 09:01 ? 00:00:00 [kthreadd]

root 3 2 0 09:01 ? 00:00:00 [ksoftirqd/0]

root 5 2 0 09:01 ? 00:00:00 [kworker/u:0]

root 6 2 0 09:01 ? 00:00:00 [migration/0]

root 7 2 0 09:01 ? 00:00:00 [watchdog/0]

root 8 2 0 09:01 ? 00:00:00 [migration/1]

root 10 2 0 09:01 ? 00:00:00 [ksoftirqd/1]

root 12 2 0 09:01 ? 00:00:00 [watchdog/1]

2. 过滤出指定的进程名称

ps -ef | grep mysqld

大概会得到类似如下结果:

mysql 841 1 0 09:01 ? 00:00:02 /usr/sbin/mysqld

xwsoul 4532 4205 0 11:16 pts/0 00:00:00 grep --color=auto mysqld

3. 这样就会多出一行我们刚刚的 grep mysqld 的结果, 因此我们要忽略该指令

ps -ef | grep mysqld | grep -v 'grep '

大概会得到类似如下的结果:

mysql 841 1 0 09:01 ? 00:00:02 /usr/sbin/mysqld

4. 使用 awk 打印出pid号

ps -ef | grep mysqld | grep -v 'grep ' | awk '{print $2}'

大概会得到类似如下的结果:

841

同样的如果像获得进程的父进程号(ppid), 可按如下操作:

ps -ef | grep mysqld | grep -v 'grep ' | awk '{print $3}'

****************************

hive2.1.1,spark2.0.2 搭建

1) spark

#组件:mvn-3.3.9 jdk-1.8

#wget http://mirror.bit.edu.cn/apache/spark/spark-2.0.2/spark-2.0.2.tgz ---下载源码 (如果是Hive on spark---hive2.1.1对应spark1.6.0)

#tar zxvf spark-2.0.2.tgz ---解压

#cd spark-2.0.2/dev

##修改make-distribution.sh的MVN路径为$M2_HOME/bin/mvn ---查看并安装pom.xml的mvn版本

##cd .. ---切换到spark-2.0.2

#./dev/change-scala-version.sh 2.11 ---更改scala版本(低于11不需要此步骤)

#./dev/make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.7,parquet-provided" ---生成在根目录下

2) hive

wget http://mirror.bit.edu.cn/apache/hive/hive-2.3.2/apache-hive-2.3.2-src.tar.gz
tar -zxf apache-hive-2.1.1-src.tar.gz

mv apache-hive-2.1.1-src.tar.gz hive2_1_1

cd /opt/hive2_1_1

编译hive

mvn clean package -Pdist -Dmaven.test.skip=true

**************************

hadoop 常用命令

1、查看指定目录下内容:hadoop fs –ls [文件目录]

[root@cdh01 tmp]# hadoop fs -ls -h /tmp

Found 2 items

drwxrwxrwx - hdfs supergroup 0 2016-01-21 10:24 /tmp/.cloudera_health_monitoring_canary_files

drwx-wx-wx - hive supergroup 0 2016-01-21 10:02 /tmp/hive

[root@cdh01 tmp]# hadoop fs -ls -h /

Found 2 items

drwxrwxrwx - hdfs supergroup 0 2016-01-21 10:02 /tmp

drwxrwxr-x - hdfs supergroup 0 2016-01-21 10:01 /user

2、将本地文件夹存储至hadoop上:hadoop fs –put [本地目录] [hadoop目录]

[root@cdh01 /]# mkdir test_put_dir #创建目录

[root@cdh01 /]# chown hdfs:hadoop test_put_dir #赋目录权限给hadoop用户

[root@cdh01 /]# su hdfs #切换到hadoop用户

[hdfs@cdh01 /]$ ls

bin boot dev dfs dfs_bak etc home lib lib64 lost+found media misc mnt net opt proc root sbin selinux srv sys test_put_dir tmp usr var wawa.txt wbwb.txt wyp.txt

[hdfs@cdh01 /]$ hadoop fs -put test_put_dir /

[hdfs@cdh01 /]$ hadoop fs -ls /

Found 4 items

drwxr-xr-x - hdfs supergroup 0 2016-01-21 11:07 /hff

drwxr-xr-x - hdfs supergroup 0 2016-01-21 15:25 /test_put_dir

drwxrwxrwt - hdfs supergroup 0 2016-01-21 10:39 /tmp

drwxr-xr-x - hdfs supergroup 0 2016-01-21 10:39 /user

3、在hadoop指定目录内创建新目录:hadoop fs –mkdir [目录地址]

[root@cdh01 /]# su hdfs

[hdfs@cdh01 /]$ hadoop fs -mkdir /hff

4、在hadoop指定目录下新建一个空文件,使用touchz命令:

[hdfs@cdh01 /]$ hadoop fs -touchz /test_put_dir/test_new_file.txt

[hdfs@cdh01 /]$ hadoop fs -ls /test_put_dir

Found 1 items

-rw-r--r-- 3 hdfs supergroup 0 2016-01-21 15:29 /test_put_dir/test_new_file.txt

5、将本地文件存储至hadoop上:hadoop fs –put [本地地址] [hadoop目录]

[hdfs@cdh01 /]$ hadoop fs -put wyp.txt /hff #直接目录

[hdfs@cdh01 /]$ hadoop fs -put wyp.txt hdfs://cdh01.cap.com:8020/hff #服务器目录

注:文件wyp.txt放在/根目录下,结构如:

bin dfs_bak lib64 mnt root sys var

boot etc lost+found net sbin test_put_dir wawa2.txt

dev home media opt selinux tmp wbwb.txt

dfs lib misc proc srv usr wyp.txt

6、打开某个已存在文件:hadoop fs –cat [file_path]

[hdfs@cdh01 /]$ hadoop fs -cat /hff/wawa.txt

1 张三 男 135

2 刘丽 女 235

3 王五 男 335

7、将hadoop上某个文件重命名hadoop fs –mv [旧文件名] [新文件名]

[hdfs@cdh01 /]$ hadoop fs -mv /tmp /tmp_bak #修改文件夹名

8、将hadoop上某个文件down至本地已有目录下:hadoop fs -get [文件目录] [本地目录]

[hdfs@cdh01 /]$ hadoop fs -get /hff/wawa.txt /test_put_dir

[hdfs@cdh01 /]$ ls -l /test_put_dir/

total 4

-rw-r--r-- 1 hdfs hdfs 42 Jan 21 15:39 wawa.txt

9、删除hadoop上指定文件:hadoop fs -rm [文件地址]

[hdfs@cdh01 /]$ hadoop fs -ls /test_put_dir/

Found 2 items

-rw-r--r-- 3 hdfs supergroup 0 2016-01-21 15:41 /test_put_dir/new2.txt

-rw-r--r-- 3 hdfs supergroup 0 2016-01-21 15:29 /test_put_dir/test_new_file.txt

[hdfs@cdh01 /]$ hadoop fs -rm /test_put_dir/new2.txt

16/01/21 15:42:24 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 1440 minutes, Emptier interval = 0 minutes.

Moved: 'hdfs://cdh01.cap.com:8020/test_put_dir/new2.txt' to trash at: hdfs://cdh01.cap.com:8020/user/hdfs/.Trash/Current

[hdfs@cdh01 /]$ hadoop fs -ls /test_put_dir/

Found 1 items

-rw-r--r-- 3 hdfs supergroup 0 2016-01-21 15:29 /test_put_dir/test_new_file.txt

10、删除hadoop上指定文件夹(包含子目录等):hadoop fs –rm -r [目录地址]

[hdfs@cdh01 /]$ hadoop fs -rmr /test_put_dir

16/01/21 15:50:59 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 1440 minutes, Emptier interval = 0 minutes.

Moved: 'hdfs://cdh01.cap.com:8020/test_put_dir' to trash at: hdfs://cdh01.cap.com:8020/user/hdfs/.Trash/Current

[hdfs@cdh01 /]$ hadoop fs -ls /

Found 3 items

drwxr-xr-x - hdfs supergroup 0 2016-01-21 11:07 /hff

drwxrwxrwt - hdfs supergroup 0 2016-01-21 10:39 /tmp

drwxr-xr-x - hdfs supergroup 0 2016-01-21 15:42 /user

11、将hadoop指定目录下所有内容保存为一个文件,同时down至本地

hadoop dfs –getmerge /user /home/t

12、将正在运行的hadoop作业kill掉

hadoop job –kill [job-id]

13 sqoop 数据从oracle迁移到hdfs

sqoop list-tables --connect jdbc:oracle:thin:@192.168.78.221:1521:orcl --username scott --password=123456

sqoop list-tables --connect jdbc:oracle:thin:@192.168.90.122:1521:xdc --username pdca --password=XXXXXX

sqoop import --connect jdbc:oracle:thin:@192.168.78.221:1521:orcl --username scott --password=123456 --table EMP -m 1 --target-dir /sqoop --direct-split-size 67108864

sqoop import -m 1 --connect jdbc:mysql://master:3306/mysql --username root --password Mysql5718% --table user --target-dir /user/hdfs/testdata/

./sqoop import --connect jdbc:mysql://master:3306/hive --table TBLS --username root --password Mysql5718% -m 1

sqoop import --append --connect jdbc:oracle:thin:@192.168.78.221:1521:orcl --username scott --password=123456 --table EMP --columns ename --hbase-table hive_hbase_test9 --hbase-row-key id --column-family empinfo

sqoop import --connect jdbc:oracle:thin:@192.168.78.221:1521:orcl --username scott --password=123456 --table EMP --warehouse-dir /user/nanyue/oracletest -m 1

sqoop import --hive-import --connect jdbc:oracle:thin:@192.168.78.221:1521:orcl --username scott --password 123456 --table EMP --hive-database default --hive-table poke1 -m 1

sqoop import --hive-import --connect jdbc:oracle:thin:@192.168.90.122:1521:xdc --username pdca --password XXXXXX--table PDCA_PROJECT_T --hive-database default --hive-table poke1 -m 1

sqoop import --connect jdbc:oracle:thin:@192.168.90.122:1521:xdc --username pdca --password XXXXX --table PDCA_AAB_LOOKUP_T --fields-terminated-by '\t' --hive-drop-import-delims --map-column-java CONTENT=String --hive-import --hive-overwrite --create-hive-table
--hive-table poke1 --delete-target-dir;

sqoop import --connect jdbc:oracle:thin:@10.3.60.123:1521:xdc --username pdca --password xxxxxx--hive-import -table poke1;

sqoop import --hive-import --connect jdbc:oracle:thin:@10.3.60.123:1521:xdc --username pdca --password xxxxxx--table PDCA_MES_LINE_T --hive-database default --hive-table poke1 -m 1

--导入所有表

sqoop import-all-tables --connect jdbc:oracle:thin:@10.3.60.123:1521:xdc --username PDCA --password xxxxxx--hive-database DEFAULT -m 1 --create-hive-table --hive-import --hive-overwrite

--导入单个表

sqoop import --hive-import --connect jdbc:oracle:thin:@10.3.60.123:1521:xdc --username pdca --password xxxxxx--table PDCA_MES_LINE_T --hive-database default -m 1 --create-hive-table --hive-import --hive-overwrite

--指定字段,单独输入密码

sqoop import --connect jdbc:oracle:thin:@10.3.60.123:1521:xdc --username pdca --P --table PDCA_MES_LINE_T --columns 'MES_LINE_CODE,MES_LINE_NAME' --create-hive-table -target-dir /opt/hive2.1.1//tmp -m 1 --hive-table PDCA_MES_LINE_T_Test --hive-import -- --default-character-set=utf-8

--指定字段,不单独指定密码

sqoop import --connect jdbc:oracle:thin:@10.3.60.123:1521:xdc --username pdca --password xxxxxx--table PDCA_MES_LINE_T --columns 'MES_LINE_CODE,MES_LINE_NAME' --create-hive-table -target-dir /opt/hive2.1.1//tmp -m 1 --hive-table PDCA_MES_LINE_T_Test1 --hive-import
-- --default-character-set=utf-8

***************************************

导入hbase

sqoop import --connect jdbc:oracle:thin:@10.3.60.123:1521:xdc --table PDCA_MES_LINE_T --hbase-table A --column-family mesline --hbase-row-key MES_LINE_CODE --hbase-create-table --username 'pdca' -P

****************************

查看hive 表在hdfs上的存储路径

1、执行hive,进入hive窗口

2、执行show databases,查看所有的database;

3、执行use origin_ennenergy_onecard; 则使用origin_ennenergy_onecard数据库

4、执行show create table M_BD_T_GAS_ORDER_INFO_H;则可以查看table在hdfs上的存储路径

*****************************

查看端口号绑定状态

查看10000端口号的绑定状态

sudo netstat -nplt | grep 10000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: