大数据平台(环境配置篇) 基本环境配置与组件下载

it2026-02-22  8

大数据平台电信案例(环境配置篇) 基本环境配置与组件下载

文章目录

大数据平台电信案例(环境配置篇) 基本环境配置与组件下载基本准备1. 网络连接2. 环境搭建1.下载必备的软件2.创建新的系统用户3.用户基本配置4.ssh免密钥登录5.安装java 配置路径6.更换apt源 3.单机版主要组件安装过程1.Mysql的下载与安装2.Hadoop的下载安装0.拓展:tar 命令解释1)五个参数中选一个2)其他可选参数3)必用参数 1. 修改配置文件2. 执行名称节点格式化3. 启动Hadoop4. 配置PATH变量 3.HBase的下载安装1.解压下载2.环境变量3.伪分布式配置4.启动hbase 4.Hive的下载安装1.解压下载2.配置环境变量.3修改配置文件 5.spark的下载安装1.解压下载2.配置环境变量3.修改配置文件 4. 环境安装完成,测试安装python,pip测试

基本准备

需要准备的环境与对应的版本如下

软件版本hadoop2.7.1spark1.6.2hive1.2.1hbase1.1.5python3.8javadefault 1.8

接下来就一步步的搭建hadoop环境

1. 网络连接

先简单的测试一下能否上网

ping www.baidu.com

如果不行的话需要自行配置ip,操作如下,以b311为例

机房机器的ip格式为10.132.214.?,?那一位每个人都使用自己主机上面贴的数字.如10.132.214.27

2. 环境搭建

1.下载必备的软件

sudo apt-get update # 更新源 sudo apt-get install net-tools ssh vim ntp ntpdate

E: 无法获得锁 /var/lib/dpkg/lock - open 类似的错误

sudo rm /var/lib/dpkg/lock

2.创建新的系统用户

如果电脑上没有hadoop用户就执行下面的命令

sudo adduser hadoop # 输入两次密码 然后按回车至指令结束

3.用户基本配置

设置sudo权限

# 为用户设置sudo权限 su # 切换到root用户 如果产生报错信息 su 认证失败则用下面的命令设置root用户的密码123 sudo passwd gedit /etc/sudoers gedit 与 vim 二选一 vim /etc/sudoers #在如下内容出加入如下内容 hadoop ALL=(ALL:ALL) ALL

su hadoop # 切换回hadoop用户

修改主机名,这里以hadoop为例

sudo vim /etc/hostname # 修改里面的名字为想要的主机名,永久修改 sudo hostname hadoop # 临时修改

设置ip映射

sudo vim /etc/hosts

在文件中加入自己的ip与名字,如果是集群搭建的话需要加入所有节点的ip和名字

10.132.214.27 hadoop

除了上述,额外添加以下内容,否则最后可能接收不到kafka数据:

10.132.221.111 wzu111 10.132.221.112 wzu112 10.132.221.113 wzu113 10.132.221.114 wzu114 10.132.221.116 wzu116 10.132.221.117 wzu117 10.132.221.117 wzu117 10.132.221.118 wzu118 10.132.221.119 wzu119 10.132.221.120 wzu120 10.132.221.121 wzu121 10.132.221.123 wzu123 10.132.221.124 wzu124 10.132.221.125 wzu125 10.132.221.126 wzu126 10.132.221.127 wzu127 10.132.221.128 wzu128 10.132.221.129 wzu129 10.132.221.130 wzu130 10.132.221.132 wzu132

4.ssh免密钥登录

ssh localhost ssh-keygen -t rsa cat .ssh/id_rsa.pub >> .ssh/authorized_keys # 以上三步完成ssh localhost的免密码登录 # 如果搭建集群的话还需要把秘钥马松给节点电脑,格式如下(注:如果仅仅在一台电脑上面的话不用执行下面的命令) ssh-copy-id -i ~/.ssh/id_rsa hadoop@ip #给其他电脑复制密钥

