大数据课外作业:配置hadoop环境
我这里是用的阿里云,这是当时活动白嫖的。在配置中遇到了一些问题,查了很多资料,没见到写的特别详细的。所以在这里分享一下我的经验。
1. 更新apt
apt update
apt upgrade
2. 安装fish(个人使用习惯)
the friendly interactive shell 这是fish的全称。和名字一样,这是一款友好的shell。
apt install fish
(但是要注意一点,不知道是因为啥 fish的模式下会对 source 关键字 报错。所以使用前退出fish。 exit 或者ctrl+d 退出)
3. 创建hadoop用户
由于root用户是超级用户,并且后续配置可能会涉及到一些变量配置,为了系统安全,推荐创建一个新用户
useradd -m hadoop -s /bin/bash
passwd hadoop
sudo adduser hadoop sudo
su - hadoop
4. 安装java环境
sudo apt install openjdk-8-jdk
java -version
update-alternatives --config java
update-alternatives --config java输出的是:
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
Nothing to configure.
这里绝对路径是/usr/lib/jvm/java-8-openjdk-amd64
在profile文件头 sudo vim /etc/profile 添加环境变量
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
这里的路径要和绝对路径对应
让环境变量生效
source /etc/profile
检查,后两条输出应该是一样的
echo $JAVA_HOME
java -version
$JAVA_HOME/bin/java -version
4. 安装hadoop环境
wget https://mirrors.bfsu.edu.cn/apache/hadoop/common/hadoop-3.3.0/hadoop-3.3.0-aarch64.tar.gz
下载完 解压
sudo tar -zxvf hadoop-3.3.0-aarch64.tar.gz -C /usr/local/
cd /usr/local
sudo mv hadoop-3.3.0 hadoop
sudo chown -R hadoop ./hadoop
在vim ~/.bashrc中加入环境变量
export HADOOP_HOME=/usr/local/hadoop
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
5. 配置hadoop
cd /usr/local/hadoop
mkdir input
cp etc/hadoop/*.xml input
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.0.jar grep input output 'dfs[a-z.]+'
cat output/*
输出应该为:
1 dfsadmin
6.伪分布式操作
这里就是重点了,由于我们是阿里云,所以这里会和其他的服务器不太一样。
1. 配置阿里云端口
进入云服务器
点击红色部分 进入云服务器
点击配置安全组规则。
配置规则
点击手动添加。添加如图的规则。端口号这里是50070(和后面的配置文件要对应)
2.修改配置文件(在末尾添加)
vim etc/hadoop/core-site.xml
(默认结尾会有一个
。把这个删除掉,或者是在里面添加其他内容)
<configuration><property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property>
</configuration>
配置vim etc/hadoop/hdfs-site.xml
<configuration><property><name>dfs.namenode.http-address</name><value>0.0.0.0:50070</value></property>
</configuration>
这里的50070要对应之前的手动添加的端口。
格式化&#xff0c;启动进程&#xff08;在cd /usr/local/hadoop的目录下&#xff09;
bin/hdfs namenode -format
sbin/start-dfs.sh
输出如下图
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
这个是警告&#xff0c;可以不用管。
最后
netstat -tpnl
有0.0.0.0.0::50070表示配置成功
然后就可以在web上查看了。
网址栏输入 公网ip:50070
成功登录
如果不能登录&#xff0c;那么有可以是端口的问题。应该是两个配置文件出了问题。