Image 2 Image 3 Image 3 Image 3

大数据之linux下的生态圈基础建设

频道:行业资讯 日期: 浏览:1516

咳咳,这个标题好大喔喔喔~

其实没那么夸张,也就是讲一下linux下mysql、hive、hadoop、python这些常用软件的安装以及环境搭建,算是纯干货吧。

linux系统是搭建在虚拟机上的,这里用的是VMware12版本,linux选择ubuntu16.04版本。在虚拟机上安装ubuntu这儿就不说了,因为比较简单没有啥技术含量。网上教程一大堆,但是提一点,VMware的硬件兼容性选择6.5-7.x,不然会出现ubuntu打不开的情况。

还有ubuntu全屏这些操作都是最基础的,要是自己解决不了,下面的文章就当只读吧。。。不是一个难度的。


首先要做SSH服务的设置,因为这个在接下来的安装中都会用到。

--安装SSH服务

sudo apt-get install openssh-client
sudo apt-get install openssh-server

--启动SSH服务

sudo /etc/init.d/ssh start

--判断SSH服务是否正常启动

ps -e | grep ssh

--查看SSH端口号

sudo gedit /etc/ssh/sshd_config

--重启SSH服务

sudo /etc/init.d/ssh restart

--SSH远程登录

ssh user@ip

--SSH数据传输:SCP

scp -r usr@ip:address . --将远程IP地址usr用户下路径为address的所有文件拷贝到本地
scp usr@ip:address   . --把远程IP地址usr用户下路径为address文件拷贝到本地 例子:scp nicolas@192.168.19.172:桌面/321.txt .

--SSH免密码登录

$ ssh localhost
$ exit                            退出刚才的 ssh localhost
$ cd ~/.ssh/                      若没有该目录,请先执行一次ssh localhost
$ ssh-keygen -t rsa               会有提示,都按回车就可以
$ cat ./id_rsa.pub >> ./authorized_keys   加入授权

--安装VIM

sudo apt install vim

安装好SSH并做好免密码登录之后开始进行Hadoop生态圈的基础建设


anaconda3安装环境变量

--查看环境变量

1、sudo gedit ~/.bashrc 有两种查看方法,vim操作难度要高一点,所以后面都选择用第一种方法
2、vim ~/.bashrc

--配置环境变量

export PATH="/home/用户名/anaconda3/bin:$PATH" --末尾加入这句

--环境变量生效

source ~/.bashrc

ubuntu sudo pip install 找不到命令怎么办?

1、sudo vi /etc/sudoers
2、将Defaults env_reset ,改为 Defaults !env_reset
3、添加alias sudo=sudo env PATH=$PATH
4、source ~/.bashrc --更新环境变量

--配置新的操作环境

conda create -n env_name python=3.5
source activate env_name
sudo pip install ipykernel
python -m ipykernel install --name env_name
python -m ipykernel install --user --name env_name --如果上一步失败用这个代码
sudo apt-get install gparted

--java环境搭建,JDK搭建

1、创建目录: sudo mkdir /usr/lib/jvm
2、把文件转移到指定目录下: sudo mv jdk-8u221-linux-x64.tar.gz  /usr/lib/jvm 
3、解压文件: sudo tar -zxvf  jdk-8u221-linux-x64.tar.gz
4、配置所有用户环境: sudo gedit ~/.bashrc 
5、在末尾添加 :(版本1.8.0_181,不同版本需要修改)
	export JAVA_HOME=/usr/lib/jvm/java
	export JRE_HOME=${JAVA_HOME}/jre
	export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
	export PATH=${JAVA_HOME}/bin:$PATH
6、执行全局命令: source ~/.bashrc
7、验证是否安装成功: java -version

--hadoop环境搭建

1、把hadoop安装包拷贝到路径下: sudo cp hadoop-2.9.2.tar.gz /usr/local
2、来到该路径下: cd /usr/local
3、在路径下解压文件: sudo tar -zxvf hadoop-2.9.2.tar.gz
4、把文件名改为hadoop: sudo mv hadoop-2.9.2/ hadoop
5、更改为自己的用户名即可: sudo chown -R hooya ./hadoop
6、配置环境变量: sudo gedit ~/.bashrc
7、在末尾添加:
	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
8、执行全局命令: source ~/.bashrc
9、验证是否安装成功: hadoop version

--hadoop伪分布式配置

1、/usr/local/hadoop/etc/hadoop中找到hadoop-env.sh文件,对路径进行修改:export JAVA_HOME=/usr/lib/jvm/java
2、修改core-site.xml文件:增加下面代码

        
             hadoop.tmp.dir
             file:/usr/local/hadoop/tmp
             Abase for other temporary directories.
        
        
             fs.defaultFS
             hdfs://localhost:9000
        

3、修改hdfs-site.xml文件:增加下面代码

        
             dfs.replication
             1
        
        
             dfs.namenode.name.dir
             file:/usr/local/hadoop/tmp/dfs/name
        
        
             dfs.datanode.data.dir
             file:/usr/local/hadoop/tmp/dfs/data
        

4.执行 NameNode 的格式化:
cd /usr/local/hadoop
./bin/hdfs namenode -format
./sbin/start-dfs.sh
jps

--hadoop附加操作,不然运行不了hive