5.安装java 配置路径

sudo apt install openjdk-8-jdk-headless sudo apt install openjdk-8-jdk-headless sudo vim ~/.bashrc # 设置环境变量 然后添加如下内容: export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64 # wq保存退出 source ~/.bashrc # 环境变量生效 java --version #检验java是否配置成功

出现1.8.0就成功了 如果要卸载多余的java执行下面的命令 选择你要卸载的版本执行

sudo apt-get autoremove default-jre sudo apt-get autoremove default-jdk sudo apt-get autoremove openjdk-11-jre-headless

6.更换apt源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # 为原来的镜像设置备份 sudo vim /etc/apt/sources.list # 修改原来的文件 `把下面的内容替换进去` deb http://mirrors.aliyun.com/ubuntu/ xenial main deb-src http://mirrors.aliyun.com/ubuntu/ xenial main deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main deb http://mirrors.aliyun.com/ubuntu/ xenial universe deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe deb http://mirrors.aliyun.com/ubuntu/ xenial-security main deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe

3.单机版主要组件安装过程

1.Mysql的下载与安装

sudo apt-get update sudo apt-get install mysql-server sudo netstat -tap | grep mysql # 确认是否启动成功

mysql -uroot -p #登录mysql

如果在安装的时候没有弹出设置密码界面,然后登录的时候报错如下,可以看这篇文章

mysql解决空密码错误

修改mysql默认编码为utf-8

sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf `增加如下内容` character_set_server=utf8

重启mysql

sudo service mysql restart '或者' service mysql restart

2.Hadoop的下载安装

下载安装文件

到Hadoop官网下载安装文件hadoop-2.7.1.tar.gz,假设下载得到的安装文件为hadoop-2.7.1.tar.gz。下载完安装文件以后,需要对文件进行解压。按照Linux系统使用的默认规范,用户安装的软件一般都是存放在“/usr/local/”目录下。请使用hadoop用户登录Linux系统,打开一个终端,执行如下命令:

$ cd ~/下载 # 进入下载目录 $ wget http://10.132.239.12:8000/file/hadoop-2.7.1.tar.gz # 下载hadoop软件 $ sudo tar -zxf ~/下载/hadoop-2.7.1.tar.gz -C /usr/local # 解压到/usr/local中 $ cd /usr/local/ $ sudo mv ./hadoop-2.7.1/ ./hadoop # 将文件夹名改为hadoop $ sudo chown -R hadoop ./hadoop # 修改文件权限 -R处理指定目录以及其子目录下的所有文件
0.拓展:tar 命令解释
1)五个参数中选一个
-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件
2)其他可选参数
-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出-C 切换到指定目录
3)必用参数
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。 Hadoop解压后即可使用,可以输入如下命令来检查 Hadoop是否可用,成功则会显示 Hadoop版本信息: $ cd /usr/local/hadoop $ ./bin/hadoop version

伪分布式模式配置 Hadoop可以在单个节点(一台机器)上以伪分布式的方式运行,同一个节点既作为名称节点(NameNode),也作为数据节点(DataNode),读取的是分布式文件系统 HDFS 中的文件。

1. 修改配置文件

需要配置相关文件,才能够让Hadoop在伪分布式模式下顺利运行。Hadoop的配置文件位于“/usr/local/hadoop/etc/hadoop/”中,进行伪分布式模式配置时,需要修改2个配置文件,即core-site.xml和hdfs-site.xml。

cd /usr/local/hadoop/etc/hadoop/

可以使用vim编辑器打开core-site.xml文件

vim core-site.xml

它的初始内容如下:

<configuration> </configuration>

修改以后,core-site.xml文件的内容如下:

<configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>

在上面的配置文件中,hadoop.tmp.dir用于保存临时文件,若没有配置hadoop.tmp.dir这个参数,则默认使用的临时目录为“/tmp/hadoo-hadoop”,而这个目录在Hadoop重启时有可能被系统清理掉,导致一些意想不到的问题,因此,必须配置这个参数。fs.defaultFS这个参数,用于指定HDFS的访问地址,其中,9000是端口号。 同样,需要修改配置文件hdfs-site.xml,修改后的内容如下:

