大数据处理学习笔记

news2024/10/6 12:30:59
sudo tar -zxvf  hadoop-1.1.2.tar.gz -C /    #解压到/usr/local目录下
sudo mv  hadoop-1.1.2  hadoop                      #重命名为hadoop
sudo chown -R python ./hadoop                        #修改文件权限
//java安装同上

给hadoop配置环境变量,将下面代码添加到.bashrc文件

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
//export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

export HADOOP_HOME=/home/python/Downloads/hadoop
export HADOOP_PREFIX=$HADOOP_HOME
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source .bashrc
hadoop version

首先将jdk1.7的路径添(export JAVA_HOME=/usr/lib/jvm/java )加到hadoop/conf/hadoop-env.sh文件 
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
//export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64

修改core-site.xml文件
修改配置文件 hdfs-site.xml
修改配置文件 mapred-site.xml
修改配置文件 yarn-site.xml

从伪分布式模式切换回非分布式模式,需要删除 core-site.xml 中的配置项

伪分布式虽然只需要配置 fs.defaultFS 和 dfs.replication 就可以运行

执行 NameNode 的格式化,需先停止hadoop服务
hadoop namenode -format

启动hadoop守护进程:
./hadoop/bin/start-all.sh
./hadoop/bin/stop-all.sh

跟踪进程
strace -fe open start-all.sh

启动namenode和datanode进程,并查看启动结果
./hadoop/bin/start-dfs.sh

datanode启动失败解决方案
1.删除版本重格式化
rm ./hadoop/tmp/dfs/data/current/VERSION
rm -rf ./hadoop/tmp/dfs/data
chown -R python ./hadoop
sudo chmod -R a+w ./hadoop
//需先停止hadoop服务
./hadoop/bin/hadoop namenode -format

2.将name/current下的VERSION中的clusterID复制到data/current下的VERSION中,覆盖掉原来的clusterID
//需先停止hadoop服务
./hadoop/bin/hadoop namenode -format




apt install openjdk-8-jdk-headless
 jps

浏览器查看hadoop运行状态:
NameNode - http://localhost:50070/
JobTracker - http://localhost:50030/

复制本地文件到HDFS的input目录:
./hadoop/bin/hadoop fs –put /home/python/Downloads/hadoop/conf /home/python/Downloads/hadoop/tmp/input

运行hadoop提供的例子:
hadoop jar /home/python/Downloads/hadoop/hadoop-examples-1.1.2.jar grep /home/python/Downloads/hadoop/tmp/input output 'dfs[a-z.]+'

查看DFS文件
hadoop fs -ls output

复制DFS文件到本地,并在本地查看:



词频统计 
./hadoop/bin/hadoop dfs -ls /
//HDFS中创建一个文件目录input
./hadoop/bin/hadoop dfs -mkdir /input
./hadoop/bin/hadoop dfs -ls /

将./hadoop/README.txt上传至input中
./hadoop/bin/hadoop fs -put /hadoop/README.txt /input
./hadoop/bin/hadoop jar ./hadoop/hadoop-examples-1.1.2.jar wordcount /input /output  
./hadoop/bin/hadoop fs -cat /output/part-r-00000

·下面附一些HDFS常用命令:
hadoop fs -mkdir /tmp/input? ? ? ?在HDFS上新建文件夹?
hadoop fs -put input1.txt /tmp/input 把本地文件input1.txt传到HDFS的/tmp/input目录下?
hadoop fs -get input1.txt /tmp/input/input1.txt 把HDFS文件拉到本地?
hadoop fs -ls /tmp/output? ? ? ? ?列出HDFS的某目录?
hadoop fs -cat /tmp/ouput/output1.txt 查看HDFS上的文件?
hadoop fs -rmr /home/less/hadoop/tmp/output 删除HDFS上的目录?
hadoop dfsadmin -report 查看HDFS状态,比如有哪些datanode,每个datanode的情况?
hadoop dfsadmin -safemode leave 离开安全模式?
hadoop dfsadmin -safemode enter 进入安全模式
ssh配置
root@ubuntu:~# ps -ef | grep ssh
如果未启动,可以通过下面命令启动:
root@ubuntu:~# /etc/init.d/ssh start

chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
免密码配置ssh
root@ubuntu:~# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
##  -P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。
root@ubuntu:~# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

#关闭防火墙
iptables -F
验证没有密码是否能ssh到localhost
root@ubuntu:~# ssh localhost

#调试信息
sudo /usr/sbin/sshd -d
netstat -tan | grep LIST

fxcRqV8/Jn6nHr0a/xxoDB4qxVhRD3BS1uXKvtp1Zk4

::ls ~/.ssh/*下有密钥时先清空
ssh-keygen -t rsa
一路回车

sudo vim /etc/ssh/sshd_config
要确保下面这三个项目前面没有# 

RSAAuthentication yes 

PubkeyAuthentication yes 

AuthorizedKeysFile %h/.ssh/authorized_keys

重启一下ssh服务,这样ssh配置才能生效:
使用命令:service ssh restart

将id_rsa.pub公钥添加到本地的~/.ssh/authorized_keys文件中 
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 
::ls ~/.ssh/*

ssh localhost 
exit 
如果出现了Agent admitted failure to sign using the key的错误提示, 
则使用ssh-add ~/.ssh/id_rsa来解决 。 

使用ssh-copy-id命令将公钥传送到远程主机上 
ssh-copy-id remote-host

ssh ubuntu@10.29.78.177

安装JDK

root@ubuntu:/usr/java# ./jdk-6u27-linux-i586.bin
root@ubuntu:/# vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.6.0_27
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

java -version
hbase
sudo tar -zxvf ./Downloads/hbase-0.94.7-security.tar.gz  -c ./Downloads/
sudo mv  ./Downloads/hbase-0.94.7-security  ./Downloads/hbase
sudo chown -R python ./Downloads/hbase
cd Downloads/hbase

conf目录下hbase-env.sh:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

HBase写入的本地路径:
hbase-site.xml

启动HBase
bin/start-hbase.sh

用shell来连接HBase
bin/hbase shell

关闭防火墙
service iptables stop
确认
service iptables status

建表操作演示
create 'table1','col1'
list

 put 'table1','row1','col1:a','value1'
 put 'table1','row3','col1:c','value3'

scan 'table1'

//用get查看单行数据
get 'table1','row1'

//用disable和drop删除表
disable 'table1'


bin/stop-hbase.sh
访问地址:http://localhost:60010/
hive
export HIVE_HOME=/home/python/Downloads/hive
export PATH=$HIVE_HOME/bin:$PATH

复制conf/hive-default.xml并重命名为hive-site.xml

复制MySQL驱动到<hive-install-dir>/lib/。我用的是:mysql-connector-java-5.1.7-bin.jar

运行Hive
bin/hive
Zookeeper
将conf/zoo_sample.cfg拷贝一份命名为zoo.cfg,也放在conf目录下

sudo mkdir /tmp/zookeeper

# 在 /tmp/zookeeper目录下创建myid文件,写id号,用来标识当前主机
 /tmp/zookeeper下执行 echo "1" > myid

bin/zkServer.sh start
bin/zkServer.sh status

sudo java-cp zookeeper-3.4.5.jar:lib/slf4j-api-1.6.1.jar:lib/slf4j-log4j12-1.6.1.jar:lib/log4j-1.2.15.jar:conf\org.apache.zookeeper.server.quorum.QuorumPeerMain conf/zoo.cfg

参考:

Hadoop伪分布式环境搭建_hadoop安装和伪分布式集群搭建的过程-CSDN博客

HBase单机环境搭建及入门_hbase可以单机运行-CSDN博客

Hive环境搭建_hive搭建-CSDN博客

GitHub - apache/spark: Apache Spark - A unified analytics engine for large-scale data processing

Spark在Windows下的环境搭建_windows spark-CSDN博客

ZooKeeper集群环境搭建实践_服务器应用_Linux公社-Linux系统门户网站


创作不易,小小的支持一下吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1800423.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从C到C++,C++入门篇(1)

1.什么是C C是一种通用编程语言&#xff0c;由Bjarne Stroustrup在1980年代初开发&#xff0c;作为C语言的扩展。 C支持多种编程范式&#xff0c;包括过程式编程、数据抽象、面向对象编程和泛型编程等。 这种语言在操作系统、游戏开发、图形界面、嵌入式系统、分布式系统、网…

啵啵啵啵啵啵啵啵啵啵啵啵啵啵啵

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和技术。关…

“安全生产月”专题报道:AI智能监控技术如何助力安全生产

今年6月是第23个全国“安全生产月”&#xff0c;6月16日为全国“安全宣传咨询日”。今年全国“安全生产月”活动主题为“人人讲安全、个个会应急——畅通生命通道”。近日&#xff0c;国务院安委会办公室、应急管理部对开展好2024年全国“安全生产月”活动作出安排部署。 随着科…

外贸自动化脚本编写会用到的源代码!

随着全球化的加速推进&#xff0c;外贸行业正迎来前所未有的发展机遇&#xff0c;为了提高工作效率、减少人为错误&#xff0c;并更好地把握市场机遇&#xff0c;越来越多的外贸企业开始关注自动化脚本的编写与应用。 自动化脚本不仅可以帮助企业实现业务流程的自动化&#xf…

python-windows10普通笔记本跑bert mrpc数据样例0.1.001

python-windows10普通笔记本跑bert mrpc数据样例0.1.000 背景参考章节获取数据下载bert模型下载bert代码windows10的cpu执行结果注意事项TODOLIST背景 看了介绍说可以在gpu或者tpu上去微调,当前没环境,所以先在windows10上跑一跑,看是否能顺利进行,目标就是训练的过程中没…

python面向过程与初始面向对象编程

让我们穿越到《龙珠》世界&#xff0c;一起揭开 面向对象编程 的神秘面纱吧。 面向过程编程与面向对象编程 天下第一武道会 选手登记 第 22 届天下第一武道会即将召开&#xff0c;各路武术高手齐聚一堂&#xff0c;其中最受瞩目的&#xff0c;当属卡卡罗特&#xff08;孙悟…

前后端实现文件上传进度条-实时进度

后端接口代码&#xff1a; PostMapping("/upload")public ResponseEntity<String> handleFileUpload(RequestParam("file") MultipartFile file) {try {// 获取文件名String fileName file.getOriginalFilename();// 创建上传目标路径Path targetPa…

CTFHUB-技能树-web-信息泄露

目录 1.目录遍历 2.PHPINFO 3.备份文件下载 3.1 网站源码 3.2 bak文件 3.3 vim缓存 3.4 .DS_Store 4.Git泄露 4.1 Log 4.2 Stash 4.3 Index 5.SVN泄露 6.HG泄露 1.目录遍历 这个没什么好讲的&#xff0c;进去直接点击找flag,然后在下面目录翻&#xff0c;就找到了 …

手撕设计模式——克隆对象之原型模式

1.业务需求 ​ 大家好&#xff0c;我是菠菜啊&#xff0c;前俩天有点忙&#xff0c;今天继续更新了。今天给大家介绍克隆对象——原型模式。老规矩&#xff0c;在介绍这期之前&#xff0c;我们先来看看这样的需求&#xff1a;《西游记》中每次孙悟空拔出一撮猴毛吹一下&#x…

无码高清?Stable DIffusion教程 | 如何利用 Stable Diffusion webui 将图片变得更清晰?全方位对比4种放大方法!

大家好&#xff0c;我是大师兄 1、引言 “高分放大”&#xff08;有时候也叫“超分放大”或“高清修复”&#xff09;描述了在确保图像清晰度的前提下提升图片分辨率的过程。例如&#xff0c;将一张512 x 512的图片放大四倍&#xff0c;得到的就是2048 x 2048分辨率的图片&am…

现代社区管理中的电瓶车违停检测技术

随着城市化进程的加快&#xff0c;电瓶车作为一种环保、便捷的出行工具在社区内的使用越来越普及。然而&#xff0c;电瓶车的随意停放问题也日益严重&#xff0c;影响了社区的整体环境和居民的生活质量。为了解决这一问题&#xff0c;社区管理者迫切需要一种高效、准确的电瓶车…

Qt:QDialogButtonBox的使用

QDialogButtonBox是Qt自带的按钮箱&#xff0c;通过枚举QDialogButtonBox::ButtonRole可以添加Qt定义按钮&#xff0c;或者通过方法QDialogButtonBox::addButton添加自定义的按钮。 // 自定义按钮。 button_box_ new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonB…

【Python报错】已解决SyntaxError: invalid character in identifier

成功解决“SyntaxError: invalid character in identifier”错误的全面指南 一、引言 在Python编程中&#xff0c;SyntaxError是一种常见的编程错误&#xff0c;它表明Python解释器在解析代码时遇到了不符合语法规则的情况。其中&#xff0c;“SyntaxError: invalid character…

vue3_组件间通信方式

目录 一、父子通信 1.父传子&#xff08; defineProps&#xff09; 2.父传子&#xff08;useAttrs&#xff09; 3.子传父&#xff08;ref&#xff0c;defineExpose &#xff09; 4.子传父&#xff08;defineEmits&#xff09; 5.子传父&#xff08;v-model&#xff09; …

OSI协议集

国际标准化组织除了定义osi参考模型之外&#xff0c;还开发了实现7个功能层次的各种协议和服务标准&#xff0c;这些协议和服务统称为osi协议。osi协议是一些已有的协议和iso新开发的协议的混合体&#xff0c;例如&#xff0c;大部分物理层和数据链路层协议是采用现有的协议&am…

数组中的第K个最大元素 ---- 分治-快排

题目链接 题目: 分析: 这道题很明显是一个top-K问题, 我们很容易想到用堆排序来解决, 堆排序的时间复杂度是O(N*logN), 不符合题意, 所以我们可以用另一种方法:快速选择算法, 他的时间复杂度为O(N)快速选择算法, 其实是基于快排, 进行修改而成, 我们还是使用将"将数组分…

QT treeWidget如何添加虚线

1、添加以下代码即可&#xff1a; ui.treeWidget->setStyle(QStyleFactory::create("windows"));2、效果如下&#xff1a;

Docker的网络管理

文章目录 一、Docker容器之间的通信1、直接互联&#xff08;默认Bridge网络&#xff09;1.1、Docker安装后默认的网络配置1.2、创建容器后的网络配置1.2.1、首先创建一个容器1.2.2、ip a 列出网卡变化信息1.2.3、查看新建容器后的桥接状态 1.3、容器内安装常见的工具1.4、容器间…

天才简史——Tamim Asfour与他的H²T实验室

一、Tamim Asfour介绍 Tamim Asfour为KIT人类学和机器人学研究所&#xff08;Institute for Anthropomatics and Robotics&#xff09;的全职教授&#xff0c;并担任高性能人形技术实验室 (High Performance Humanoid Technologies Lab&#xff0c;HT) 负责人。他目前的研究兴…

注册自定义材质实现qgis里不同比例尺下材质不被拉升的效果

前景提要&#xff1a; 在QGIS里的显示效果&#xff0c;用的是示例的/img/textures/line-interval.png材质图片。 下载示例 git clone https://gitee.com/marsgis/mars3d-vue-example.git 相关效果 比如材质是5像素&#xff0c;在1:100000万比例尺下&#xff0c;线显示的长…