1、增加环境变量: sudo gedit /etc/profile
	 hadoop2.9.2 environment
	export HADOOP_HOME=/usr/local/hadoop
	export PATH=$PATH:$HADOOP_HOME/bin
	export PATH=$PATH:$HADOOP_HOME/sbin
2、配置mapred-site.xml:
	cd /usr/local/hadoop/etc/hadoop
	cp mapred-site.xml.template mapred-site.xml
	sudo gedit mapred-site.xml
	增加以下代码

        
                mapred.job.tracker
                localhost:9001
        

3、配置yarn-site.xml:
	sudo gedit yarn-site.xml

        
                yarn.nodemanager.aux-services
                mapreduce_shuffle
        
        
                yarn.nodemanager.aux-services.mapreduce.shuffle.class
                org.apache.hadoop.mapred.ShuffleHandler
        

4、创建临时文件夹:
	sudo mkdir tmp --如果已经存在就跳过这一步
	sudo chmod -R 777 tmp
5、在HDFS建立目录为了给hive使用:这里会有hive的搭建,一般来说都是先搭建hadoop然后搭建hive,不过也可以先搭建hive。
	cd /usr/local/hadoop/bin
	hadoop fs -mkdir       /tmp
	hadoop fs -mkdir -p    /user/hive/warehouse
	hadoop fs -chmod g+w   /tmp
	hadoop fs -chmod g+w   /user/hive/warehouse

--mysql环境搭建

1、sudo apt-get install mysql-server
2、sudo apt-get install mysql-client
3、sudo apt-get install libmysqlclient-dev
4、测试是否安装成功: sudo netstat -tap | grep mysql
5、登录mysql: mysql -uroot -p
6、设置远程访问: sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
	注释掉bind-address = 127.0.0.1
7、新建一个hive数据库: create database hive;
8、增加一个权限: grant all privileges on hive.* to root@localhost identified by 123456 with grant option;
9、flush privileges;
10、配置完成 exit

--hive环境搭建

1、把hive安装包拷贝到路径下: sudo cp apache-hive-2.3.6-bin.tar.gz /usr/local
2、来到该路径下: cd /usr/local
3、在路径下解压文件: sudo tar -zxvf apache-hive-2.3.6-bin.tar.gz
4、把文件名改为hive:sudo mv apache-hive-2.3.6-bin/ hive
5、下载mysql-connector-java-5.1.48.tar.gz
6、把文件复制到/usr/local路径: sudo cp mysql-connector-java-5.1.48.tar.gz /usr/local
7、把文件名改为mysql: sudo mv mysql-connector-java-5.1.48/ mysql
8、将mysql-connector-java-5.1.48-bin.jar放到hive目录的lib目录下:sudo cp /usr/local/mysql/mysql-connector-java-5.1.48-bin.jar /usr/local/hive/lib
9、配置hive环境变量: sudo gedit ~/.bashrc
	 hive2.3.6 environment
	export HIVE_HOME=/usr/local/hive
	export PATH=$PATH:$HIVE_HOME/bin
10、执行全局命令: source ~/.bashrc
11、配置hive的conf :
	cd /usr/local/hive --转到hive路径下
	sudo mkdir warehouse --新建一个warehouse目录
	cd /usr/local/hive/conf --转到conf路径下
	sudo gedit hive-site.xml --新建一个文件
	
	
整段复制到文件中
	
	

    hive.metastore.schema.verification
    false
     
          Enforce metastore schema version consistency.
          True: Verify that version information stored in metastore matches with one from Hive jars.  Also disable automatic
          schema migration attempt. Users are required to manully migrate schema after Hive upgrade which ensures
          proper metastore schema migration. (Default)
          False: Warn if the version information stored in metastore doesnt match with one from in Hive jars.
      
    
    
    
        hive.metastore.warehouse.dir
        /user/hive/warehouse
        location of default database for the warehouse
    
    
    
        hive.metastore.local
        true
    
    
       javax.jdo.option.ConnectionURL
       jdbc:mysql://localhost:3306/hive?useSSL=false 这里是数据库URL配置,很重要的地方,我在这里栽过跟头
        JDBC connect string for a JDBC metastore
    
    
        javax.jdo.option.ConnectionDriverName
        com.mysql.jdbc.Driver
        Driver class name for a JDBC metastore
    
    
       javax.jdo.option.ConnectionPassword
       你mysql的hive数据密码
    
    
        javax.jdo.option.ConnectionUserName
        root
        Username to use against metastore database
     


	12、配置完成: sudo cp hive-env.sh.template hive-env.sh
	13、初始化hive数据库 :
		cd /usr/local/hive/bin
		schematool  -dbType mysql -initSchema
		schematool  -dbType mysql -info
		
	14、运行hive: hive --service metastore

咳咳,基本上就到这里结束了,上面的代码都是我一个字一个字敲出来的,主要是我在配置环境的时候需要做日志,不然失败了就得重新来过。光是虚拟机就报废了好几个哈哈哈。网上找了一篇介绍什么是hadoop,偷懒百度了一下选择第一篇就发上来了。

PS:其实我也没看过

接下来还会发一些关于hive、hadoop、spark操作等的文章、日常工作中会遇到的问题以及解决方案。

咳咳,大家要是有什么不会的也不用问我,我也是看网上的文章自己花了三天时间配置好的,本人比较懒,也没想过走知识付费这条路哈哈哈,纯粹出于兴趣。

0 留言

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
验证码