vim hdfs-site.xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/data</value> </property> </configuration>
2. 执行名称节点格式化

修改配置文件以后,要执行名称节点的格式化,命令如下:

$ cd /usr/local/hadoop $ ./bin/hdfs namenode -format

如果格式化成功,会看到“successfully formatted”和“Exitting with status 0”的提示信息,若为“Exitting with status 1”,则表示出现错误。

3. 启动Hadoop

执行下面命令启动Hadoop:

$ cd /usr/local/hadoop $ ./sbin/start-dfs.sh #start-dfs.sh是个完整的可执行文件,中间没有空格

可能会让你输入一个yes/no 输入yes就好了 启动时可能会出现如下警告信息:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable WARN

这个警告提示信息可以忽略,并不会影响Hadoop正常使用。

Hadoop启动完成后,可以通过命令 jps 来判断是否成功启动,命令如下:

jps

若成功启动,则会列出如下进程:NameNode、DataNode和SecondaryNameNode。

4. 配置PATH变量
vim ~/.bashrc

在开头加入如下内容

export HADOOP_HOME=/usr/local/hadoop/ export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

3.HBase的下载安装

1.解压下载
cd ~/下载 wget http://10.132.239.12:8000/file/hbase-1.1.5-bin.tar.gz sudo tar -zxf ./hbase-1.1.5-bin.tar.gz -C /usr/local sudo mv /usr/local/hbase-1.1.5 /usr/local/hbase cd /usr/local sudo chown -R hadoop ./hbase
2.环境变量

配置环境变量

vim ~/.bashrc '修改如下' export HBASE_HOME=/usr/local/hbase export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$HB ASE_HOME/bin source ~/.bashrc

3.伪分布式配置
vim /usr/local/hbase/conf/hbase-env.sh export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export HBASE_CLASSPATH=/usr/local/hadoop/conf export HBASE_MANAGES_ZK=true vim /usr/local/hbase/conf/hbase-site.xml <configuration> <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> </configuration>
4.启动hbase
start-hbase.sh

4.Hive的下载安装

1.解压下载
cd ~/下载 wget http://10.132.239.12:8000/file/apache-hive-1.2.1-bin.tar.gz sudo tar -zxvf ./apache-hive-1.2.1-bin.tar.gz -C /usr/local cd /usr/local/ sudo mv apache-hive-1.2.1-bin hive sudo chown -R hadoop:hadoop hive
2.配置环境变量
vim ~/.bashrc export HIVE_HOME=/usr/local/hive export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$HB ASE_HOME/bin:$HIVE_HOME/bin source ~/.bashrc
.3修改配置文件
cd /usr/local/hive/conf sudo mv hive-default.xml.template hive-default.xml vim hive-site.xml '加入下面的内容' <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value> <description>username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hive</value> <description>password to use against metastore database</description> </property> </configuration>

