当前位置: 首页 > news >正文

安装hadoop,并配置hue

0、说明

对于大数据学习的初始阶段,我也曾尝试搭建相应的集群环境。通过搭建环境了解组件的一些功能、配置、原理。
在实际学习过程中,我更多的还是使用docker来快速搭建环境。
这里记录一下我搭建hadoop的过程。

1、下载hadoop

下载地址:Apache Hadoop

wget https://mirrors.bfsu.edu.cn/apache/hadoop/common/hadoop-2.10.1/hadoop-2.10.1.tar.gz# 解压
tar -zxvf hadoop-2.10.1.tar.gz# 复制到 /usr/hadoop/目录下
# sudo mkdir /usr/hadoop/
# cp -r hadoop-2.10.1 /usr/hadoop/# 添加HADOOP_HOME
sudo /etc/profile
# 添加如下内容,并保存退出
#HADOOP_HOME
export HADOOP_HOME=/home/airwalk/bigdata/soft/hadoop-2.10.1
export PATH=$HADOOP_HOME/bin:$PATH
export PATH=$HADOOP_HOME/sbin:$PATH# 使生效
source /etc/profile# 测试
hdfs version#结果如下
airwalk@svr43:/usr/hadoop/hadoop-2.10.1$ hdfs  version
Hadoop 2.10.1
Subversion https://github.com/apache/hadoop -r 1827467c9a56f133025f28557bfc2c562d78e816
Compiled by centos on 2020-09-14T13:17Z
Compiled with protoc 2.5.0
From source with checksum 3114edef868f1f3824e7d0f68be03650
This command was run using /home/airwalk/bigdata/soft/hadoop-2.10.1/share/hadoop/common/hadoop-common-2.10.1.jar# 测试
cd bigdata/soft/hadoop-2.10.1
mkdir input
cp etc/hadoop/* input
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.1.jar grep input/ output '[a-z.]+'

至此,在一台机器上的hadoop安装成功

2、配置

svr43server42server37
hdfsnamenode,datanodedatanodeSecondaryNamenode,datanode
yarnnodeManagerresourceManager,nodeManagernodeManager

0:免密登录配置

  • 在svr43机器上生成密钥(hdfs的namenode节点)
cd ~/.ssh
## 下面一直回车即可
ssh-keygen -t rsa## 然后在该目录下执行
ssh-copy-id server42
ssh-copy-id server37
# 自己也需要免密登录自己
ssh-copy-id svr43
  • 在 server42机器上生成密钥,免密登录其它节点,因为该节点是yarn 的resourceManger
cd ~/.ssh
## 下面一直回车即可
ssh-keygen -t rsa## 然后在该目录下执行
# 自己也需要免密登录自己
ssh-copy-id server42
ssh-copy-id server37
ssh-copy-id svr43

!! 注意,出现如下异常

airwalk@server42:~/.ssh$ ssh svr43
Warning: the ECDSA host key for 'svr43' differs from the key for the IP address '192.168.0.43'
Offending key for IP in /home/airwalk/.ssh/known_hosts:3
Matching host key in /home/airwalk/.ssh/known_hosts:11
Are you sure you want to continue connecting (yes/no)? yes
Welcome to Ubuntu 16.04.6 LTS (GNU/Linux 4.4.0-142-generic x86_64)# 解决方法
ssh-keygen -R 192.168.0.43
  • 在svr43机器上生成root密钥(hdfs的namenode节点)
# 切换到root账户下
sudo su root
cd /root/.ssh
ssh-keygen -t rsa
ssh-copy-id server42
ssh-copy-id server37
ssh-copy-id svr43

1:配置core-site.xml

临时文件的位置,注意不能放在太小的磁盘里,这里使用的是如下目录

/home/airwalk/bigdata/soft/hadoop-2.10.1/data/tmp
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.0.43:9000</value>
<!-- 这里直接使用配置ip的方式  -->
#<value>hdfs://svr43:9000</value>
</property><property>
<name>hadoop.tmp.dir</name>
<value>/home/airwalk/bigdata/soft/hadoop-2.10.1/data/tmp</value>
</property>

2:hdfs的配置文件

配置hadoop-env.sh

echo $JAVA_HOME
vim hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

配置hdfs-site.xml

因为集群时3个,所以这里改为副本为3

    <property><name>dfs.replication</name><value>3</value></property><!-- 指定hadoop辅助namenode节点主机配置 --><property><name>dfs.namenode.secondary.http-address</name><value>server37:50090</value></property>

3:yarn配置

配置yarn-env.sh

vim yarn-env.sh
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

配置yarn-site.xml

    <property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property>
<!-- 指定hadoop辅助namenode节点主机配置 -->
<property><name>yarn.resourcemanager.hostname</name><!-- 这里直接使用配置ip的方式  --><value>192.168.0.42</value><!-- <value>server42</value> -->
</property>

4:MapReduce配置

配置mapred-env.sh

vim yarn-env.sh
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

配置mapred-site.xml

<property><name>mapreduce.framework.name</name><value>yarn</value></property>

3、启动

  • 在namenode节点上,进行格式化操作
hdfs namenode -format
  • 启动namenode
cd sbin
./hadoop-daemon.sh start namenode
./sbin/hadoop-daemon.sh start namenode
  • 启动datanode
# 三台机器均启动
./sbin/hadoop-daemon.sh start datanode
  • 退出
./sbin/hadoop-daemon.sh stop namenode
# 三台机器均退出
./sbin/hadoop-daemon.sh stop datanode

4、集群启动

1:配置slaves, 所有节点都要修改

cd /home/airwalk/bigdata/soft/hadoop-2.10.1/etc/hadoop
vim salves
# 添加从主机的名字,不允许有空格和空行
svr43
server42
server37

2: 启动hdfs集群

可以自动启动集群中的所有datanode和namenode

# 在hdfs的namenode节点上执行下面的命令
./sbin/start-dfs.sh

3:启动yarn

# 需要再resourceManger节点上进行处理(server42)
./sbin/start-yarn.shstarting yarn daemons
resourcemanager running as process 10206. Stop it first.
server42: nodemanager running as process 10550. Stop it first.
svr43: starting nodemanager, logging to /home/airwalk/bigdata/soft/hadoop-2.10.1/logs/yarn-airwalk-nodemanager-svr43.out
server37: starting nodemanager, logging to /home/airwalk/bigdata/soft/hadoop-2.10.1/logs/yarn-airwalk-nodemanager-server37.out

5、查看

namenode 节点上的链接

http://192.168.0.43:50070/

在这里插入图片描述

6、配置hue

Hadoop配置文件修改

hdfs-site.xml

<property><name>dfs.webhdfs.enabled</name><value>true</value>
</property>

core-site.html

<property><name>hadoop.proxyuser.airwalk.hosts</name><value>*</value>
</property>
<property><name>hadoop.proxyuser.airwalk.groups</name><value>*</value>
</property><property><name>hadoop.proxyuser.root.hosts</name><value>*</value>
</property>
<property><name>hadoop.proxyuser.root.groups</name><value>*</value>
</property>

httpfs-site.xml配置

    <!-- Hue HttpFS proxy airwalk setting --><property><name>httpfs.proxyuser.airwalk.hosts</name><value>*</value></property><property><name>httpfs.proxyuser.airwalk.groups</name><value>*</value></property>

HUE配置文件修改

[[hdfs_clusters]] [[[default]]]fs_defaultfs=hdfs://myclusterwebhdfs_url=http://node1:50070/webhdfs/v1hadoop_bin=/usr/hadoop-2.5.1/binhadoop_conf_dir=/usr/hadoop-2.5.1/etc/hadoop

启动hdfs、重启hue

解决方法:

1、 关闭hdfs的权限验证

hdfs-site.xml

<property><name>dfs.permissions.enabled</name><value>false</value>
</property>
docker run -tid --name hue88  -p 8888:8888  -v /home/airwalk/bigdata/soft/hadoop-2.10.1/etc/hadoop:/etc/hadoop  gethue/hue:latestdocker cp hue.ini hue88:/usr/share/hue/desktop/conf/docker restart hue88docker exec -it --user root <container id> /bin/bash
sudo apt-get install ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain gcc gcc-c++ krb5-devel libffi-devel libxml2-devel libxslt-devel make mysql mysql-devel openldap-devel python-devel sqlite-devel gmp-devel rsync# 作者:一拳超疼
# 链接:https://www.jianshu.com/p/a80ec32afb27
# 来源:简书

# 参考文档
[Install :: Hue SQL Assistant Documentation (gethue.com)](https://docs.gethue.com/administrator/installation/install/)
# 安装完所以的依赖后,再
# /home/airwalk/bigdata/soft/hue 是想要安装的目录
sudo PREFIX=/home/airwalk/bigdata/soft/hue make install
  • python3.8 安装
https://blog.csdn.net/qq_39779233/article/details/106875184
  • 安装npm
sudo apt install npm
npm install --unsafe-perm=true --allow-root
  • 安装node
# 选择源,及版本号,这里是10.x,其它版本只需要更改为一些如:12.x,注意后面就是一个x
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -# 安装相应的node
sudo apt-get install -y nodejs# 查看
node --version
  • 问题
# gyp ERR! stack Error: EACCES: permission denied, mkdir问题解决方案
# npm 有些命令不允许在root用户下执行,会自动从root用户切换到普通用户,这里设置一下,就可以在当前用户下执行sudo npm i --unsafe-perm# 然后在root权限下执行如下命令
PREFIX=/home/airwalk/bigdata/soft/hue make install

编译安装成功!!!

http://www.lryc.cn/news/188719.html

相关文章:

  • 23种经典设计模式:单例模式篇(C++)
  • ros中对move_base的调用
  • Git从本地库撤销已经添加的文件或目录
  • 百度SEO优化的特点(方式及排名诀窍详解)
  • Gin 文件上传操作(单/多文件操作)
  • 分类预测 | MATLAB实现KOA-CNN-LSTM开普勒算法优化卷积长短期记忆神经网络数据分类预测
  • Qt应用开发(基础篇)——列表视图 QListView
  • vue-6
  • 温度在线检测技术在电力电缆线路的应用
  • 2023年中国自动化微生物样本处理系统竞争现状及行业市场规模分析[图]
  • 硬链接和软连接的区别
  • 保护隐私与增强网络安全之网络代理技术
  • 【每日一题】CF1680C. Binary String | 双指针 | 简单
  • 10.selenium进阶
  • 【安全】 Java 过滤器 解决存储型xss攻击问题
  • 一、Excel VBA 是个啥?
  • Spring Boot读取配置文件
  • spark集群环境下,实现人口平均年龄计算
  • [羊城杯 2020]black cat - 文件隐写+RCE(hash_hmac绕过)
  • 智能文件管理助手,轻松实现按数量平均分类文件,高效整理新文件夹!
  • 安卓 Android 终端接入阿里云 IoT 物联网平台
  • 2023自动化测试面试题(含答案)
  • 使用 Apache Camel 和 Quarkus 的微服务(一)
  • 如何通过高级流量管理提高 Kubernetes 的弹性
  • 解决Springboot集成RabbitMQ不自动生成队列的问题
  • 【数据结构】Decreasing String—CF1886C
  • 【广州华锐互动】钢厂铸锻部VR沉浸式实训系统
  • Python中执行SQL报错unsupported format character ‘Y‘ (0x59) at index 34
  • 云数据库(林子雨慕课课程)
  • 2023-10-10 python-从一组颜色中找到与指定颜色最接近的颜色-{K-D树}-记录