2. 下载MySQL JDBC驱动程序 为了让Hive能够连接到MySQL数据库,需要下载MySQL JDBC驱动程序。可以到MySQL官网(http://www.mysql.com/downloads/connector/j/)下载mysql-connector-java-5.1.40.tar.gz。下载到本地,保存到Linux系统的“~/下载”目录下(也就是“/home/hadoop/下载”目录)。 然后,在Linux系统中打开一个终端,在终端中执行如下命令解压缩文件:

scp tmp@10.132.221.201:~/mysql-connector-java-5.1.40-bin.jar ~/下载 # 密码: hadoop cd ~/下载 tar -zxvf ./mysql-connector-java-5.1.40.tar.gz #如果执行上面scp命令的这步可以跳过,因为已经解压好了 #下面将mysql-connector-java-5.1.40-bin.jar拷贝到/usr/local/hive/lib目录下 # 两条命令看之前有无解压来选择 cp mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar /usr/local/hive/lib # 或者用这条 cp ./mysql-connector-java-5.1.40-bin.jar /usr/local/hive/lib

3. 启动MySQL

mysql -u root -p #登录MySQL数据库

4. 在MySQL中为Hive新建数据库 现在,需要在MySQL数据库中新建一个名称为hive的数据库,用来保存Hive的元数据。MySQL中的这个hive数据库,是与Hive的配置文件hive-site.xml中的“mysql://localhost:3306/hive”对应起来的,用来保存Hive元数据。

mysql> create database hive;

5. 配置MySQL允许Hive接入 需要对MySQL进行权限配置,允许Hive连接到MySQL。

mysql> grant all on *.* to hive@localhost identified by 'hive'; mysql> flush privileges;

6. 配置Hive 下面的命令要先退出mysql界面 进入hive的conf目录,配置hadoop路径

CTRL+D退出mysql交互界面 $ cd /usr/local/hive/conf $ cp hive-env.sh.template hive-env.sh $ vim hive-env.sh

在hive-env.sh文件里加下面的内容:

export HADOOP_HOME=/usr/local/hadoop

保存退出后执行source

source hive-env.sh

7. 启动Hive

$ cd /usr/local/hadoop $ ./sbin/start-dfs.sh

然后,再执行如下命令启动Hive:

hive

5.spark的下载安装

本实验采用的spark版本为2.3.1,不要按以前的教程下载,那个版本是1.6.2

1.解压下载
cd ~/下载 wget http://10.132.239.12:8000/file/spark-2.3.1-bin-hadoop2.7.tgz wget http://10.132.239.12:8000/file/scala-2.11.8.tgz sudo tar -zxf ./spark-2.3.1-bin-hadoop2.7.tgz -C /usr/local/ cd /usr/local sudo mv ./spark-2.3.1-bin-hadoop2.7 ./spark sudo chown -R hadoop:hadoop ./spark
2.配置环境变量
配置环境变量 vim ~/.bashrc export SPARK_HOME=/usr/local/spark/ export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin:$SPARK_HOME/bin source ~/.bashrc
3.修改配置文件
cd /usr/local/spark cp ./conf/spark-env.sh.template ./conf/spark-env.sh vim ./conf/spark-env.sh export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)

启动spark

spark-shell

4. 环境安装完成,测试

安装python,pip

如果出现问题也可以百度

sudo apt update sudo apt install software-properties-common sudo add-apt-repository ppa:deadsnakes/ppa

期间要输入enter

sudo apt install python3.6 #kafka 模块在3.6以上版本运行会报错 #curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py #sudo python3.8 get-pip.py 外网文件,通常无法下载 因此采用另一种方法 sudo apt-get install python3-pip python3.6 -m pip install kafka

ImportError: cannot import name 'sysconfig’看这个连接

当输入python的时候设置默认为python3.6

sudo ln -s /usr/bin/python3.6 /usr/bin/python

测试

vim test.py from kafka import KafkaConsumer consumer = KafkaConsumer('telecom',\ bootstrap_servers=['10.132.221.111:6667', '10.132.221.112:6667', '10.132.221.113:6667', '10.132.221.114:6667', '10.132.221.116:6667', '10.132.221.117:6667', '10.132.221.118:6667', '10.132.221.119:6667', '10.132.221.120:6667', '10.132.221.121:6667', '10.132.221.123:6667', '10.132.221.124:6667', '10.132.221.125:6667', '10.132.221.126:6667', '10.132.221.127:6667', '10.132.221.128:6667', '10.132.221.129:6667', '10.132.221.130:6667', '10.132.221.132:6667']) for msg in consumer: print(msg.value.decode('utf-8'))

保存退出后运行 这里的python3.6指的是安装了kafka的python环境

python3.6 test.py

效果如下即为成功

最新回复(0)